FreeBSD/Linux Kernel Cross Reference
sys/i386at/blitvar.h
1 /*
2 * Mach Operating System
3 * Copyright (c) 1991,1990,1989 Carnegie Mellon University
4 * All Rights Reserved.
5 *
6 * Permission to use, copy, modify and distribute this software and its
7 * documentation is hereby granted, provided that both the copyright
8 * notice and this permission notice appear in all copies of the
9 * software, derivative works or modified versions, and any portions
10 * thereof, and that both notices appear in supporting documentation.
11 *
12 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15 *
16 * Carnegie Mellon requests users of this software to return to
17 *
18 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
19 * School of Computer Science
20 * Carnegie Mellon University
21 * Pittsburgh PA 15213-3890
22 *
23 * any improvements or extensions that they make and grant Carnegie Mellon
24 * the rights to redistribute these changes.
25 */
26 /*
27 * HISTORY
28 * $Log: blitvar.h,v $
29 * Revision 2.6 91/05/14 16:20:44 mrt
30 * Correcting copyright
31 *
32 * Revision 2.5 91/02/05 17:16:19 mrt
33 * Changed to new Mach copyright
34 * [91/02/01 17:42:08 mrt]
35 *
36 * Revision 2.4 91/01/08 17:32:38 rpd
37 * Trim $ header
38 * [90/11/27 11:44:11 rvb]
39 *
40 * Revision 2.3 90/11/26 14:49:17 rvb
41 * jsb bet me to XMK34, sigh ...
42 * [90/11/26 rvb]
43 * Synched 2.5 & 3.0 at I386q (r1.6.1.3) & XMK35 (r2.3)
44 * [90/11/15 rvb]
45 *
46 * Revision 2.2 90/05/03 15:41:23 dbg
47 * First checkin.
48 *
49 * Revision 1.6.1.2 90/02/28 15:49:08 rvb
50 * Fix numerous typo's in Olivetti disclaimer.
51 * [90/02/28 rvb]
52 *
53 * Revision 1.6.1.1 90/01/08 13:32:11 rvb
54 * Add Olivetti copyright.
55 * [90/01/08 rvb]
56 *
57 * Revision 1.6 89/09/20 17:27:22 rvb
58 * Revision 1.6 89/07/26 22:39:18 kupfer
59 * tweaks, better support for user code that wants to use the 786.
60 *
61 * Revision 1.5 89/07/07 17:56:13 kupfer
62 * X79 merge, 2nd attempt.
63 *
64 * Revision 1.4 89/03/09 20:05:08 rpd
65 * More cleanup.
66 *
67 * Revision 1.3 89/02/26 12:41:37 gm0w
68 * Changes for cleanup.
69 *
70 */
71
72 /* **********************************************************************
73 File: blitvar.h
74 Description: Definitions used by Blit driver other than h/w definition.
75
76 $ Header: $
77
78 Copyright Ing. C. Olivetti & C. S.p.A. 1988, 1989.
79 All rights reserved.
80 ********************************************************************** */
81 /*
82 Copyright 1988, 1989 by Olivetti Advanced Technology Center, Inc.,
83 Cupertino, California.
84
85 All Rights Reserved
86
87 Permission to use, copy, modify, and distribute this software and
88 its documentation for any purpose and without fee is hereby
89 granted, provided that the above copyright notice appears in all
90 copies and that both the copyright notice and this permission notice
91 appear in supporting documentation, and that the name of Olivetti
92 not be used in advertising or publicity pertaining to distribution
93 of the software without specific, written prior permission.
94
95 OLIVETTI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE
96 INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS,
97 IN NO EVENT SHALL OLIVETTI BE LIABLE FOR ANY SPECIAL, INDIRECT, OR
98 CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
99 LOSS OF USE, DATA OR PROFITS, WHETHER IN ACTION OF CONTRACT,
100 NEGLIGENCE, OR OTHER TORTIOUS ACTION, ARISING OUR OF OR IN CONNECTION
101 WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
102 */
103
104 #include <i386at/blitreg.h>
105 #include <sys/types.h>
106 #include <mach/boolean.h>
107
108
109 /*
110 * This is how we use the Blit's graphics memory. The frame buffer
111 * goes at the front, and the rest is used for miscellaneous
112 * allocations. Users can use the "spare" memory, but they should do
113 * an ioctl to find out which part of the memory is really free.
114 */
115
116 struct blitmem {
117 union blitfb {
118 u_char mono_fb[BLIT_MONOFBSIZE];
119 u_char color_fb[1]; /* place-holder */
120 } fb;
121 u_char spare[BLIT_MEMSIZE - sizeof(union blitfb)];
122 };
123
124
125 /*
126 * Macro to get from blitdev pointer to monochrome framebuffer.
127 */
128 #define BLIT_MONOFB(blt, fbptr) \
129 { struct blitmem *mymem = (struct blitmem *)((blt)->graphmem); \
130 fbptr = mymem->fb.mono_fb; \
131 }
132
133
134 /*
135 * Single-tile description that can be used to describe the entire
136 * screen.
137 */
138
139 struct screen_descrip {
140 STRIPHEADER strip;
141 TILEDESC tile;
142 };
143
144
145 /*
146 * Number of microseconds we're willing to wait for display processor
147 * to load its command block.
148 */
149
150 #define DP_RDYTIMEOUT 1000000
151
152
153 /*
154 * Conversion macros.
155 */
156
157 #define VM_TO_ADDR786(vmaddr, blit_base) \
158 ((int)(vmaddr) - (int)(blit_base))
159
160
161 extern boolean_t blit_present();
162 extern void blit_init();
Cache object: 555d61848f217e1c00aab4aee047cf24
|