|
|
1.1 root 1: /*
2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights
7: * Reserved. This file contains Original Code and/or Modifications of
8: * Original Code as defined in and that are subject to the Apple Public
9: * Source License Version 1.1 (the "License"). You may not use this file
10: * except in compliance with the License. Please obtain a copy of the
11: * License at http://www.apple.com/publicsource and read it before using
12: * this file.
13: *
14: * The Original Code and all software distributed under the License are
15: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
19: * License for the specific language governing rights and limitations
20: * under the License.
21: *
22: * @APPLE_LICENSE_HEADER_END@
23: */
24:
25: /* Copyright (c) 1991,1993 NeXT Computer, Inc. All rights reserved.
26: *
27: * machdep/hppa/xpr.h - hppa specific XPR definitions.
28: *
29: * HISTORY
30: * 14-Jul-93 Mac Gillon at NeXT
31: * Ported to hppa.
32: *
33: * 21-Jan-92 Doug Mitchell at NeXT
34: * Created.
35: */
36:
37: #ifdef KERNEL_BUILD
38: #import "uxpr.h"
39: #import "xpr_debug.h"
40: #else /* KERNEL_BUILD */
41: #import <mach/features.h>
42: #endif /* KERNEL_BUILD */
43:
44: #ifndef DDM_DEBUG
45: #define DDM_DEBUG XPR_DEBUG
46: #endif /* DDM_DEBUG */
47:
48: #import <driverkit/debugging.h>
49: #import <driverkit/ddmPrivate.h>
50: #import <driverkit/Device_ddm.h>
51: #import <driverkit/xpr_mi.h>
52:
53: /*
54: * Compile-time flags:
55: *
56: * UXPR - this enables driverkit-style xpr functionality. The module which
57: * implements this, machdep/hppa/ddm.c, is compiled into the kernel
58: * when this flag is true. Currently this is true in all nrw builds.
59: * DDM_DEBUG - enables actual uxpr() macros. Currrently this is true only
60: * in hppa DEBUG builds.
61: *
62: * RELEASE kernels compile in ddm.c to allow loadable servers to use the
63: * uxpr mechanism.
64: */
65:
66: #define XPR_TIMESTAMP event_get()
67:
68: /*
69: * SCSI. See mk/driverkit/xpr_mi.h for machine-independnet SCSI definitions.
70: */
71: #define XPR_SC 0x00000100 // controller h/w independent
72: #define XPR_SCHW 0x00000200 // controller h/w dependent
73:
74: #define xpr_sc(x, a, b, c, d, e) \
75: IODEBUG(XPR_IODEVICE_INDEX, XPR_SC, x, a, b, c, d, e)
76:
77: #define xpr_hw(x, a, b, c, d, e) \
78: IODEBUG(XPR_IODEVICE_INDEX, XPR_SCHW, x, a, b, c, d, e)
79:
80: /*
81: * Floppy.
82: */
83: #define XPR_FC 0x00002000 // controller level
84: #define XPR_FPIO 0x00004000 // PIO bytes
85: #define XPR_FTIME 0x00010000 // timer
86:
87: #define xpr_fc(x, a, b, c, d, e) \
88: IODEBUG(XPR_IODEVICE_INDEX, XPR_FC, x, a, b, c, d, e)
89:
90: #define xpr_pio(x, a, b, c, d, e) \
91: IODEBUG(XPR_IODEVICE_INDEX, XPR_FPIO, x, a, b, c, d, e)
92:
93: #define xpr_ftime(x, a, b, c, d, e) \
94: IODEBUG(XPR_IODEVICE_INDEX, XPR_FTIME, x, a, b, c, d, e)
95:
96: /*
97: * Ethernet.
98: */
99: #define XPR_ENTX 0x00100000 // transmit
100: #define XPR_ENRX 0x00200000 // receive
101: #define XPR_ENCOM 0x00400000 // common
102: #define XPR_ENBUF 0x00800000 // buffer allocation
103:
104: #define xpr_entx(x, a, b, c, d, e) \
105: IODEBUG(XPR_IODEVICE_INDEX, XPR_ENTX, x, a, b, c, d, e)
106:
107: #define xpr_enrx(x, a, b, c, d, e) \
108: IODEBUG(XPR_IODEVICE_INDEX, XPR_ENRX, x, a, b, c, d, e)
109:
110: #define xpr_encom(x, a, b, c, d, e) \
111: IODEBUG(XPR_IODEVICE_INDEX, XPR_ENCOM, x, a, b, c, d, e)
112:
113: #define xpr_enbuf(x, a, b, c, d, e) \
114: IODEBUG(XPR_IODEVICE_INDEX, XPR_ENBUF, x, a, b, c, d, e)
115:
116: /*
117: * Interrupt logic.
118: */
119: #define XPR_INTR 0x02000000
120:
121: #define xpr_intr(x, a, b, c, d, e) \
122: IODEBUG(XPR_IODEVICE_INDEX, XPR_INTR, x, a, b, c, d, e)
123:
124: /*
125: * Callouts.
126: */
127: #define XPR_CALL 0x04000000
128:
129: #define xpr_call(x, a, b, c, d, e) \
130: IODEBUG(XPR_IODEVICE_INDEX, XPR_CALL, x, a, b, c, d, e)
131:
132: /*
133: * Frame buffer.
134: */
135: #define XPR_FB 0x08000000
136:
137: #define xpr_fb(x, a, b, c, d, e) \
138: IODEBUG(XPR_IODEVICE_INDEX, XPR_FB, x, a, b, c, d, e)
139:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.