Add Intel SpeedStep and AMD PowerNow! support in Xen dom0. MSR operations are now compiled in by default. Note that MSR support in Xen depends on its version. rdmsr() should always succeed, but wrmsr() to certain registers can end in a NOOP. In that case, the error will be logged (see xm dmesg). Setting CPU frequency (SpeedStep) requires Xen 3.3 with the option cpufreq="dom0-kernel" passed down to hypervisor during boot. Compiled and tested for SpeedStep under i386 for XEN3_DOM0 and XEN3PAE_DOM0 by jym@. amd64 was tested by Joel Carnat. See also http://mail-index.netbsd.org/port-xen/2009/08/02/msg005213.html . Commit requested by bouyer@.diff -r1.42 -r1.43 src/sys/arch/amd64/conf/XEN3_DOM0
(jym)
--- src/sys/arch/amd64/conf/XEN3_DOM0 2009/04/20 20:50:37 1.42
+++ src/sys/arch/amd64/conf/XEN3_DOM0 2009/08/05 20:15:36 1.43
@@ -1,798 +1,805 @@ | @@ -1,798 +1,805 @@ | |||
1 | # $NetBSD: XEN3_DOM0,v 1.42 2009/04/20 20:50:37 cegger Exp $ | 1 | # $NetBSD: XEN3_DOM0,v 1.43 2009/08/05 20:15:36 jym Exp $ | |
2 | 2 | |||
3 | include "arch/amd64/conf/std.xen" | 3 | include "arch/amd64/conf/std.xen" | |
4 | 4 | |||
5 | options INCLUDE_CONFIG_FILE # embed config file in kernel binary | 5 | options INCLUDE_CONFIG_FILE # embed config file in kernel binary | |
6 | 6 | |||
7 | #options UVMHIST | 7 | #options UVMHIST | |
8 | #options UVMHIST_PRINT | 8 | #options UVMHIST_PRINT | |
9 | #options SYSCALL_DEBUG | 9 | #options SYSCALL_DEBUG | |
10 | 10 | |||
11 | maxusers 32 # estimated number of users | 11 | maxusers 32 # estimated number of users | |
12 | 12 | |||
13 | # | 13 | # | |
14 | options DOM0OPS | 14 | options DOM0OPS | |
15 | # boot messages with MPBIOS, acpi and ioapic can be quite large | 15 | # boot messages with MPBIOS, acpi and ioapic can be quite large | |
16 | options MSGBUFSIZE=24576 | 16 | options MSGBUFSIZE=24576 | |
17 | 17 | |||
18 | #options VM86 # virtual 8086 emulation | 18 | #options VM86 # virtual 8086 emulation | |
19 | #options USER_LDT # user-settable LDT; used by WINE | 19 | #options USER_LDT # user-settable LDT; used by WINE | |
20 | 20 | |||
21 | # Enhanced SpeedStep Technology in the Pentium M | |||
22 | options ENHANCED_SPEEDSTEP | |||
23 | #options EST_FREQ_USERWRITE # any user can set frequency | |||
24 | ||||
25 | # AMD PowerNow! and Cool`n'Quiet technology | |||
26 | options POWERNOW_K8 | |||
27 | ||||
21 | #options MTRR # memory-type range register syscall support | 28 | #options MTRR # memory-type range register syscall support | |
22 | 29 | |||
23 | #options CONSDEVNAME="\"xencons\"" | 30 | #options CONSDEVNAME="\"xencons\"" | |
24 | #options CONS_OVERRIDE | 31 | #options CONS_OVERRIDE | |
25 | 32 | |||
26 | options INSECURE # disable kernel security levels - X needs this | 33 | options INSECURE # disable kernel security levels - X needs this | |
27 | 34 | |||
28 | options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT | 35 | options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT | |
29 | options NTP # NTP phase/frequency locked loop | 36 | options NTP # NTP phase/frequency locked loop | |
30 | 37 | |||
31 | options KTRACE # system call tracing via ktrace(1) | 38 | options KTRACE # system call tracing via ktrace(1) | |
32 | 39 | |||
33 | options SYSVMSG # System V-like message queues | 40 | options SYSVMSG # System V-like message queues | |
34 | options SYSVSEM # System V-like semaphores | 41 | options SYSVSEM # System V-like semaphores | |
35 | options SYSVSHM # System V-like memory sharing | 42 | options SYSVSHM # System V-like memory sharing | |
36 | options P1003_1B_SEMAPHORE # p1003.1b semaphore support | 43 | options P1003_1B_SEMAPHORE # p1003.1b semaphore support | |
37 | 44 | |||
38 | 45 | |||
39 | options USERCONF # userconf(4) support | 46 | options USERCONF # userconf(4) support | |
40 | options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel | 47 | options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel | |
41 | 48 | |||
42 | # Diagnostic/debugging support options | 49 | # Diagnostic/debugging support options | |
43 | options DIAGNOSTIC # expensive kernel consistency checks | 50 | options DIAGNOSTIC # expensive kernel consistency checks | |
44 | options DEBUG # expensive debugging checks/support | 51 | options DEBUG # expensive debugging checks/support | |
45 | options KMEMSTATS # kernel memory statistics (vmstat -m) | 52 | options KMEMSTATS # kernel memory statistics (vmstat -m) | |
46 | options DDB # in-kernel debugger | 53 | options DDB # in-kernel debugger | |
47 | options DDB_ONPANIC=1 # see also sysctl(8): `ddb.onpanic' | 54 | options DDB_ONPANIC=1 # see also sysctl(8): `ddb.onpanic' | |
48 | options DDB_HISTORY_SIZE=512 # enable history editing in DDB | 55 | options DDB_HISTORY_SIZE=512 # enable history editing in DDB | |
49 | #options KGDB # remote debugger | 56 | #options KGDB # remote debugger | |
50 | #options KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x2f8,KGDB_DEVRATE=57600 | 57 | #options KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x2f8,KGDB_DEVRATE=57600 | |
51 | makeoptions DEBUG="-g" # compile full symbol table | 58 | makeoptions DEBUG="-g" # compile full symbol table | |
52 | makeoptions COPTS="-O2 -fno-omit-frame-pointer" | 59 | makeoptions COPTS="-O2 -fno-omit-frame-pointer" | |
53 | options DDB_COMMANDONENTER="trace;show registers" | 60 | options DDB_COMMANDONENTER="trace;show registers" | |
54 | 61 | |||
55 | # Compatibility options | 62 | # Compatibility options | |
56 | options COMPAT_15 # compatibility with NetBSD 1.5, | 63 | options COMPAT_15 # compatibility with NetBSD 1.5, | |
57 | options COMPAT_16 # NetBSD 1.6, | 64 | options COMPAT_16 # NetBSD 1.6, | |
58 | options COMPAT_20 # NetBSD 2.0, | 65 | options COMPAT_20 # NetBSD 2.0, | |
59 | options COMPAT_30 # NetBSD 3.0, | 66 | options COMPAT_30 # NetBSD 3.0, | |
60 | options COMPAT_40 # NetBSD 4.0 compatibility. | 67 | options COMPAT_40 # NetBSD 4.0 compatibility. | |
61 | options COMPAT_43 # and 4.3BSD | 68 | options COMPAT_43 # and 4.3BSD | |
62 | #options COMPAT_386BSD_MBRPART # recognize old partition ID | 69 | #options COMPAT_386BSD_MBRPART # recognize old partition ID | |
63 | options COMPAT_50 # NetBSD 5.0 | 70 | options COMPAT_50 # NetBSD 5.0 | |
64 | 71 | |||
65 | options COMPAT_OSSAUDIO | 72 | options COMPAT_OSSAUDIO | |
66 | options COMPAT_NETBSD32 | 73 | options COMPAT_NETBSD32 | |
67 | options COMPAT_LINUX | 74 | options COMPAT_LINUX | |
68 | options COMPAT_LINUX32 # req. COMPAT_LINUX and COMPAT_NETBSD32 | 75 | options COMPAT_LINUX32 # req. COMPAT_LINUX and COMPAT_NETBSD32 | |
69 | options EXEC_ELF32 | 76 | options EXEC_ELF32 | |
70 | options COMPAT_BSDPTY # /dev/[pt]ty?? ptys. | 77 | options COMPAT_BSDPTY # /dev/[pt]ty?? ptys. | |
71 | 78 | |||
72 | # File systems | 79 | # File systems | |
73 | file-system FFS # UFS | 80 | file-system FFS # UFS | |
74 | file-system EXT2FS # second extended file system (linux) | 81 | file-system EXT2FS # second extended file system (linux) | |
75 | file-system LFS # log-structured file system | 82 | file-system LFS # log-structured file system | |
76 | file-system MFS # memory file system | 83 | file-system MFS # memory file system | |
77 | file-system NFS # Network File System client | 84 | file-system NFS # Network File System client | |
78 | file-system NTFS # Windows/NT file system (experimental) | 85 | file-system NTFS # Windows/NT file system (experimental) | |
79 | file-system CD9660 # ISO 9660 + Rock Ridge file system | 86 | file-system CD9660 # ISO 9660 + Rock Ridge file system | |
80 | file-system MSDOSFS # MS-DOS file system | 87 | file-system MSDOSFS # MS-DOS file system | |
81 | file-system FDESC # /dev/fd | 88 | file-system FDESC # /dev/fd | |
82 | file-system KERNFS # /kern | 89 | file-system KERNFS # /kern | |
83 | file-system NULLFS # loopback file system | 90 | file-system NULLFS # loopback file system | |
84 | file-system OVERLAY # overlay file system | 91 | file-system OVERLAY # overlay file system | |
85 | file-system PORTAL # portal filesystem (still experimental) | 92 | file-system PORTAL # portal filesystem (still experimental) | |
86 | file-system PROCFS # /proc | 93 | file-system PROCFS # /proc | |
87 | file-system UMAPFS # NULLFS + uid and gid remapping | 94 | file-system UMAPFS # NULLFS + uid and gid remapping | |
88 | file-system UNION # union file system | 95 | file-system UNION # union file system | |
89 | file-system CODA # Coda File System; also needs vcoda (below) | 96 | file-system CODA # Coda File System; also needs vcoda (below) | |
90 | file-system SMBFS # experimental - CIFS; also needs nsmb (below) | 97 | file-system SMBFS # experimental - CIFS; also needs nsmb (below) | |
91 | file-system PTYFS # /dev/pts/N support | 98 | file-system PTYFS # /dev/pts/N support | |
92 | file-system TMPFS # Efficient memory file-system | 99 | file-system TMPFS # Efficient memory file-system | |
93 | 100 | |||
94 | # File system options | 101 | # File system options | |
95 | options QUOTA # UFS quotas | 102 | options QUOTA # UFS quotas | |
96 | #options FFS_EI # FFS Endian Independent support | 103 | #options FFS_EI # FFS Endian Independent support | |
97 | options WAPBL # File system journaling support - Experimental | 104 | options WAPBL # File system journaling support - Experimental | |
98 | #options UFS_DIRHASH # UFS Large Directory Hashing - Experimental | 105 | #options UFS_DIRHASH # UFS Large Directory Hashing - Experimental | |
99 | options NFSSERVER # Network File System server | 106 | options NFSSERVER # Network File System server | |
100 | #options FFS_NO_SNAPSHOT # No FFS snapshot support | 107 | #options FFS_NO_SNAPSHOT # No FFS snapshot support | |
101 | #options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and | 108 | #options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and | |
102 | # immutable) behave as system flags. | 109 | # immutable) behave as system flags. | |
103 | 110 | |||
104 | # Networking options | 111 | # Networking options | |
105 | #options GATEWAY # packet forwarding | 112 | #options GATEWAY # packet forwarding | |
106 | options INET # IP + ICMP + TCP + UDP | 113 | options INET # IP + ICMP + TCP + UDP | |
107 | options INET6 # IPV6 | 114 | options INET6 # IPV6 | |
108 | #options IPSEC # IP security | 115 | #options IPSEC # IP security | |
109 | #options IPSEC_ESP # IP security (encryption part; define w/IPSEC) | 116 | #options IPSEC_ESP # IP security (encryption part; define w/IPSEC) | |
110 | #options IPSEC_NAT_T # IPsec NAT traversal (NAT-T) | 117 | #options IPSEC_NAT_T # IPsec NAT traversal (NAT-T) | |
111 | #options IPSEC_DEBUG # debug for IP security | 118 | #options IPSEC_DEBUG # debug for IP security | |
112 | #options MROUTING # IP multicast routing | 119 | #options MROUTING # IP multicast routing | |
113 | #options PIM # Protocol Independent Multicast | 120 | #options PIM # Protocol Independent Multicast | |
114 | #options ISO,TPIP # OSI | 121 | #options ISO,TPIP # OSI | |
115 | #options EON # OSI tunneling over IP | 122 | #options EON # OSI tunneling over IP | |
116 | options NETATALK # AppleTalk networking protocols | 123 | options NETATALK # AppleTalk networking protocols | |
117 | options PPP_BSDCOMP # BSD-Compress compression support for PPP | 124 | options PPP_BSDCOMP # BSD-Compress compression support for PPP | |
118 | options PPP_DEFLATE # Deflate compression support for PPP | 125 | options PPP_DEFLATE # Deflate compression support for PPP | |
119 | options PPP_FILTER # Active filter support for PPP (requires bpf) | 126 | options PPP_FILTER # Active filter support for PPP (requires bpf) | |
120 | options PFIL_HOOKS # pfil(9) packet filter hooks | 127 | options PFIL_HOOKS # pfil(9) packet filter hooks | |
121 | options IPFILTER_LOG # ipmon(8) log support | 128 | options IPFILTER_LOG # ipmon(8) log support | |
122 | options IPFILTER_LOOKUP # ippool(8) support | 129 | options IPFILTER_LOOKUP # ippool(8) support | |
123 | #options IPFILTER_DEFAULT_BLOCK # block all packets by default | 130 | #options IPFILTER_DEFAULT_BLOCK # block all packets by default | |
124 | #options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG | 131 | #options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG | |
125 | 132 | |||
126 | #options ALTQ # Manipulate network interfaces' output queues | 133 | #options ALTQ # Manipulate network interfaces' output queues | |
127 | #options ALTQ_BLUE # Stochastic Fair Blue | 134 | #options ALTQ_BLUE # Stochastic Fair Blue | |
128 | #options ALTQ_CBQ # Class-Based Queueing | 135 | #options ALTQ_CBQ # Class-Based Queueing | |
129 | #options ALTQ_CDNR # Diffserv Traffic Conditioner | 136 | #options ALTQ_CDNR # Diffserv Traffic Conditioner | |
130 | #options ALTQ_FIFOQ # First-In First-Out Queue | 137 | #options ALTQ_FIFOQ # First-In First-Out Queue | |
131 | #options ALTQ_FLOWVALVE # RED/flow-valve (red-penalty-box) | 138 | #options ALTQ_FLOWVALVE # RED/flow-valve (red-penalty-box) | |
132 | #options ALTQ_HFSC # Hierarchical Fair Service Curve | 139 | #options ALTQ_HFSC # Hierarchical Fair Service Curve | |
133 | #options ALTQ_LOCALQ # Local queueing discipline | 140 | #options ALTQ_LOCALQ # Local queueing discipline | |
134 | #options ALTQ_PRIQ # Priority Queueing | 141 | #options ALTQ_PRIQ # Priority Queueing | |
135 | #options ALTQ_RED # Random Early Detection | 142 | #options ALTQ_RED # Random Early Detection | |
136 | #options ALTQ_RIO # RED with IN/OUT | 143 | #options ALTQ_RIO # RED with IN/OUT | |
137 | #options ALTQ_WFQ # Weighted Fair Queueing | 144 | #options ALTQ_WFQ # Weighted Fair Queueing | |
138 | 145 | |||
139 | options NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM | 146 | options NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM | |
140 | #options NFS_BOOT_BOOTSTATIC | 147 | #options NFS_BOOT_BOOTSTATIC | |
141 | #options NFS_BOOTSTATIC_MYIP="\"169.254.1.2\"" | 148 | #options NFS_BOOTSTATIC_MYIP="\"169.254.1.2\"" | |
142 | #options NFS_BOOTSTATIC_GWIP="\"169.254.1.1\"" | 149 | #options NFS_BOOTSTATIC_GWIP="\"169.254.1.1\"" | |
143 | #options NFS_BOOTSTATIC_MASK="\"255.255.255.0\"" | 150 | #options NFS_BOOTSTATIC_MASK="\"255.255.255.0\"" | |
144 | #options NFS_BOOTSTATIC_SERVADDR="\"169.254.1.1\"" | 151 | #options NFS_BOOTSTATIC_SERVADDR="\"169.254.1.1\"" | |
145 | #options NFS_BOOTSTATIC_SERVER="\"server:/path/to/root\"" | 152 | #options NFS_BOOTSTATIC_SERVER="\"server:/path/to/root\"" | |
146 | 153 | |||
147 | # | 154 | # | |
148 | # wscons options | 155 | # wscons options | |
149 | # | 156 | # | |
150 | # builtin terminal emulations | 157 | # builtin terminal emulations | |
151 | #options WSEMUL_SUN # sun terminal emulation | 158 | #options WSEMUL_SUN # sun terminal emulation | |
152 | options WSEMUL_VT100 # VT100 / VT220 emulation | 159 | options WSEMUL_VT100 # VT100 / VT220 emulation | |
153 | # different kernel output - see dev/wscons/wsdisplayvar.h | 160 | # different kernel output - see dev/wscons/wsdisplayvar.h | |
154 | options WS_KERNEL_FG=WSCOL_GREEN | 161 | options WS_KERNEL_FG=WSCOL_GREEN | |
155 | #options WS_KERNEL_BG=WSCOL_BLACK | 162 | #options WS_KERNEL_BG=WSCOL_BLACK | |
156 | # compatibility to other console drivers | 163 | # compatibility to other console drivers | |
157 | options WSDISPLAY_COMPAT_PCVT # emulate some ioctls | 164 | options WSDISPLAY_COMPAT_PCVT # emulate some ioctls | |
158 | options WSDISPLAY_COMPAT_SYSCONS # emulate some ioctls | 165 | options WSDISPLAY_COMPAT_SYSCONS # emulate some ioctls | |
159 | options WSDISPLAY_COMPAT_USL # VT handling | 166 | options WSDISPLAY_COMPAT_USL # VT handling | |
160 | options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes | 167 | options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes | |
161 | # see dev/pckbport/wskbdmap_mfii.c for implemented layouts | 168 | # see dev/pckbport/wskbdmap_mfii.c for implemented layouts | |
162 | #options PCKBD_LAYOUT="(KB_DE | KB_NODEAD)" | 169 | #options PCKBD_LAYOUT="(KB_DE | KB_NODEAD)" | |
163 | # allocate a number of virtual screens at autoconfiguration time | 170 | # allocate a number of virtual screens at autoconfiguration time | |
164 | #options WSDISPLAY_DEFAULTSCREENS=4 | 171 | #options WSDISPLAY_DEFAULTSCREENS=4 | |
165 | # use a large software cursor that doesn't blink | 172 | # use a large software cursor that doesn't blink | |
166 | options PCDISPLAY_SOFTCURSOR | 173 | options PCDISPLAY_SOFTCURSOR | |
167 | # modify the screen type of the console; defaults to "80x25" | 174 | # modify the screen type of the console; defaults to "80x25" | |
168 | #options VGA_CONSOLE_SCREENTYPE="\"80x24\"" | 175 | #options VGA_CONSOLE_SCREENTYPE="\"80x24\"" | |
169 | # work around a hardware bug that loaded fonts don't work; found on ATI cards | 176 | # work around a hardware bug that loaded fonts don't work; found on ATI cards | |
170 | #options VGA_CONSOLE_ATI_BROKEN_FONTSEL | 177 | #options VGA_CONSOLE_ATI_BROKEN_FONTSEL | |
171 | # console scrolling support. | 178 | # console scrolling support. | |
172 | options WSDISPLAY_SCROLLSUPPORT | 179 | options WSDISPLAY_SCROLLSUPPORT | |
173 | # enable VGA raster mode capable of displaying multilingual text on console | 180 | # enable VGA raster mode capable of displaying multilingual text on console | |
174 | #options VGA_RASTERCONSOLE | 181 | #options VGA_RASTERCONSOLE | |
175 | config netbsd root on ? type ? | 182 | config netbsd root on ? type ? | |
176 | #config netbsd root on wd0a type ffs | 183 | #config netbsd root on wd0a type ffs | |
177 | #config netbsd root on xennet0 type nfs | 184 | #config netbsd root on xennet0 type nfs | |
178 | 185 | |||
179 | mainbus0 at root | 186 | mainbus0 at root | |
180 | 187 | |||
181 | cpu* at mainbus? | 188 | cpu* at mainbus? | |
182 | 189 | |||
183 | # IPMI support | 190 | # IPMI support | |
184 | ipmi0 at mainbus? | 191 | ipmi0 at mainbus? | |
185 | 192 | |||
186 | hypervisor* at mainbus? # Xen hypervisor | 193 | hypervisor* at mainbus? # Xen hypervisor | |
187 | 194 | |||
188 | vcpu* at hypervisor? # Xen virtual CPUs | 195 | vcpu* at hypervisor? # Xen virtual CPUs | |
189 | 196 | |||
190 | xenbus* at hypervisor? # Xen virtual bus | 197 | xenbus* at hypervisor? # Xen virtual bus | |
191 | 198 | |||
192 | xencons* at hypervisor? # Xen virtual console | 199 | xencons* at hypervisor? # Xen virtual console | |
193 | 200 | |||
194 | acpi0 at hypervisor? | 201 | acpi0 at hypervisor? | |
195 | #options ACPI_ACTIVATE_DEV # If set, activate inactive devices | 202 | #options ACPI_ACTIVATE_DEV # If set, activate inactive devices | |
196 | options ACPI_SCANPCI # find PCI roots using ACPI | 203 | options ACPI_SCANPCI # find PCI roots using ACPI | |
197 | #options ACPICA_PEDANTIC # force strict conformance to the Spec. | 204 | #options ACPICA_PEDANTIC # force strict conformance to the Spec. | |
198 | options ACPIVERBOSE # verbose ACPI configuration messages | 205 | options ACPIVERBOSE # verbose ACPI configuration messages | |
199 | #options MIIVERBOSE # verbose PHY autoconfig messages | 206 | #options MIIVERBOSE # verbose PHY autoconfig messages | |
200 | options MPBIOS # configure CPUs and APICs using MPBIOS | 207 | options MPBIOS # configure CPUs and APICs using MPBIOS | |
201 | options MPDEBUG # MPBIOS configures PCI roots | 208 | options MPDEBUG # MPBIOS configures PCI roots | |
202 | options MPVERBOSE # verbose MPBIOS autoconfig messages | 209 | options MPVERBOSE # verbose MPBIOS autoconfig messages | |
203 | options MPBIOS_SCANPCI # MPBIOS configures PCI roots | 210 | options MPBIOS_SCANPCI # MPBIOS configures PCI roots | |
204 | #options PCI_ADDR_FIXUP # fixup PCI I/O addresses | 211 | #options PCI_ADDR_FIXUP # fixup PCI I/O addresses | |
205 | #options PCI_BUS_FIXUP # fixup PCI bus numbering | 212 | #options PCI_BUS_FIXUP # fixup PCI bus numbering | |
206 | #options PCI_INTR_FIXUP # fixup PCI interrupt routing | 213 | #options PCI_INTR_FIXUP # fixup PCI interrupt routing | |
207 | #options PCIVERBOSE # verbose PCI device autoconfig messages | 214 | #options PCIVERBOSE # verbose PCI device autoconfig messages | |
208 | #options USBVERBOSE # verbose USB device autoconfig messages | 215 | #options USBVERBOSE # verbose USB device autoconfig messages | |
209 | 216 | |||
210 | ioapic* at mainbus? apid ? | 217 | ioapic* at mainbus? apid ? | |
211 | 218 | |||
212 | # ACPI devices | 219 | # ACPI devices | |
213 | acpiacad* at acpi? # ACPI AC Adapter | 220 | acpiacad* at acpi? # ACPI AC Adapter | |
214 | acpibat* at acpi? # ACPI Battery | 221 | acpibat* at acpi? # ACPI Battery | |
215 | acpibut* at acpi? # ACPI Button | 222 | acpibut* at acpi? # ACPI Button | |
216 | acpidalb* at acpi? # ACPI Direct Application Launch Button | 223 | acpidalb* at acpi? # ACPI Direct Application Launch Button | |
217 | acpiec* at acpi? # ACPI Embedded Controller | 224 | acpiec* at acpi? # ACPI Embedded Controller | |
218 | acpilid* at acpi? # ACPI Lid Switch | 225 | acpilid* at acpi? # ACPI Lid Switch | |
219 | acpitz* at acpi? # ACPI Thermal Zone | 226 | acpitz* at acpi? # ACPI Thermal Zone | |
220 | aiboost* at acpi? # ASUS AI Booster Hardware monitor | 227 | aiboost* at acpi? # ASUS AI Booster Hardware monitor | |
221 | hpqlb* at acpi? # HP Quick Launch Buttons | 228 | hpqlb* at acpi? # HP Quick Launch Buttons | |
222 | pckbc* at acpi? # PC keyboard controller | 229 | pckbc* at acpi? # PC keyboard controller | |
223 | pcppi* at acpi? # AT-style speaker sound | 230 | pcppi* at acpi? # AT-style speaker sound | |
224 | 231 | |||
225 | # PCI bus support | 232 | # PCI bus support | |
226 | pci* at hypervisor? bus ? | 233 | pci* at hypervisor? bus ? | |
227 | pci* at pchb? bus ? | 234 | pci* at pchb? bus ? | |
228 | ppb* at pci? dev ? function ? # PCI-PCI bridges | 235 | ppb* at pci? dev ? function ? # PCI-PCI bridges | |
229 | pci* at ppb? bus ? | 236 | pci* at ppb? bus ? | |
230 | 237 | |||
231 | # pci backend devices, used for PCI pass-through. To export a PCI device | 238 | # pci backend devices, used for PCI pass-through. To export a PCI device | |
232 | # to a domU, the device has to be attached to the pciback driver in the dom0. | 239 | # to a domU, the device has to be attached to the pciback driver in the dom0. | |
233 | # you can force a device to attach to the pciback driver in dom0 passing | 240 | # you can force a device to attach to the pciback driver in dom0 passing | |
234 | # pciback.hide=(bus:dev.fun)(bus:dev.func) to the dom0 kernel boot parameters. | 241 | # pciback.hide=(bus:dev.fun)(bus:dev.func) to the dom0 kernel boot parameters. | |
235 | # bus and dev are 2-digits hex number, func is a single-digit number: | 242 | # bus and dev are 2-digits hex number, func is a single-digit number: | |
236 | # pciback.hide=(00:1a.0)(00:1a.1)(00:1a.7) | 243 | # pciback.hide=(00:1a.0)(00:1a.1)(00:1a.7) | |
237 | pciback* at pci? #pci backend device | 244 | pciback* at pci? #pci backend device | |
238 | 245 | |||
239 | # PCI bridges | 246 | # PCI bridges | |
240 | ichlpcib* at pci? dev ? function ? # Intel ICH PCI-ISA w/ timecounter, | 247 | ichlpcib* at pci? dev ? function ? # Intel ICH PCI-ISA w/ timecounter, | |
241 | # watchdog and SpeedStep support | 248 | # watchdog and SpeedStep support | |
242 | pcib* at pci? dev ? function ? # PCI-ISA bridges | 249 | pcib* at pci? dev ? function ? # PCI-ISA bridges | |
243 | pchb* at pci? dev ? function ? # PCI-Host bridges | 250 | pchb* at pci? dev ? function ? # PCI-Host bridges | |
244 | ppb* at pci? dev ? function ? # PCI-PCI bridges | 251 | ppb* at pci? dev ? function ? # PCI-PCI bridges | |
245 | # XXX 'puc's aren't really bridges, but there's no better place for them here | 252 | # XXX 'puc's aren't really bridges, but there's no better place for them here | |
246 | puc* at pci? dev ? function ? # PCI "universal" comm. cards | 253 | puc* at pci? dev ? function ? # PCI "universal" comm. cards | |
247 | 254 | |||
248 | agp* at pchb? | 255 | agp* at pchb? | |
249 | 256 | |||
250 | # ISA bus support | 257 | # ISA bus support | |
251 | isa0 at ichlpcib? | 258 | isa0 at ichlpcib? | |
252 | isa0 at pcib? | 259 | isa0 at pcib? | |
253 | isa0 at hypervisor? | 260 | isa0 at hypervisor? | |
254 | 261 | |||
255 | # Serial Devices | 262 | # Serial Devices | |
256 | 263 | |||
257 | # PCI serial interfaces | 264 | # PCI serial interfaces | |
258 | com* at puc? port ? # 16x50s on "universal" comm boards | 265 | com* at puc? port ? # 16x50s on "universal" comm boards | |
259 | cy* at pci? dev ? function ? # Cyclades Cyclom-Y serial boards | 266 | cy* at pci? dev ? function ? # Cyclades Cyclom-Y serial boards | |
260 | cz* at pci? dev ? function ? # Cyclades-Z multi-port serial boards | 267 | cz* at pci? dev ? function ? # Cyclades-Z multi-port serial boards | |
261 | 268 | |||
262 | # ISA serial interfaces | 269 | # ISA serial interfaces | |
263 | #options COM_HAYESP # adds Hayes ESP serial board support | 270 | #options COM_HAYESP # adds Hayes ESP serial board support | |
264 | # If a com port is used as Xen console it can't be used by the domain0 kernel | 271 | # If a com port is used as Xen console it can't be used by the domain0 kernel | |
265 | # and there's no easy way to detect this yet. Leave com0 out as it's the | 272 | # and there's no easy way to detect this yet. Leave com0 out as it's the | |
266 | # port usually used for serial console | 273 | # port usually used for serial console | |
267 | #com0 at isa? port 0x3f8 irq 4 # Standard PC serial ports | 274 | #com0 at isa? port 0x3f8 irq 4 # Standard PC serial ports | |
268 | com1 at isa? port 0x2f8 irq 3 | 275 | com1 at isa? port 0x2f8 irq 3 | |
269 | #com2 at isa? port 0x3e8 irq 5 | 276 | #com2 at isa? port 0x3e8 irq 5 | |
270 | #com3 at isa? port 0x2e8 irq 9 | 277 | #com3 at isa? port 0x2e8 irq 9 | |
271 | 278 | |||
272 | # Parallel Printer Interfaces | 279 | # Parallel Printer Interfaces | |
273 | 280 | |||
274 | # PCI parallel printer interfaces | 281 | # PCI parallel printer interfaces | |
275 | lpt* at puc? port ? # || ports on "universal" comm boards | 282 | lpt* at puc? port ? # || ports on "universal" comm boards | |
276 | 283 | |||
277 | # ISA parallel printer interfaces | 284 | # ISA parallel printer interfaces | |
278 | lpt0 at isa? port 0x378 irq 7 # standard PC parallel ports | 285 | lpt0 at isa? port 0x378 irq 7 # standard PC parallel ports | |
279 | 286 | |||
280 | # Hardware monitors | 287 | # Hardware monitors | |
281 | 288 | |||
282 | amdtemp* at pci? dev ? function ? # AMD CPU Temperature sensors | 289 | amdtemp* at pci? dev ? function ? # AMD CPU Temperature sensors | |
283 | 290 | |||
284 | # AMD 768 and 8111 power/ACPI controllers | 291 | # AMD 768 and 8111 power/ACPI controllers | |
285 | amdpm* at pci? dev ? function ? # RNG and SMBus 1.0 interface | 292 | amdpm* at pci? dev ? function ? # RNG and SMBus 1.0 interface | |
286 | #iic* at amdpm? # sensors below are on this bus | 293 | #iic* at amdpm? # sensors below are on this bus | |
287 | 294 | |||
288 | # Thermal monitor and fan controller | 295 | # Thermal monitor and fan controller | |
289 | #dbcool* at iic? addr 0x2C # Unknown other motherboard(s) | 296 | #dbcool* at iic? addr 0x2C # Unknown other motherboard(s) | |
290 | #dbcool* at iic? addr 0x2D # Tyan S2881 | 297 | #dbcool* at iic? addr 0x2D # Tyan S2881 | |
291 | #dbcool* at iic? addr 0x2E # Tyan S2882-D | 298 | #dbcool* at iic? addr 0x2E # Tyan S2882-D | |
292 | 299 | |||
293 | # LM7[89] and compatible hardware monitors | 300 | # LM7[89] and compatible hardware monitors | |
294 | #lm0 at isa? port 0x290 # other common: 0x280, 0x310, 0xc00 | 301 | #lm0 at isa? port 0x290 # other common: 0x280, 0x310, 0xc00 | |
295 | 302 | |||
296 | # VIA VT82C686A/VT8231 Hardware Monitor and Power Management TImer | 303 | # VIA VT82C686A/VT8231 Hardware Monitor and Power Management TImer | |
297 | #viaenv* at pci? dev ? function ? | 304 | #viaenv* at pci? dev ? function ? | |
298 | 305 | |||
299 | 306 | |||
300 | # PCI network interfaces | 307 | # PCI network interfaces | |
301 | age* at pci? dev ? function ? # Attansic/Atheros L1 Gigabit Ethernet | 308 | age* at pci? dev ? function ? # Attansic/Atheros L1 Gigabit Ethernet | |
302 | an* at pci? dev ? function ? # Aironet PC4500/PC4800 (802.11) | 309 | an* at pci? dev ? function ? # Aironet PC4500/PC4800 (802.11) | |
303 | ale* at pci? dev ? function ? # Attansic/Atheros L1E Ethernet | 310 | ale* at pci? dev ? function ? # Attansic/Atheros L1E Ethernet | |
304 | ath* at pci? dev ? function ? # Atheros 5210/5211/5212 802.11 | 311 | ath* at pci? dev ? function ? # Atheros 5210/5211/5212 802.11 | |
305 | atw* at pci? dev ? function ? # ADMtek ADM8211 (802.11) | 312 | atw* at pci? dev ? function ? # ADMtek ADM8211 (802.11) | |
306 | bce* at pci? dev ? function ? # Broadcom 4401 10/100 Ethernet | 313 | bce* at pci? dev ? function ? # Broadcom 4401 10/100 Ethernet | |
307 | bge* at pci? dev ? function ? # Broadcom 570x gigabit Ethernet | 314 | bge* at pci? dev ? function ? # Broadcom 570x gigabit Ethernet | |
308 | bnx* at pci? dev ? function ? # Broadcom NetXtremeII gigabit Ethernet | 315 | bnx* at pci? dev ? function ? # Broadcom NetXtremeII gigabit Ethernet | |
309 | dge* at pci? dev ? function ? # Intel 82597 10GbE LR | 316 | dge* at pci? dev ? function ? # Intel 82597 10GbE LR | |
310 | en* at pci? dev ? function ? # ENI/Adaptec ATM | 317 | en* at pci? dev ? function ? # ENI/Adaptec ATM | |
311 | ep* at pci? dev ? function ? # 3Com 3c59x | 318 | ep* at pci? dev ? function ? # 3Com 3c59x | |
312 | epic* at pci? dev ? function ? # SMC EPIC/100 Ethernet | 319 | epic* at pci? dev ? function ? # SMC EPIC/100 Ethernet | |
313 | esh* at pci? dev ? function ? # Essential HIPPI card | 320 | esh* at pci? dev ? function ? # Essential HIPPI card | |
314 | ex* at pci? dev ? function ? # 3Com 90x[BC] | 321 | ex* at pci? dev ? function ? # 3Com 90x[BC] | |
315 | fpa* at pci? dev ? function ? # DEC DEFPA FDDI | 322 | fpa* at pci? dev ? function ? # DEC DEFPA FDDI | |
316 | fxp* at pci? dev ? function ? # Intel EtherExpress PRO 10+/100B | 323 | fxp* at pci? dev ? function ? # Intel EtherExpress PRO 10+/100B | |
317 | gsip* at pci? dev ? function ? # NS83820 Gigabit Ethernet | 324 | gsip* at pci? dev ? function ? # NS83820 Gigabit Ethernet | |
318 | hme* at pci? dev ? function ? # Sun Microelectronics STP2002-STQ | 325 | hme* at pci? dev ? function ? # Sun Microelectronics STP2002-STQ | |
319 | ipw* at pci? dev ? function ? # Intel PRO/Wireless 2100 | 326 | ipw* at pci? dev ? function ? # Intel PRO/Wireless 2100 | |
320 | iwi* at pci? dev ? function ? # Intel PRO/Wireless 2200BG | 327 | iwi* at pci? dev ? function ? # Intel PRO/Wireless 2200BG | |
321 | iwn* at pci? dev ? function ? # Intel PRO/Wireless 4965AGN | 328 | iwn* at pci? dev ? function ? # Intel PRO/Wireless 4965AGN | |
322 | jme* at pci? dev ? function ? # JMicron JMC2[56]0 ethernet | 329 | jme* at pci? dev ? function ? # JMicron JMC2[56]0 ethernet | |
323 | le* at pci? dev ? function ? # PCnet-PCI Ethernet | 330 | le* at pci? dev ? function ? # PCnet-PCI Ethernet | |
324 | lii* at pci? dev ? function ? # Atheros L2 Fast-Ethernet | 331 | lii* at pci? dev ? function ? # Atheros L2 Fast-Ethernet | |
325 | lmc* at pci? dev ? function ? # Lan Media Corp SSI/HSSI/DS3 | 332 | lmc* at pci? dev ? function ? # Lan Media Corp SSI/HSSI/DS3 | |
326 | mskc* at pci? dev ? function ? # Marvell Yukon 2 Gigabit Ethernet | 333 | mskc* at pci? dev ? function ? # Marvell Yukon 2 Gigabit Ethernet | |
327 | msk* at mskc? # Marvell Yukon 2 Gigabit Ethernet | 334 | msk* at mskc? # Marvell Yukon 2 Gigabit Ethernet | |
328 | mtd* at pci? dev ? function ? # Myson MTD803 3-in-1 Ethernet | 335 | mtd* at pci? dev ? function ? # Myson MTD803 3-in-1 Ethernet | |
329 | ne* at pci? dev ? function ? # NE2000-compatible Ethernet | 336 | ne* at pci? dev ? function ? # NE2000-compatible Ethernet | |
330 | nfe* at pci? dev ? function ? # NVIDIA nForce Ethernet | 337 | nfe* at pci? dev ? function ? # NVIDIA nForce Ethernet | |
331 | ntwoc* at pci? dev ? function ? # Riscom/N2 PCI Sync Serial | 338 | ntwoc* at pci? dev ? function ? # Riscom/N2 PCI Sync Serial | |
332 | pcn* at pci? dev ? function ? # AMD PCnet-PCI Ethernet | 339 | pcn* at pci? dev ? function ? # AMD PCnet-PCI Ethernet | |
333 | ral* at pci? dev ? function ? # Ralink Technology RT25x0 802.11a/b/g | 340 | ral* at pci? dev ? function ? # Ralink Technology RT25x0 802.11a/b/g | |
334 | re* at pci? dev ? function ? # Realtek 8139C+/8169/8169S/8110S | 341 | re* at pci? dev ? function ? # Realtek 8139C+/8169/8169S/8110S | |
335 | rtk* at pci? dev ? function ? # Realtek 8129/8139 | 342 | rtk* at pci? dev ? function ? # Realtek 8129/8139 | |
336 | sf* at pci? dev ? function ? # Adaptec AIC-6915 Ethernet | 343 | sf* at pci? dev ? function ? # Adaptec AIC-6915 Ethernet | |
337 | sip* at pci? dev ? function ? # SiS 900/DP83815 Ethernet | 344 | sip* at pci? dev ? function ? # SiS 900/DP83815 Ethernet | |
338 | skc* at pci? dev ? function ? # SysKonnect SK9821 Gigabit Ethernet | 345 | skc* at pci? dev ? function ? # SysKonnect SK9821 Gigabit Ethernet | |
339 | sk* at skc? # SysKonnect SK9821 Gigabit Ethernet | 346 | sk* at skc? # SysKonnect SK9821 Gigabit Ethernet | |
340 | ste* at pci? dev ? function ? # Sundance ST-201 Ethernet | 347 | ste* at pci? dev ? function ? # Sundance ST-201 Ethernet | |
341 | stge* at pci? dev ? function ? # Sundance/Tamarack TC9021 Gigabit | 348 | stge* at pci? dev ? function ? # Sundance/Tamarack TC9021 Gigabit | |
342 | ti* at pci? dev ? function ? # Alteon ACEnic gigabit Ethernet | 349 | ti* at pci? dev ? function ? # Alteon ACEnic gigabit Ethernet | |
343 | tl* at pci? dev ? function ? # ThunderLAN-based Ethernet | 350 | tl* at pci? dev ? function ? # ThunderLAN-based Ethernet | |
344 | tlp* at pci? dev ? function ? # DECchip 21x4x and clones | 351 | tlp* at pci? dev ? function ? # DECchip 21x4x and clones | |
345 | txp* at pci? dev ? function ? # 3com 3cr990 | 352 | txp* at pci? dev ? function ? # 3com 3cr990 | |
346 | vge* at pci? dev ? function ? # VIATech VT612X Gigabit Ethernet | 353 | vge* at pci? dev ? function ? # VIATech VT612X Gigabit Ethernet | |
347 | vr* at pci? dev ? function ? # VIA Rhine Fast Ethernet | 354 | vr* at pci? dev ? function ? # VIA Rhine Fast Ethernet | |
348 | wi* at pci? dev ? function ? # Intersil Prism Mini-PCI (802.11b) | 355 | wi* at pci? dev ? function ? # Intersil Prism Mini-PCI (802.11b) | |
349 | wm* at pci? dev ? function ? # Intel 8254x gigabit | 356 | wm* at pci? dev ? function ? # Intel 8254x gigabit | |
350 | xge* at pci? dev ? function ? # Neterion (S2io) Xframe-I 10GbE | 357 | xge* at pci? dev ? function ? # Neterion (S2io) Xframe-I 10GbE | |
351 | 358 | |||
352 | # MII/PHY support | 359 | # MII/PHY support | |
353 | acphy* at mii? phy ? # Altima AC101 and AMD Am79c874 PHYs | 360 | acphy* at mii? phy ? # Altima AC101 and AMD Am79c874 PHYs | |
354 | amhphy* at mii? phy ? # AMD 79c901 Ethernet PHYs | 361 | amhphy* at mii? phy ? # AMD 79c901 Ethernet PHYs | |
355 | atphy* at mii? phy ? # Attansic/Atheros PHYs | 362 | atphy* at mii? phy ? # Attansic/Atheros PHYs | |
356 | bmtphy* at mii? phy ? # Broadcom BCM5201 and BCM5202 PHYs | 363 | bmtphy* at mii? phy ? # Broadcom BCM5201 and BCM5202 PHYs | |
357 | brgphy* at mii? phy ? # Broadcom BCM5400-family PHYs | 364 | brgphy* at mii? phy ? # Broadcom BCM5400-family PHYs | |
358 | ciphy* at mii? phy ? # Cicada CS8201 Gig-E PHYs | 365 | ciphy* at mii? phy ? # Cicada CS8201 Gig-E PHYs | |
359 | dmphy* at mii? phy ? # Davicom DM9101 PHYs | 366 | dmphy* at mii? phy ? # Davicom DM9101 PHYs | |
360 | exphy* at mii? phy ? # 3Com internal PHYs | 367 | exphy* at mii? phy ? # 3Com internal PHYs | |
361 | gentbi* at mii? phy ? # Generic Ten-Bit 1000BASE-[CLS]X PHYs | 368 | gentbi* at mii? phy ? # Generic Ten-Bit 1000BASE-[CLS]X PHYs | |
362 | glxtphy* at mii? phy ? # Level One LXT-1000 PHYs | 369 | glxtphy* at mii? phy ? # Level One LXT-1000 PHYs | |
363 | gphyter* at mii? phy ? # NS83861 Gig-E PHY | 370 | gphyter* at mii? phy ? # NS83861 Gig-E PHY | |
364 | icsphy* at mii? phy ? # Integrated Circuit Systems ICS189x | 371 | icsphy* at mii? phy ? # Integrated Circuit Systems ICS189x | |
365 | igphy* at mii? phy ? # Intel IGP01E1000 | 372 | igphy* at mii? phy ? # Intel IGP01E1000 | |
366 | ikphy* at mii? phy ? # Intel 82563 PHYs | 373 | ikphy* at mii? phy ? # Intel 82563 PHYs | |
367 | inphy* at mii? phy ? # Intel 82555 PHYs | 374 | inphy* at mii? phy ? # Intel 82555 PHYs | |
368 | iophy* at mii? phy ? # Intel 82553 PHYs | 375 | iophy* at mii? phy ? # Intel 82553 PHYs | |
369 | lxtphy* at mii? phy ? # Level One LXT-970 PHYs | 376 | lxtphy* at mii? phy ? # Level One LXT-970 PHYs | |
370 | makphy* at mii? phy ? # Marvell Semiconductor 88E1000 PHYs | 377 | makphy* at mii? phy ? # Marvell Semiconductor 88E1000 PHYs | |
371 | nsphy* at mii? phy ? # NS83840 PHYs | 378 | nsphy* at mii? phy ? # NS83840 PHYs | |
372 | nsphyter* at mii? phy ? # NS83843 PHYs | 379 | nsphyter* at mii? phy ? # NS83843 PHYs | |
373 | pnaphy* at mii? phy ? # generic HomePNA PHYs | 380 | pnaphy* at mii? phy ? # generic HomePNA PHYs | |
374 | qsphy* at mii? phy ? # Quality Semiconductor QS6612 PHYs | 381 | qsphy* at mii? phy ? # Quality Semiconductor QS6612 PHYs | |
375 | rgephy* at mii? phy ? # Realtek 8169S/8110S internal PHYs | 382 | rgephy* at mii? phy ? # Realtek 8169S/8110S internal PHYs | |
376 | rlphy* at mii? phy ? # Realtek 8139/8201L PHYs | 383 | rlphy* at mii? phy ? # Realtek 8139/8201L PHYs | |
377 | sqphy* at mii? phy ? # Seeq 80220/80221/80223 PHYs | 384 | sqphy* at mii? phy ? # Seeq 80220/80221/80223 PHYs | |
378 | tlphy* at mii? phy ? # ThunderLAN PHYs | 385 | tlphy* at mii? phy ? # ThunderLAN PHYs | |
379 | tqphy* at mii? phy ? # TDK Semiconductor PHYs | 386 | tqphy* at mii? phy ? # TDK Semiconductor PHYs | |
380 | ukphy* at mii? phy ? # generic unknown PHYs | 387 | ukphy* at mii? phy ? # generic unknown PHYs | |
381 | urlphy* at mii? phy ? # Realtek RTL8150L internal PHYs | 388 | urlphy* at mii? phy ? # Realtek RTL8150L internal PHYs | |
382 | 389 | |||
383 | # I2O devices | 390 | # I2O devices | |
384 | iop* at pci? dev ? function ? # I/O processor | 391 | iop* at pci? dev ? function ? # I/O processor | |
385 | iopsp* at iop? tid ? # SCSI/FC-AL ports | 392 | iopsp* at iop? tid ? # SCSI/FC-AL ports | |
386 | ld* at iop? tid ? # block devices | 393 | ld* at iop? tid ? # block devices | |
387 | # XXX dpti.c wants a processor type that is not assigned for x86-64 | 394 | # XXX dpti.c wants a processor type that is not assigned for x86-64 | |
388 | #dpti* at iop? tid 0 # DPT/Adaptec control interface | 395 | #dpti* at iop? tid 0 # DPT/Adaptec control interface | |
389 | 396 | |||
390 | # IDE and related devices | 397 | # IDE and related devices | |
391 | # PCI IDE controllers - see pciide(4) for supported hardware. | 398 | # PCI IDE controllers - see pciide(4) for supported hardware. | |
392 | # The 0x0001 flag force the driver to use DMA, even if the driver doesn't know | 399 | # The 0x0001 flag force the driver to use DMA, even if the driver doesn't know | |
393 | # how to set up DMA modes for this chip. This may work, or may cause | 400 | # how to set up DMA modes for this chip. This may work, or may cause | |
394 | # a machine hang with some controllers. | 401 | # a machine hang with some controllers. | |
395 | pciide* at pci? dev ? function ? flags 0x0000 # GENERIC pciide driver | 402 | pciide* at pci? dev ? function ? flags 0x0000 # GENERIC pciide driver | |
396 | acardide* at pci? dev ? function ? # Acard IDE controllers | 403 | acardide* at pci? dev ? function ? # Acard IDE controllers | |
397 | aceride* at pci? dev ? function ? # Acer Lab IDE controllers | 404 | aceride* at pci? dev ? function ? # Acer Lab IDE controllers | |
398 | ahcisata* at pci? dev ? function ? # AHCI SATA controllers | 405 | ahcisata* at pci? dev ? function ? # AHCI SATA controllers | |
399 | artsata* at pci? dev ? function ? # Intel i31244 SATA controller | 406 | artsata* at pci? dev ? function ? # Intel i31244 SATA controller | |
400 | cmdide* at pci? dev ? function ? # CMD tech IDE controllers | 407 | cmdide* at pci? dev ? function ? # CMD tech IDE controllers | |
401 | cypide* at pci? dev ? function ? # Cypress IDE controllers | 408 | cypide* at pci? dev ? function ? # Cypress IDE controllers | |
402 | geodeide* at pci? dev ? function ? # AMD Geode IDE controllers | 409 | geodeide* at pci? dev ? function ? # AMD Geode IDE controllers | |
403 | hptide* at pci? dev ? function ? # Triones/HighPoint IDE controllers | 410 | hptide* at pci? dev ? function ? # Triones/HighPoint IDE controllers | |
404 | iteide* at pci? dev ? function ? # IT Express IDE controllers | 411 | iteide* at pci? dev ? function ? # IT Express IDE controllers | |
405 | ixpide* at pci? dev ? function ? # ATI IXP IDE controllers | 412 | ixpide* at pci? dev ? function ? # ATI IXP IDE controllers | |
406 | jmide* at pci? dev ? function ? # JMicron PCI-e PATA/SATA controllers | 413 | jmide* at pci? dev ? function ? # JMicron PCI-e PATA/SATA controllers | |
407 | ahcisata* at jmide? | 414 | ahcisata* at jmide? | |
408 | optiide* at pci? dev ? function ? # Opti IDE controllers | 415 | optiide* at pci? dev ? function ? # Opti IDE controllers | |
409 | piixide* at pci? dev ? function ? # Intel IDE controllers | 416 | piixide* at pci? dev ? function ? # Intel IDE controllers | |
410 | pdcide* at pci? dev ? function ? # Promise IDE controllers | 417 | pdcide* at pci? dev ? function ? # Promise IDE controllers | |
411 | pdcsata* at pci? dev ? function ? # Promise SATA150 controllers | 418 | pdcsata* at pci? dev ? function ? # Promise SATA150 controllers | |
412 | rccide* at pci? dev ? function ? # ServerWorks IDE controllers | 419 | rccide* at pci? dev ? function ? # ServerWorks IDE controllers | |
413 | satalink* at pci? dev ? function ? # SiI SATALink controllers | 420 | satalink* at pci? dev ? function ? # SiI SATALink controllers | |
414 | siside* at pci? dev ? function ? # SiS IDE controllers | 421 | siside* at pci? dev ? function ? # SiS IDE controllers | |
415 | slide* at pci? dev ? function ? # Symphony Labs IDE controllers | 422 | slide* at pci? dev ? function ? # Symphony Labs IDE controllers | |
416 | svwsata* at pci? dev ? function ? # ServerWorks SATA controllers | 423 | svwsata* at pci? dev ? function ? # ServerWorks SATA controllers | |
417 | stpcide* at pci? dev ? function ? # STMicro STPC IDE controllers | 424 | stpcide* at pci? dev ? function ? # STMicro STPC IDE controllers | |
418 | viaide* at pci? dev ? function ? # VIA/AMD/Nvidia IDE controllers | 425 | viaide* at pci? dev ? function ? # VIA/AMD/Nvidia IDE controllers | |
419 | 426 | |||
420 | # ATA (IDE) bus support | 427 | # ATA (IDE) bus support | |
421 | atabus* at ata? | 428 | atabus* at ata? | |
422 | 429 | |||
423 | # IDE drives | 430 | # IDE drives | |
424 | # Flags are used only with controllers that support DMA operations | 431 | # Flags are used only with controllers that support DMA operations | |
425 | # and mode settings (e.g. some pciide controllers) | 432 | # and mode settings (e.g. some pciide controllers) | |
426 | # The lowest order four bits (rightmost digit) of the flags define the PIO | 433 | # The lowest order four bits (rightmost digit) of the flags define the PIO | |
427 | # mode to use, the next set of four bits the DMA mode and the third set the | 434 | # mode to use, the next set of four bits the DMA mode and the third set the | |
428 | # UltraDMA mode. For each set of four bits, the 3 lower bits define the mode | 435 | # UltraDMA mode. For each set of four bits, the 3 lower bits define the mode | |
429 | # to use, and the last bit must be 1 for this setting to be used. | 436 | # to use, and the last bit must be 1 for this setting to be used. | |
430 | # For DMA and UDMA, 0xf (1111) means 'disable'. | 437 | # For DMA and UDMA, 0xf (1111) means 'disable'. | |
431 | # 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'. | 438 | # 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'. | |
432 | # (0xc=1100, 0xa=1010, 0xf=1111) | 439 | # (0xc=1100, 0xa=1010, 0xf=1111) | |
433 | # 0x0000 means "use whatever the drive claims to support". | 440 | # 0x0000 means "use whatever the drive claims to support". | |
434 | wd* at atabus? drive ? flags 0x0000 | 441 | wd* at atabus? drive ? flags 0x0000 | |
435 | 442 | |||
436 | # ATA RAID configuration support, as found on some Promise controllers. | 443 | # ATA RAID configuration support, as found on some Promise controllers. | |
437 | pseudo-device ataraid | 444 | pseudo-device ataraid | |
438 | ld* at ataraid? vendtype ? unit ? | 445 | ld* at ataraid? vendtype ? unit ? | |
439 | 446 | |||
440 | # ATAPI bus support | 447 | # ATAPI bus support | |
441 | atapibus* at atapi? | 448 | atapibus* at atapi? | |
442 | 449 | |||
443 | # ATAPI devices | 450 | # ATAPI devices | |
444 | # flags have the same meaning as for IDE drives. | 451 | # flags have the same meaning as for IDE drives. | |
445 | cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives | 452 | cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives | |
446 | sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives | 453 | sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives | |
447 | st* at atapibus? drive ? flags 0x0000 # ATAPI tape drives | 454 | st* at atapibus? drive ? flags 0x0000 # ATAPI tape drives | |
448 | uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown | 455 | uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown | |
449 | 456 | |||
450 | # SCSI Controllers and Devices | 457 | # SCSI Controllers and Devices | |
451 | 458 | |||
452 | # PCI SCSI controllers | 459 | # PCI SCSI controllers | |
453 | adv* at pci? dev ? function ? # AdvanSys 1200[A,B], 9xx[U,UA] SCSI | 460 | adv* at pci? dev ? function ? # AdvanSys 1200[A,B], 9xx[U,UA] SCSI | |
454 | adw* at pci? dev ? function ? # AdvanSys 9x0UW[D], 3940U[2,3]W SCSI | 461 | adw* at pci? dev ? function ? # AdvanSys 9x0UW[D], 3940U[2,3]W SCSI | |
455 | ahc* at pci? dev ? function ? # Adaptec [23]94x, aic78x0 SCSI | 462 | ahc* at pci? dev ? function ? # Adaptec [23]94x, aic78x0 SCSI | |
456 | ahd* at pci? dev ? function ? # Adaptec 29320, 39320 (aic790x) SCSI | 463 | ahd* at pci? dev ? function ? # Adaptec 29320, 39320 (aic790x) SCSI | |
457 | bha* at pci? dev ? function ? # BusLogic 9xx SCSI | 464 | bha* at pci? dev ? function ? # BusLogic 9xx SCSI | |
458 | dpt* at pci? dev ? function ? # DPT SmartCache/SmartRAID | 465 | dpt* at pci? dev ? function ? # DPT SmartCache/SmartRAID | |
459 | iha* at pci? dev ? function ? # Initio INIC-940/950 SCSI | 466 | iha* at pci? dev ? function ? # Initio INIC-940/950 SCSI | |
460 | isp* at pci? dev ? function ? # Qlogic ISP [12]0x0 SCSI/FibreChannel | 467 | isp* at pci? dev ? function ? # Qlogic ISP [12]0x0 SCSI/FibreChannel | |
461 | mfi* at pci? dev ? function ? # LSI MegaRAID SAS | 468 | mfi* at pci? dev ? function ? # LSI MegaRAID SAS | |
462 | mly* at pci? dev ? function ? # Mylex AcceleRAID and eXtremeRAID | 469 | mly* at pci? dev ? function ? # Mylex AcceleRAID and eXtremeRAID | |
463 | mpt* at pci? dev ? function ? # LSI Fusion SCSI/FC | 470 | mpt* at pci? dev ? function ? # LSI Fusion SCSI/FC | |
464 | njs* at pci? dev ? function ? # Workbit NinjaSCSI-32 | 471 | njs* at pci? dev ? function ? # Workbit NinjaSCSI-32 | |
465 | pcscp* at pci? dev ? function ? # AMD 53c974 PCscsi-PCI SCSI | 472 | pcscp* at pci? dev ? function ? # AMD 53c974 PCscsi-PCI SCSI | |
466 | siop* at pci? dev ? function ? # Symbios 53c8xx SCSI | 473 | siop* at pci? dev ? function ? # Symbios 53c8xx SCSI | |
467 | esiop* at pci? dev ? function ? # Symbios 53c875 SCSI and newer | 474 | esiop* at pci? dev ? function ? # Symbios 53c875 SCSI and newer | |
468 | #options SIOP_SYMLED # drive the act. LED in software | 475 | #options SIOP_SYMLED # drive the act. LED in software | |
469 | trm* at pci? dev ? function ? # Tekram DC-395U/UW/F, DC-315/U SCSI | 476 | trm* at pci? dev ? function ? # Tekram DC-395U/UW/F, DC-315/U SCSI | |
470 | # SCSI bus support | 477 | # SCSI bus support | |
471 | scsibus* at scsi? | 478 | scsibus* at scsi? | |
472 | 479 | |||
473 | # SCSI devices | 480 | # SCSI devices | |
474 | sd* at scsibus? target ? lun ? # SCSI disk drives | 481 | sd* at scsibus? target ? lun ? # SCSI disk drives | |
475 | st* at scsibus? target ? lun ? # SCSI tape drives | 482 | st* at scsibus? target ? lun ? # SCSI tape drives | |
476 | cd* at scsibus? target ? lun ? # SCSI CD-ROM drives | 483 | cd* at scsibus? target ? lun ? # SCSI CD-ROM drives | |
477 | ch* at scsibus? target ? lun ? # SCSI autochangers | 484 | ch* at scsibus? target ? lun ? # SCSI autochangers | |
478 | ses* at scsibus? target ? lun ? # SCSI Enclosure Services devices | 485 | ses* at scsibus? target ? lun ? # SCSI Enclosure Services devices | |
479 | ss* at scsibus? target ? lun ? # SCSI scanners | 486 | ss* at scsibus? target ? lun ? # SCSI scanners | |
480 | uk* at scsibus? target ? lun ? # SCSI unknown | 487 | uk* at scsibus? target ? lun ? # SCSI unknown | |
481 | 488 | |||
482 | # RAID controllers and devices | 489 | # RAID controllers and devices | |
483 | aac* at pci? dev ? function ? # Adaptec AAC family | 490 | aac* at pci? dev ? function ? # Adaptec AAC family | |
484 | amr* at pci? dev ? function ? # AMI/LSI Logic MegaRAID | 491 | amr* at pci? dev ? function ? # AMI/LSI Logic MegaRAID | |
485 | arcmsr* at pci? dev ? function ? # Areca SATA RAID controllers | 492 | arcmsr* at pci? dev ? function ? # Areca SATA RAID controllers | |
486 | cac* at pci? dev ? function ? # Compaq PCI array controllers | 493 | cac* at pci? dev ? function ? # Compaq PCI array controllers | |
487 | ciss* at pci? dev ? function ? # HP Smart Array controllers | 494 | ciss* at pci? dev ? function ? # HP Smart Array controllers | |
488 | icp* at pci? dev ? function ? # ICP-Vortex GDT & Intel RAID | 495 | icp* at pci? dev ? function ? # ICP-Vortex GDT & Intel RAID | |
489 | mlx* at pci? dev ? function ? # Mylex DAC960 & DEC SWXCR family | 496 | mlx* at pci? dev ? function ? # Mylex DAC960 & DEC SWXCR family | |
490 | twe* at pci? dev ? function ? # 3ware Escalade RAID controllers | 497 | twe* at pci? dev ? function ? # 3ware Escalade RAID controllers | |
491 | twa* at pci? dev ? function ? # 3ware Escalade 95xx RAID controllers | 498 | twa* at pci? dev ? function ? # 3ware Escalade 95xx RAID controllers | |
492 | 499 | |||
493 | ld* at aac? unit ? # logical disk devices | 500 | ld* at aac? unit ? # logical disk devices | |
494 | ld* at amr? unit ? | 501 | ld* at amr? unit ? | |
495 | ld* at cac? unit ? | 502 | ld* at cac? unit ? | |
496 | ld* at icp? unit ? | 503 | ld* at icp? unit ? | |
497 | ld* at twe? unit ? | 504 | ld* at twe? unit ? | |
498 | ld* at twa? unit ? | 505 | ld* at twa? unit ? | |
499 | ld* at mlx? unit ? | 506 | ld* at mlx? unit ? | |
500 | 507 | |||
501 | icpsp* at icp? unit ? # SCSI pass-through | 508 | icpsp* at icp? unit ? # SCSI pass-through | |
502 | 509 | |||
503 | # wscons | 510 | # wscons | |
504 | pckbc0 at isa? # pc keyboard controller | 511 | pckbc0 at isa? # pc keyboard controller | |
505 | pckbd* at pckbc? # PC keyboard | 512 | pckbd* at pckbc? # PC keyboard | |
506 | pms* at pckbc? # PS/2 mouse for wsmouse | 513 | pms* at pckbc? # PS/2 mouse for wsmouse | |
507 | #options PMS_DISABLE_POWERHOOK # Disable PS/2 reset on resume | 514 | #options PMS_DISABLE_POWERHOOK # Disable PS/2 reset on resume | |
508 | #vga0 at isa? | 515 | #vga0 at isa? | |
509 | vga* at pci? dev ? function ? | 516 | vga* at pci? dev ? function ? | |
510 | #pcdisplay0 at isa? # CGA, MDA, EGA, HGA | 517 | #pcdisplay0 at isa? # CGA, MDA, EGA, HGA | |
511 | #machfb* at pci? dev ? function ? # ATI Mach64 framebuffer driver | 518 | #machfb* at pci? dev ? function ? # ATI Mach64 framebuffer driver | |
512 | wsdisplay* at vga? console ? | 519 | wsdisplay* at vga? console ? | |
513 | #wsdisplay* at pcdisplay? console ? | 520 | #wsdisplay* at pcdisplay? console ? | |
514 | #wsdisplay* at machfb? console ? | 521 | #wsdisplay* at machfb? console ? | |
515 | wskbd* at pckbd? console ? | 522 | wskbd* at pckbd? console ? | |
516 | wsmouse* at pms? mux 0 | 523 | wsmouse* at pms? mux 0 | |
517 | 524 | |||
518 | # USB Controller and Devices | 525 | # USB Controller and Devices | |
519 | 526 | |||
520 | # PCI USB controllers | 527 | # PCI USB controllers | |
521 | ehci* at pci? dev ? function ? # Enhanced Host Controller | 528 | ehci* at pci? dev ? function ? # Enhanced Host Controller | |
522 | ohci* at pci? dev ? function ? # Open Host Controller | 529 | ohci* at pci? dev ? function ? # Open Host Controller | |
523 | uhci* at pci? dev ? function ? # Universal Host Controller (Intel) | 530 | uhci* at pci? dev ? function ? # Universal Host Controller (Intel) | |
524 | 531 | |||
525 | # USB bus support | 532 | # USB bus support | |
526 | usb* at ehci? | 533 | usb* at ehci? | |
527 | usb* at ohci? | 534 | usb* at ohci? | |
528 | usb* at uhci? | 535 | usb* at uhci? | |
529 | 536 | |||
530 | # USB Hubs | 537 | # USB Hubs | |
531 | uhub* at usb? | 538 | uhub* at usb? | |
532 | uhub* at uhub? port ? | 539 | uhub* at uhub? port ? | |
533 | 540 | |||
534 | # USB HID device | 541 | # USB HID device | |
535 | uhidev* at uhub? port ? configuration ? interface ? | 542 | uhidev* at uhub? port ? configuration ? interface ? | |
536 | 543 | |||
537 | # USB Mice | 544 | # USB Mice | |
538 | ums* at uhidev? reportid ? | 545 | ums* at uhidev? reportid ? | |
539 | wsmouse* at ums? mux 0 | 546 | wsmouse* at ums? mux 0 | |
540 | 547 | |||
541 | # USB eGalax touch-panel | 548 | # USB eGalax touch-panel | |
542 | uep* at uhub? port ? | 549 | uep* at uhub? port ? | |
543 | wsmouse* at uep? mux 0 | 550 | wsmouse* at uep? mux 0 | |
544 | 551 | |||
545 | # USB Keyboards | 552 | # USB Keyboards | |
546 | ukbd* at uhidev? reportid ? | 553 | ukbd* at uhidev? reportid ? | |
547 | wskbd* at ukbd? console ? mux 1 | 554 | wskbd* at ukbd? console ? mux 1 | |
548 | 555 | |||
549 | # USB serial adapter | 556 | # USB serial adapter | |
550 | ucycom* at uhidev? reportid ? | 557 | ucycom* at uhidev? reportid ? | |
551 | 558 | |||
552 | # USB Generic HID devices | 559 | # USB Generic HID devices | |
553 | uhid* at uhidev? reportid ? | 560 | uhid* at uhidev? reportid ? | |
554 | 561 | |||
555 | # USB Printer | 562 | # USB Printer | |
556 | ulpt* at uhub? port ? configuration ? interface ? | 563 | ulpt* at uhub? port ? configuration ? interface ? | |
557 | 564 | |||
558 | # USB Modem | 565 | # USB Modem | |
559 | umodem* at uhub? port ? configuration ? | 566 | umodem* at uhub? port ? configuration ? | |
560 | ucom* at umodem? | 567 | ucom* at umodem? | |
561 | 568 | |||
562 | # USB Mass Storage | 569 | # USB Mass Storage | |
563 | umass* at uhub? port ? configuration ? interface ? | 570 | umass* at uhub? port ? configuration ? interface ? | |
564 | wd* at umass? | 571 | wd* at umass? | |
565 | 572 | |||
566 | # USB audio | 573 | # USB audio | |
567 | uaudio* at uhub? port ? configuration ? | 574 | uaudio* at uhub? port ? configuration ? | |
568 | 575 | |||
569 | # USB MIDI | 576 | # USB MIDI | |
570 | umidi* at uhub? port ? configuration ? | 577 | umidi* at uhub? port ? configuration ? | |
571 | 578 | |||
572 | # USB IrDA | 579 | # USB IrDA | |
573 | # USB-IrDA bridge spec | 580 | # USB-IrDA bridge spec | |
574 | uirda* at uhub? port ? configuration ? interface ? | 581 | uirda* at uhub? port ? configuration ? interface ? | |
575 | irframe* at uirda? | 582 | irframe* at uirda? | |
576 | 583 | |||
577 | # SigmaTel STIr4200 USB/IrDA Bridge | 584 | # SigmaTel STIr4200 USB/IrDA Bridge | |
578 | ustir* at uhub? port ? | 585 | ustir* at uhub? port ? | |
579 | irframe* at ustir? | 586 | irframe* at ustir? | |
580 | 587 | |||
581 | # USB Ethernet adapters | 588 | # USB Ethernet adapters | |
582 | aue* at uhub? port ? # ADMtek AN986 Pegasus based adapters | 589 | aue* at uhub? port ? # ADMtek AN986 Pegasus based adapters | |
583 | axe* at uhub? port ? # ASIX AX88172 based adapters | 590 | axe* at uhub? port ? # ASIX AX88172 based adapters | |
584 | cdce* at uhub? port ? # CDC, Ethernet Networking Control Model | 591 | cdce* at uhub? port ? # CDC, Ethernet Networking Control Model | |
585 | cue* at uhub? port ? # CATC USB-EL1201A based adapters | 592 | cue* at uhub? port ? # CATC USB-EL1201A based adapters | |
586 | kue* at uhub? port ? # Kawasaki LSI KL5KUSB101B based adapters | 593 | kue* at uhub? port ? # Kawasaki LSI KL5KUSB101B based adapters | |
587 | udav* at uhub? port ? # Davicom DM9601 based adapters | 594 | udav* at uhub? port ? # Davicom DM9601 based adapters | |
588 | url* at uhub? port ? # Realtek RTL8150L based adapters | 595 | url* at uhub? port ? # Realtek RTL8150L based adapters | |
589 | 596 | |||
590 | # USB 802.11 adapters | 597 | # USB 802.11 adapters | |
591 | atu* at uhub? port ? # Atmel AT76C50XX based adapters | 598 | atu* at uhub? port ? # Atmel AT76C50XX based adapters | |
592 | ral* at uhub? port ? # Ralink Technology RT25x0 802.11a/b/g | 599 | ral* at uhub? port ? # Ralink Technology RT25x0 802.11a/b/g | |
593 | rum* at uhub? port ? # Ralink Technology RT2501/RT2601 802.11a/b/g | 600 | rum* at uhub? port ? # Ralink Technology RT2501/RT2601 802.11a/b/g | |
594 | 601 | |||
595 | # Prolific PL2301/PL2302 host-to-host adapter | 602 | # Prolific PL2301/PL2302 host-to-host adapter | |
596 | upl* at uhub? port ? | 603 | upl* at uhub? port ? | |
597 | 604 | |||
598 | # Serial adapters | 605 | # Serial adapters | |
599 | ubsa* at uhub? port ? # Belkin serial adapter | 606 | ubsa* at uhub? port ? # Belkin serial adapter | |
600 | ucom* at ubsa? portno ? | 607 | ucom* at ubsa? portno ? | |
601 | 608 | |||
602 | uftdi* at uhub? port ? # FTDI FT8U100AX serial adapter | 609 | uftdi* at uhub? port ? # FTDI FT8U100AX serial adapter | |
603 | ucom* at uftdi? portno ? | 610 | ucom* at uftdi? portno ? | |
604 | 611 | |||
605 | umct* at uhub? port ? # MCT USB-RS232 serial adapter | 612 | umct* at uhub? port ? # MCT USB-RS232 serial adapter | |
606 | ucom* at umct? portno ? | 613 | ucom* at umct? portno ? | |
607 | 614 | |||
608 | uplcom* at uhub? port ? # I/O DATA USB-RSAQ2 serial adapter | 615 | uplcom* at uhub? port ? # I/O DATA USB-RSAQ2 serial adapter | |
609 | ucom* at uplcom? portno ? | 616 | ucom* at uplcom? portno ? | |
610 | 617 | |||
611 | uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter | 618 | uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter | |
612 | ucom* at uvscom? portno ? | 619 | ucom* at uvscom? portno ? | |
613 | 620 | |||
614 | # Diamond Multimedia Rio 500 | 621 | # Diamond Multimedia Rio 500 | |
615 | urio* at uhub? port ? | 622 | urio* at uhub? port ? | |
616 | 623 | |||
617 | # USB Handspring Visor | 624 | # USB Handspring Visor | |
618 | uvisor* at uhub? port ? | 625 | uvisor* at uhub? port ? | |
619 | ucom* at uvisor? | 626 | ucom* at uvisor? | |
620 | 627 | |||
621 | # Kyocera AIR-EDGE PHONE | 628 | # Kyocera AIR-EDGE PHONE | |
622 | ukyopon* at uhub? port ? | 629 | ukyopon* at uhub? port ? | |
623 | ucom* at ukyopon? portno ? | 630 | ucom* at ukyopon? portno ? | |
624 | 631 | |||
625 | # USB scanners | 632 | # USB scanners | |
626 | uscanner* at uhub? port ? | 633 | uscanner* at uhub? port ? | |
627 | 634 | |||
628 | # USB scanners that use SCSI emulation, e.g., HP5300 | 635 | # USB scanners that use SCSI emulation, e.g., HP5300 | |
629 | usscanner* at uhub? port ? | 636 | usscanner* at uhub? port ? | |
630 | 637 | |||
631 | # Y@P firmware loader | 638 | # Y@P firmware loader | |
632 | uyap* at uhub? port ? | 639 | uyap* at uhub? port ? | |
633 | 640 | |||
634 | # D-Link DSB-R100 USB radio | 641 | # D-Link DSB-R100 USB radio | |
635 | udsbr* at uhub? port ? | 642 | udsbr* at uhub? port ? | |
636 | radio* at udsbr? | 643 | radio* at udsbr? | |
637 | 644 | |||
638 | # USB Generic driver | 645 | # USB Generic driver | |
639 | ugen* at uhub? port ? | 646 | ugen* at uhub? port ? | |
640 | 647 | |||
641 | # PCI IEEE1394 controllers | 648 | # PCI IEEE1394 controllers | |
642 | fwohci* at pci? dev ? function ? # IEEE1394 Open Host Controller | 649 | fwohci* at pci? dev ? function ? # IEEE1394 Open Host Controller | |
643 | 650 | |||
644 | # CardBus IEEE1394 controllers | 651 | # CardBus IEEE1394 controllers | |
645 | #fwohci* at cardbus? function ? # IEEE1394 Open Host Controller | 652 | #fwohci* at cardbus? function ? # IEEE1394 Open Host Controller | |
646 | 653 | |||
647 | ieee1394if* at fwohci? | 654 | ieee1394if* at fwohci? | |
648 | fwip* at ieee1394if? # IP over IEEE1394 | 655 | fwip* at ieee1394if? # IP over IEEE1394 | |
649 | sbp* at ieee1394if? euihi ? euilo ? # SCSI over IEEE1394 | 656 | sbp* at ieee1394if? euihi ? euilo ? # SCSI over IEEE1394 | |
650 | 657 | |||
651 | # PCI audio devices | 658 | # PCI audio devices | |
652 | auacer* at pci? dev ? function ? # ALi M5455 integrated AC'97 Audio | 659 | auacer* at pci? dev ? function ? # ALi M5455 integrated AC'97 Audio | |
653 | auich* at pci? dev ? function ? # Intel ICH integrated AC'97 Audio | 660 | auich* at pci? dev ? function ? # Intel ICH integrated AC'97 Audio | |
654 | auixp* at pci? dev ? function ? # ATI IXP AC'97 Audio | 661 | auixp* at pci? dev ? function ? # ATI IXP AC'97 Audio | |
655 | autri* at pci? dev ? function ? # Trident 4DWAVE based AC'97 Audio | 662 | autri* at pci? dev ? function ? # Trident 4DWAVE based AC'97 Audio | |
656 | auvia* at pci? dev ? function ? # VIA VT82C686A integrated AC'97 Audio | 663 | auvia* at pci? dev ? function ? # VIA VT82C686A integrated AC'97 Audio | |
657 | azalia* at pci? dev ? function ? # High Definition Audio | 664 | azalia* at pci? dev ? function ? # High Definition Audio | |
658 | clcs* at pci? dev ? function ? # Cirrus Logic CS4280 | 665 | clcs* at pci? dev ? function ? # Cirrus Logic CS4280 | |
659 | clct* at pci? dev ? function ? # Cirrus Logic CS4281 | 666 | clct* at pci? dev ? function ? # Cirrus Logic CS4281 | |
660 | cmpci* at pci? dev ? function ? # C-Media CMI8338/8738 | 667 | cmpci* at pci? dev ? function ? # C-Media CMI8338/8738 | |
661 | eap* at pci? dev ? function ? # Ensoniq AudioPCI | 668 | eap* at pci? dev ? function ? # Ensoniq AudioPCI | |
662 | emuxki* at pci? dev ? function ? # Creative SBLive! and PCI512 | 669 | emuxki* at pci? dev ? function ? # Creative SBLive! and PCI512 | |
663 | esa* at pci? dev ? function ? # ESS Allegro-1 / Maestro-3 PCI Audio | 670 | esa* at pci? dev ? function ? # ESS Allegro-1 / Maestro-3 PCI Audio | |
664 | esm* at pci? dev ? function ? # ESS Maestro-1/2/2e PCI Audio Accelerator | 671 | esm* at pci? dev ? function ? # ESS Maestro-1/2/2e PCI Audio Accelerator | |
665 | eso* at pci? dev ? function ? # ESS Solo-1 PCI AudioDrive | 672 | eso* at pci? dev ? function ? # ESS Solo-1 PCI AudioDrive | |
666 | fms* at pci? dev ? function ? # Forte Media FM801 | 673 | fms* at pci? dev ? function ? # Forte Media FM801 | |
667 | neo* at pci? dev ? function ? # NeoMagic 256 AC'97 Audio | 674 | neo* at pci? dev ? function ? # NeoMagic 256 AC'97 Audio | |
668 | sv* at pci? dev ? function ? # S3 SonicVibes | 675 | sv* at pci? dev ? function ? # S3 SonicVibes | |
669 | yds* at pci? dev ? function ? # Yamaha DS-1 PCI Audio | 676 | yds* at pci? dev ? function ? # Yamaha DS-1 PCI Audio | |
670 | 677 | |||
671 | # OPL[23] FM synthesizers | 678 | # OPL[23] FM synthesizers | |
672 | #opl0 at isa? port 0x388 # use only if not attached to sound card | 679 | #opl0 at isa? port 0x388 # use only if not attached to sound card | |
673 | opl* at cmpci? flags 1 | 680 | opl* at cmpci? flags 1 | |
674 | opl* at eso? | 681 | opl* at eso? | |
675 | opl* at fms? | 682 | opl* at fms? | |
676 | opl* at sv? | 683 | opl* at sv? | |
677 | opl* at yds? | 684 | opl* at yds? | |
678 | 685 | |||
679 | # Audio support | 686 | # Audio support | |
680 | audio* at audiobus? | 687 | audio* at audiobus? | |
681 | 688 | |||
682 | # MPU 401 UARTs | 689 | # MPU 401 UARTs | |
683 | #mpu* at isa? port 0x330 irq 9 # MPU401 or compatible card | 690 | #mpu* at isa? port 0x330 irq 9 # MPU401 or compatible card | |
684 | mpu* at cmpci? | 691 | mpu* at cmpci? | |
685 | mpu* at eso? | 692 | mpu* at eso? | |
686 | mpu* at fms? | 693 | mpu* at fms? | |
687 | mpu* at yds? | 694 | mpu* at yds? | |
688 | 695 | |||
689 | # MIDI support | 696 | # MIDI support | |
690 | midi* at midibus? | 697 | midi* at midibus? | |
691 | 698 | |||
692 | # Bluetooth Controller and Device support | 699 | # Bluetooth Controller and Device support | |
693 | 700 | |||
694 | # Bluetooth PCMCIA Controllers | 701 | # Bluetooth PCMCIA Controllers | |
695 | #bt3c* at pcmcia? function ? # 3Com 3CRWB6096-A | 702 | #bt3c* at pcmcia? function ? # 3Com 3CRWB6096-A | |
696 | #btbc* at pcmcia? function ? # AnyCom BlueCard LSE041/039/139 | 703 | #btbc* at pcmcia? function ? # AnyCom BlueCard LSE041/039/139 | |
697 | 704 | |||
698 | # Bluetooth USB Controllers | 705 | # Bluetooth USB Controllers | |
699 | ubt* at uhub? port ? | 706 | ubt* at uhub? port ? | |
700 | 707 | |||
701 | # Bluetooth Device Hub | 708 | # Bluetooth Device Hub | |
702 | #bthub* at bt3c? | 709 | #bthub* at bt3c? | |
703 | #bthub* at btbh? | 710 | #bthub* at btbh? | |
704 | bthub* at ubt? | 711 | bthub* at ubt? | |
705 | 712 | |||
706 | # Bluetooth HID support | 713 | # Bluetooth HID support | |
707 | bthidev* at bthub? | 714 | bthidev* at bthub? | |
708 | 715 | |||
709 | # Bluetooth Mouse | 716 | # Bluetooth Mouse | |
710 | btms* at bthidev? reportid ? | 717 | btms* at bthidev? reportid ? | |
711 | wsmouse* at btms? mux 0 | 718 | wsmouse* at btms? mux 0 | |
712 | 719 | |||
713 | # Bluetooth Keyboard | 720 | # Bluetooth Keyboard | |
714 | btkbd* at bthidev? reportid ? | 721 | btkbd* at bthidev? reportid ? | |
715 | wskbd* at btkbd? console ? mux 1 | 722 | wskbd* at btkbd? console ? mux 1 | |
716 | 723 | |||
717 | # Bluetooth Audio support | 724 | # Bluetooth Audio support | |
718 | btsco* at bthub? | 725 | btsco* at bthub? | |
719 | 726 | |||
720 | # Cryptographic Devices | 727 | # Cryptographic Devices | |
721 | 728 | |||
722 | # PCI cryptographic devices | 729 | # PCI cryptographic devices | |
723 | hifn* at pci? dev ? function ? # Hifn 7755/7811/795x | 730 | hifn* at pci? dev ? function ? # Hifn 7755/7811/795x | |
724 | ubsec* at pci? dev ? function ? # Broadcom 5501/5601/580x/582x | 731 | ubsec* at pci? dev ? function ? # Broadcom 5501/5601/580x/582x | |
725 | 732 | |||
726 | cinclude "arch/amd64/conf/GENERIC.local" | 733 | cinclude "arch/amd64/conf/GENERIC.local" | |
727 | 734 | |||
728 | # Pseudo-Devices | 735 | # Pseudo-Devices | |
729 | 736 | |||
730 | # | 737 | # | |
731 | # accept filters | 738 | # accept filters | |
732 | pseudo-device accf_data # "dataready" accept filter | 739 | pseudo-device accf_data # "dataready" accept filter | |
733 | pseudo-device accf_http # "httpready" accept filter | 740 | pseudo-device accf_http # "httpready" accept filter | |
734 | 741 | |||
735 | pseudo-device crypto # /dev/crypto device | 742 | pseudo-device crypto # /dev/crypto device | |
736 | pseudo-device swcrypto # software crypto implementation | 743 | pseudo-device swcrypto # software crypto implementation | |
737 | 744 | |||
738 | # disk/mass storage pseudo-devices | 745 | # disk/mass storage pseudo-devices | |
739 | pseudo-device bio # RAID control device driver | 746 | pseudo-device bio # RAID control device driver | |
740 | pseudo-device ccd 4 # concatenated/striped disk devices | 747 | pseudo-device ccd 4 # concatenated/striped disk devices | |
741 | pseudo-device cgd 4 # cryptographic disk devices | 748 | pseudo-device cgd 4 # cryptographic disk devices | |
742 | pseudo-device raid 8 # RAIDframe disk driver | 749 | pseudo-device raid 8 # RAIDframe disk driver | |
743 | options RAID_AUTOCONFIG # auto-configuration of RAID components | 750 | options RAID_AUTOCONFIG # auto-configuration of RAID components | |
744 | # Options to enable various other RAIDframe RAID types. | 751 | # Options to enable various other RAIDframe RAID types. | |
745 | #options RF_INCLUDE_EVENODD=1 | 752 | #options RF_INCLUDE_EVENODD=1 | |
746 | #options RF_INCLUDE_RAID5_RS=1 | 753 | #options RF_INCLUDE_RAID5_RS=1 | |
747 | #options RF_INCLUDE_PARITYLOGGING=1 | 754 | #options RF_INCLUDE_PARITYLOGGING=1 | |
748 | #options RF_INCLUDE_CHAINDECLUSTER=1 | 755 | #options RF_INCLUDE_CHAINDECLUSTER=1 | |
749 | #options RF_INCLUDE_INTERDECLUSTER=1 | 756 | #options RF_INCLUDE_INTERDECLUSTER=1 | |
750 | #options RF_INCLUDE_PARITY_DECLUSTERING=1 | 757 | #options RF_INCLUDE_PARITY_DECLUSTERING=1 | |
751 | #options RF_INCLUDE_PARITY_DECLUSTERING_DS=1 | 758 | #options RF_INCLUDE_PARITY_DECLUSTERING_DS=1 | |
752 | pseudo-device fss 4 # file system snapshot device | 759 | pseudo-device fss 4 # file system snapshot device | |
753 | 760 | |||
754 | pseudo-device md 1 # memory disk device (ramdisk) | 761 | pseudo-device md 1 # memory disk device (ramdisk) | |
755 | pseudo-device vnd # disk-like interface to files | 762 | pseudo-device vnd # disk-like interface to files | |
756 | 763 | |||
757 | # network pseudo-devices | 764 | # network pseudo-devices | |
758 | pseudo-device bpfilter # Berkeley packet filter | 765 | pseudo-device bpfilter # Berkeley packet filter | |
759 | pseudo-device ipfilter # IP filter (firewall) and NAT | 766 | pseudo-device ipfilter # IP filter (firewall) and NAT | |
760 | pseudo-device loop # network loopback | 767 | pseudo-device loop # network loopback | |
761 | pseudo-device ppp # Point-to-Point Protocol | 768 | pseudo-device ppp # Point-to-Point Protocol | |
762 | pseudo-device pppoe # PPP over Ethernet (RFC 2516) | 769 | pseudo-device pppoe # PPP over Ethernet (RFC 2516) | |
763 | pseudo-device sl # Serial Line IP | 770 | pseudo-device sl # Serial Line IP | |
764 | pseudo-device tap # virtual Ethernet | 771 | pseudo-device tap # virtual Ethernet | |
765 | pseudo-device tun # network tunneling over tty | 772 | pseudo-device tun # network tunneling over tty | |
766 | pseudo-device gre # generic L3 over IP tunnel | 773 | pseudo-device gre # generic L3 over IP tunnel | |
767 | pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933) | 774 | pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933) | |
768 | #pseudo-device faith # IPv[46] tcp relay translation i/f | 775 | #pseudo-device faith # IPv[46] tcp relay translation i/f | |
769 | pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation | 776 | pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation | |
770 | pseudo-device vlan # IEEE 802.1q encapsulation | 777 | pseudo-device vlan # IEEE 802.1q encapsulation | |
771 | pseudo-device bridge # simple inter-network bridging | 778 | pseudo-device bridge # simple inter-network bridging | |
772 | #options BRIDGE_IPF # bridge uses IP/IPv6 pfil hooks too | 779 | #options BRIDGE_IPF # bridge uses IP/IPv6 pfil hooks too | |
773 | #pseudo-device pf # PF packet filter | 780 | #pseudo-device pf # PF packet filter | |
774 | #pseudo-device pflog # PF log if | 781 | #pseudo-device pflog # PF log if | |
775 | 782 | |||
776 | # miscellaneous pseudo-devices | 783 | # miscellaneous pseudo-devices | |
777 | pseudo-device pty # pseudo-terminals | 784 | pseudo-device pty # pseudo-terminals | |
778 | pseudo-device rnd # /dev/random and in-kernel generator | 785 | pseudo-device rnd # /dev/random and in-kernel generator | |
779 | pseudo-device clockctl # user control of clock subsystem | 786 | pseudo-device clockctl # user control of clock subsystem | |
780 | pseudo-device ksyms # /dev/ksyms | 787 | pseudo-device ksyms # /dev/ksyms | |
781 | 788 | |||
782 | # a pseudo device needed for Coda # also needs CODA (above) | 789 | # a pseudo device needed for Coda # also needs CODA (above) | |
783 | pseudo-device vcoda 4 # coda minicache <-> venus comm. | 790 | pseudo-device vcoda 4 # coda minicache <-> venus comm. | |
784 | 791 | |||
785 | # a pseudo device needed for SMBFS | 792 | # a pseudo device needed for SMBFS | |
786 | pseudo-device nsmb # experimental - SMB requester | 793 | pseudo-device nsmb # experimental - SMB requester | |
787 | 794 | |||
788 | # wscons pseudo-devices | 795 | # wscons pseudo-devices | |
789 | pseudo-device wsmux # mouse & keyboard multiplexor | 796 | pseudo-device wsmux # mouse & keyboard multiplexor | |
790 | pseudo-device wsfont | 797 | pseudo-device wsfont | |
791 | 798 | |||
792 | # userland interface to drivers, including autoconf and properties retrieval | 799 | # userland interface to drivers, including autoconf and properties retrieval | |
793 | pseudo-device drvctl | 800 | pseudo-device drvctl | |
794 | 801 | |||
795 | # xen pseudo-devices | 802 | # xen pseudo-devices | |
796 | pseudo-device xenevt | 803 | pseudo-device xenevt | |
797 | pseudo-device xvif | 804 | pseudo-device xvif | |
798 | pseudo-device xbdback | 805 | pseudo-device xbdback |
--- src/sys/arch/i386/conf/Attic/XEN3_DOM0 2009/07/29 13:37:57 1.18
+++ src/sys/arch/i386/conf/Attic/XEN3_DOM0 2009/08/05 20:15:36 1.19
@@ -1,821 +1,831 @@ | @@ -1,821 +1,831 @@ | |||
1 | # $NetBSD: XEN3_DOM0,v 1.18 2009/07/29 13:37:57 cegger Exp $ | 1 | # $NetBSD: XEN3_DOM0,v 1.19 2009/08/05 20:15:36 jym Exp $ | |
2 | # | 2 | # | |
3 | # XEN3_0: Xen 3.0 domain0 kernel | 3 | # XEN3_0: Xen 3.0 domain0 kernel | |
4 | 4 | |||
5 | include "arch/xen/conf/std.xen" | 5 | include "arch/xen/conf/std.xen" | |
6 | 6 | |||
7 | options INCLUDE_CONFIG_FILE # embed config file in kernel binary | 7 | options INCLUDE_CONFIG_FILE # embed config file in kernel binary | |
8 | 8 | |||
9 | #options UVMHIST | 9 | #options UVMHIST | |
10 | #options UVMHIST_PRINT | 10 | #options UVMHIST_PRINT | |
11 | #options SYSCALL_DEBUG | 11 | #options SYSCALL_DEBUG | |
12 | 12 | |||
13 | maxusers 32 # estimated number of users | 13 | maxusers 32 # estimated number of users | |
14 | 14 | |||
15 | # | 15 | # | |
16 | options XEN | 16 | options XEN | |
17 | #options __XEN_INTERFACE_VERSION__=0x00030205 # Xen 3.1 interface | 17 | #options __XEN_INTERFACE_VERSION__=0x00030205 # Xen 3.1 interface | |
18 | 18 | |||
19 | # boot messages with MPBIOS, acpi and ioapic can be quite large | 19 | # boot messages with MPBIOS, acpi and ioapic can be quite large | |
20 | options MSGBUFSIZE=24576 | 20 | options MSGBUFSIZE=24576 | |
21 | 21 | |||
22 | options DOM0OPS | 22 | options DOM0OPS | |
23 | # making MCLBYTES = PAGE_SIZE avoids a copy when a mbuf cluster is sent | 23 | # making MCLBYTES = PAGE_SIZE avoids a copy when a mbuf cluster is sent | |
24 | # to a domU, at the expense of a higher memory usage by the network stack. | 24 | # to a domU, at the expense of a higher memory usage by the network stack. | |
25 | #options MCLSHIFT=12 | 25 | #options MCLSHIFT=12 | |
26 | 26 | |||
27 | makeoptions CPUFLAGS="-march=i686" | 27 | makeoptions CPUFLAGS="-march=i686" | |
28 | 28 | |||
29 | #options VM86 # virtual 8086 emulation | 29 | #options VM86 # virtual 8086 emulation | |
30 | #options USER_LDT # user-settable LDT; used by WINE | 30 | #options USER_LDT # user-settable LDT; used by WINE | |
31 | 31 | |||
32 | # Enhanced SpeedStep Technology in the Pentium M | |||
33 | options ENHANCED_SPEEDSTEP | |||
34 | #options EST_FREQ_USERWRITE # any user can set frequency | |||
35 | ||||
36 | # AMD PowerNow! K7 | |||
37 | options POWERNOW_K7 | |||
38 | ||||
39 | # AMD PowerNow! and Cool`n'Quiet technology | |||
40 | options POWERNOW_K8 | |||
41 | ||||
32 | #options MTRR # memory-type range register syscall support | 42 | #options MTRR # memory-type range register syscall support | |
33 | 43 | |||
34 | #options CONSDEVNAME="\"xencons\"" | 44 | #options CONSDEVNAME="\"xencons\"" | |
35 | #options CONS_OVERRIDE | 45 | #options CONS_OVERRIDE | |
36 | 46 | |||
37 | options INSECURE # disable kernel security levels - X needs this | 47 | options INSECURE # disable kernel security levels - X needs this | |
38 | 48 | |||
39 | options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT | 49 | options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT | |
40 | options NTP # NTP phase/frequency locked loop | 50 | options NTP # NTP phase/frequency locked loop | |
41 | 51 | |||
42 | options KTRACE # system call tracing via ktrace(1) | 52 | options KTRACE # system call tracing via ktrace(1) | |
43 | 53 | |||
44 | options SYSVMSG # System V-like message queues | 54 | options SYSVMSG # System V-like message queues | |
45 | options SYSVSEM # System V-like semaphores | 55 | options SYSVSEM # System V-like semaphores | |
46 | #options SEMMNI=10 # number of semaphore identifiers | 56 | #options SEMMNI=10 # number of semaphore identifiers | |
47 | #options SEMMNS=60 # number of semaphores in system | 57 | #options SEMMNS=60 # number of semaphores in system | |
48 | #options SEMUME=10 # max number of undo entries per process | 58 | #options SEMUME=10 # max number of undo entries per process | |
49 | #options SEMMNU=30 # number of undo structures in system | 59 | #options SEMMNU=30 # number of undo structures in system | |
50 | options SYSVSHM # System V-like memory sharing | 60 | options SYSVSHM # System V-like memory sharing | |
51 | #options SHMMAXPGS=2048 # 2048 pages is the default | 61 | #options SHMMAXPGS=2048 # 2048 pages is the default | |
52 | options P1003_1B_SEMAPHORE # p1003.1b semaphore support | 62 | options P1003_1B_SEMAPHORE # p1003.1b semaphore support | |
53 | 63 | |||
54 | 64 | |||
55 | options USERCONF # userconf(4) support | 65 | options USERCONF # userconf(4) support | |
56 | options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel | 66 | options SYSCTL_INCLUDE_DESCR # Include sysctl descriptions in kernel | |
57 | 67 | |||
58 | # Diagnostic/debugging support options | 68 | # Diagnostic/debugging support options | |
59 | options DIAGNOSTIC # expensive kernel consistency checks | 69 | options DIAGNOSTIC # expensive kernel consistency checks | |
60 | options DEBUG # expensive debugging checks/support | 70 | options DEBUG # expensive debugging checks/support | |
61 | options KMEMSTATS # kernel memory statistics (vmstat -m) | 71 | options KMEMSTATS # kernel memory statistics (vmstat -m) | |
62 | options DDB # in-kernel debugger | 72 | options DDB # in-kernel debugger | |
63 | options DDB_ONPANIC=1 # see also sysctl(8): `ddb.onpanic' | 73 | options DDB_ONPANIC=1 # see also sysctl(8): `ddb.onpanic' | |
64 | options DDB_HISTORY_SIZE=512 # enable history editing in DDB | 74 | options DDB_HISTORY_SIZE=512 # enable history editing in DDB | |
65 | #options KGDB # remote debugger | 75 | #options KGDB # remote debugger | |
66 | #options KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x2f8,KGDB_DEVRATE=57600 | 76 | #options KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x2f8,KGDB_DEVRATE=57600 | |
67 | #makeoptions DEBUG="-g" # compile full symbol table | 77 | #makeoptions DEBUG="-g" # compile full symbol table | |
68 | 78 | |||
69 | # Compatibility options | 79 | # Compatibility options | |
70 | options COMPAT_NOMID # NetBSD 0.8, 386BSD, and BSDI | 80 | options COMPAT_NOMID # NetBSD 0.8, 386BSD, and BSDI | |
71 | options COMPAT_09 # NetBSD 0.9 | 81 | options COMPAT_09 # NetBSD 0.9 | |
72 | options COMPAT_10 # NetBSD 1.0 | 82 | options COMPAT_10 # NetBSD 1.0 | |
73 | options COMPAT_11 # NetBSD 1.1 | 83 | options COMPAT_11 # NetBSD 1.1 | |
74 | options COMPAT_12 # NetBSD 1.2, 386BSD, and BSDI | 84 | options COMPAT_12 # NetBSD 1.2, 386BSD, and BSDI | |
75 | options COMPAT_13 # NetBSD 1.3, 386BSD, and BSDI | 85 | options COMPAT_13 # NetBSD 1.3, 386BSD, and BSDI | |
76 | options COMPAT_14 # NetBSD 1.4 | 86 | options COMPAT_14 # NetBSD 1.4 | |
77 | options COMPAT_15 # NetBSD 1.5 | 87 | options COMPAT_15 # NetBSD 1.5 | |
78 | options COMPAT_16 # NetBSD 1.6 | 88 | options COMPAT_16 # NetBSD 1.6 | |
79 | options COMPAT_20 # NetBSD 2.0 | 89 | options COMPAT_20 # NetBSD 2.0 | |
80 | options COMPAT_30 # NetBSD 3.0 compatibility. | 90 | options COMPAT_30 # NetBSD 3.0 compatibility. | |
81 | options COMPAT_40 # NetBSD 4.0 | 91 | options COMPAT_40 # NetBSD 4.0 | |
82 | options COMPAT_43 # 4.3BSD, 386BSD, and BSDI | 92 | options COMPAT_43 # 4.3BSD, 386BSD, and BSDI | |
83 | options COMPAT_50 # NetBSD 5.0 | 93 | options COMPAT_50 # NetBSD 5.0 | |
84 | options COMPAT_386BSD_MBRPART # recognize old partition ID | 94 | options COMPAT_386BSD_MBRPART # recognize old partition ID | |
85 | #options TCP_COMPAT_42 # 4.2BSD TCP/IP bug compat. Not recommended. | 95 | #options TCP_COMPAT_42 # 4.2BSD TCP/IP bug compat. Not recommended. | |
86 | 96 | |||
87 | options COMPAT_OSSAUDIO # OSS (Voxware) audio driver compatibility | 97 | options COMPAT_OSSAUDIO # OSS (Voxware) audio driver compatibility | |
88 | options COMPAT_SVR4 # binary compatibility with SVR4 | 98 | options COMPAT_SVR4 # binary compatibility with SVR4 | |
89 | options COMPAT_IBCS2 # binary compatibility with SCO and ISC | 99 | options COMPAT_IBCS2 # binary compatibility with SCO and ISC | |
90 | options COMPAT_LINUX # binary compatibility with Linux | 100 | options COMPAT_LINUX # binary compatibility with Linux | |
91 | options COMPAT_FREEBSD # binary compatibility with FreeBSD | 101 | options COMPAT_FREEBSD # binary compatibility with FreeBSD | |
92 | #options COMPAT_MACH # binary compatibility with Mach binaries | 102 | #options COMPAT_MACH # binary compatibility with Mach binaries | |
93 | #options COMPAT_DARWIN # binary compatibility with Darwin binaries | 103 | #options COMPAT_DARWIN # binary compatibility with Darwin binaries | |
94 | #options EXEC_MACHO # exec MACH-O binaries | 104 | #options EXEC_MACHO # exec MACH-O binaries | |
95 | #options COMPAT_PECOFF # kernel support to run Win32 apps | 105 | #options COMPAT_PECOFF # kernel support to run Win32 apps | |
96 | options COMPAT_BSDPTY # /dev/[pt]ty?? ptys. | 106 | options COMPAT_BSDPTY # /dev/[pt]ty?? ptys. | |
97 | 107 | |||
98 | # File systems | 108 | # File systems | |
99 | file-system FFS # UFS | 109 | file-system FFS # UFS | |
100 | file-system EXT2FS # second extended file system (linux) | 110 | file-system EXT2FS # second extended file system (linux) | |
101 | file-system LFS # log-structured file system | 111 | file-system LFS # log-structured file system | |
102 | file-system MFS # memory file system | 112 | file-system MFS # memory file system | |
103 | file-system NFS # Network File System client | 113 | file-system NFS # Network File System client | |
104 | file-system NTFS # Windows/NT file system (experimental) | 114 | file-system NTFS # Windows/NT file system (experimental) | |
105 | file-system CD9660 # ISO 9660 + Rock Ridge file system | 115 | file-system CD9660 # ISO 9660 + Rock Ridge file system | |
106 | file-system MSDOSFS # MS-DOS file system | 116 | file-system MSDOSFS # MS-DOS file system | |
107 | file-system FDESC # /dev/fd | 117 | file-system FDESC # /dev/fd | |
108 | file-system KERNFS # /kern | 118 | file-system KERNFS # /kern | |
109 | file-system NULLFS # loopback file system | 119 | file-system NULLFS # loopback file system | |
110 | file-system OVERLAY # overlay file system | 120 | file-system OVERLAY # overlay file system | |
111 | file-system PORTAL # portal filesystem (still experimental) | 121 | file-system PORTAL # portal filesystem (still experimental) | |
112 | file-system PROCFS # /proc | 122 | file-system PROCFS # /proc | |
113 | file-system UMAPFS # NULLFS + uid and gid remapping | 123 | file-system UMAPFS # NULLFS + uid and gid remapping | |
114 | file-system UNION # union file system | 124 | file-system UNION # union file system | |
115 | file-system CODA # Coda File System; also needs vcoda (below) | 125 | file-system CODA # Coda File System; also needs vcoda (below) | |
116 | file-system SMBFS # experimental - CIFS; also needs nsmb (below) | 126 | file-system SMBFS # experimental - CIFS; also needs nsmb (below) | |
117 | file-system PTYFS # /dev/pts/N support | 127 | file-system PTYFS # /dev/pts/N support | |
118 | file-system TMPFS # Efficient memory file-system | 128 | file-system TMPFS # Efficient memory file-system | |
119 | 129 | |||
120 | # File system options | 130 | # File system options | |
121 | options QUOTA # UFS quotas | 131 | options QUOTA # UFS quotas | |
122 | #options FFS_EI # FFS Endian Independent support | 132 | #options FFS_EI # FFS Endian Independent support | |
123 | options WAPBL # File system journaling support - Experimental | 133 | options WAPBL # File system journaling support - Experimental | |
124 | #options UFS_DIRHASH # UFS Large Directory Hashing - Experimental | 134 | #options UFS_DIRHASH # UFS Large Directory Hashing - Experimental | |
125 | options NFSSERVER # Network File System server | 135 | options NFSSERVER # Network File System server | |
126 | #options FFS_NO_SNAPSHOT # No FFS snapshot support | 136 | #options FFS_NO_SNAPSHOT # No FFS snapshot support | |
127 | #options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and | 137 | #options EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and | |
128 | # immutable) behave as system flags. | 138 | # immutable) behave as system flags. | |
129 | 139 | |||
130 | # Networking options | 140 | # Networking options | |
131 | #options GATEWAY # packet forwarding | 141 | #options GATEWAY # packet forwarding | |
132 | options INET # IP + ICMP + TCP + UDP | 142 | options INET # IP + ICMP + TCP + UDP | |
133 | options INET6 # IPV6 | 143 | options INET6 # IPV6 | |
134 | #options IPSEC # IP security | 144 | #options IPSEC # IP security | |
135 | #options IPSEC_ESP # IP security (encryption part; define w/IPSEC) | 145 | #options IPSEC_ESP # IP security (encryption part; define w/IPSEC) | |
136 | #options IPSEC_NAT_T # IPsec NAT traversal (NAT-T) | 146 | #options IPSEC_NAT_T # IPsec NAT traversal (NAT-T) | |
137 | #options IPSEC_DEBUG # debug for IP security | 147 | #options IPSEC_DEBUG # debug for IP security | |
138 | #options MROUTING # IP multicast routing | 148 | #options MROUTING # IP multicast routing | |
139 | #options PIM # Protocol Independent Multicast | 149 | #options PIM # Protocol Independent Multicast | |
140 | #options ISO,TPIP # OSI | 150 | #options ISO,TPIP # OSI | |
141 | #options EON # OSI tunneling over IP | 151 | #options EON # OSI tunneling over IP | |
142 | options NETATALK # AppleTalk networking protocols | 152 | options NETATALK # AppleTalk networking protocols | |
143 | options PPP_BSDCOMP # BSD-Compress compression support for PPP | 153 | options PPP_BSDCOMP # BSD-Compress compression support for PPP | |
144 | options PPP_DEFLATE # Deflate compression support for PPP | 154 | options PPP_DEFLATE # Deflate compression support for PPP | |
145 | options PPP_FILTER # Active filter support for PPP (requires bpf) | 155 | options PPP_FILTER # Active filter support for PPP (requires bpf) | |
146 | options PFIL_HOOKS # pfil(9) packet filter hooks | 156 | options PFIL_HOOKS # pfil(9) packet filter hooks | |
147 | options IPFILTER_LOG # ipmon(8) log support | 157 | options IPFILTER_LOG # ipmon(8) log support | |
148 | options IPFILTER_LOOKUP # ippool(8) support | 158 | options IPFILTER_LOOKUP # ippool(8) support | |
149 | #options IPFILTER_DEFAULT_BLOCK # block all packets by default | 159 | #options IPFILTER_DEFAULT_BLOCK # block all packets by default | |
150 | #options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG | 160 | #options TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG | |
151 | 161 | |||
152 | #options ALTQ # Manipulate network interfaces' output queues | 162 | #options ALTQ # Manipulate network interfaces' output queues | |
153 | #options ALTQ_BLUE # Stochastic Fair Blue | 163 | #options ALTQ_BLUE # Stochastic Fair Blue | |
154 | #options ALTQ_CBQ # Class-Based Queueing | 164 | #options ALTQ_CBQ # Class-Based Queueing | |
155 | #options ALTQ_CDNR # Diffserv Traffic Conditioner | 165 | #options ALTQ_CDNR # Diffserv Traffic Conditioner | |
156 | #options ALTQ_FIFOQ # First-In First-Out Queue | 166 | #options ALTQ_FIFOQ # First-In First-Out Queue | |
157 | #options ALTQ_FLOWVALVE # RED/flow-valve (red-penalty-box) | 167 | #options ALTQ_FLOWVALVE # RED/flow-valve (red-penalty-box) | |
158 | #options ALTQ_HFSC # Hierarchical Fair Service Curve | 168 | #options ALTQ_HFSC # Hierarchical Fair Service Curve | |
159 | #options ALTQ_LOCALQ # Local queueing discipline | 169 | #options ALTQ_LOCALQ # Local queueing discipline | |
160 | #options ALTQ_PRIQ # Priority Queueing | 170 | #options ALTQ_PRIQ # Priority Queueing | |
161 | #options ALTQ_RED # Random Early Detection | 171 | #options ALTQ_RED # Random Early Detection | |
162 | #options ALTQ_RIO # RED with IN/OUT | 172 | #options ALTQ_RIO # RED with IN/OUT | |
163 | #options ALTQ_WFQ # Weighted Fair Queueing | 173 | #options ALTQ_WFQ # Weighted Fair Queueing | |
164 | 174 | |||
165 | # These options enable verbose messages for several subsystems. | 175 | # These options enable verbose messages for several subsystems. | |
166 | # Warning, these may compile large string tables into the kernel! | 176 | # Warning, these may compile large string tables into the kernel! | |
167 | options MIIVERBOSE # verbose PHY autoconfig messages | 177 | options MIIVERBOSE # verbose PHY autoconfig messages | |
168 | options PCIVERBOSE # verbose PCI device autoconfig messages | 178 | options PCIVERBOSE # verbose PCI device autoconfig messages | |
169 | #options PCI_CONFIG_DUMP # verbosely dump PCI config space | 179 | #options PCI_CONFIG_DUMP # verbosely dump PCI config space | |
170 | options SCSIVERBOSE # human readable SCSI error messages | 180 | options SCSIVERBOSE # human readable SCSI error messages | |
171 | options USBVERBOSE # verbose USB device autoconfig messages | 181 | options USBVERBOSE # verbose USB device autoconfig messages | |
172 | 182 | |||
173 | options NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM | 183 | options NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM | |
174 | #options NFS_BOOT_BOOTSTATIC | 184 | #options NFS_BOOT_BOOTSTATIC | |
175 | #options NFS_BOOTSTATIC_MYIP="\"169.254.1.2\"" | 185 | #options NFS_BOOTSTATIC_MYIP="\"169.254.1.2\"" | |
176 | #options NFS_BOOTSTATIC_GWIP="\"169.254.1.1\"" | 186 | #options NFS_BOOTSTATIC_GWIP="\"169.254.1.1\"" | |
177 | #options NFS_BOOTSTATIC_MASK="\"255.255.255.0\"" | 187 | #options NFS_BOOTSTATIC_MASK="\"255.255.255.0\"" | |
178 | #options NFS_BOOTSTATIC_SERVADDR="\"169.254.1.1\"" | 188 | #options NFS_BOOTSTATIC_SERVADDR="\"169.254.1.1\"" | |
179 | #options NFS_BOOTSTATIC_SERVER="\"server:/path/to/root\"" | 189 | #options NFS_BOOTSTATIC_SERVER="\"server:/path/to/root\"" | |
180 | 190 | |||
181 | options WSEMUL_VT100 # VT100 / VT220 emulation | 191 | options WSEMUL_VT100 # VT100 / VT220 emulation | |
182 | options WS_KERNEL_FG=WSCOL_GREEN | 192 | options WS_KERNEL_FG=WSCOL_GREEN | |
183 | options WSDISPLAY_COMPAT_PCVT # emulate some ioctls | 193 | options WSDISPLAY_COMPAT_PCVT # emulate some ioctls | |
184 | options WSDISPLAY_COMPAT_SYSCONS # emulate some ioctls | 194 | options WSDISPLAY_COMPAT_SYSCONS # emulate some ioctls | |
185 | options WSDISPLAY_COMPAT_USL # VT handling | 195 | options WSDISPLAY_COMPAT_USL # VT handling | |
186 | options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes | 196 | options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes | |
187 | options WSDISPLAY_DEFAULTSCREENS=4 | 197 | options WSDISPLAY_DEFAULTSCREENS=4 | |
188 | options WSDISPLAY_SCROLLSUPPORT | 198 | options WSDISPLAY_SCROLLSUPPORT | |
189 | options PCDISPLAY_SOFTCURSOR | 199 | options PCDISPLAY_SOFTCURSOR | |
190 | 200 | |||
191 | config netbsd root on ? type ? | 201 | config netbsd root on ? type ? | |
192 | #config netbsd root on wd0a type ffs | 202 | #config netbsd root on wd0a type ffs | |
193 | #config netbsd root on xennet0 type nfs | 203 | #config netbsd root on xennet0 type nfs | |
194 | 204 | |||
195 | mainbus0 at root | 205 | mainbus0 at root | |
196 | 206 | |||
197 | cpu* at mainbus? | 207 | cpu* at mainbus? | |
198 | 208 | |||
199 | # IPMI support | 209 | # IPMI support | |
200 | ipmi0 at mainbus? | 210 | ipmi0 at mainbus? | |
201 | 211 | |||
202 | hypervisor* at mainbus? # Xen hypervisor | 212 | hypervisor* at mainbus? # Xen hypervisor | |
203 | 213 | |||
204 | vcpu* at hypervisor? # Xen virtual CPUs | 214 | vcpu* at hypervisor? # Xen virtual CPUs | |
205 | xenbus* at hypervisor? # Xen virtual bus | 215 | xenbus* at hypervisor? # Xen virtual bus | |
206 | npx0 at hypervisor? # x86 math coprocessor | 216 | npx0 at hypervisor? # x86 math coprocessor | |
207 | 217 | |||
208 | xencons* at hypervisor? # Xen virtual console | 218 | xencons* at hypervisor? # Xen virtual console | |
209 | #xennet* at hypervisor? # Xen virtual network interface | 219 | #xennet* at hypervisor? # Xen virtual network interface | |
210 | 220 | |||
211 | #xbd* at hypervisor? # Xen virtual block device | 221 | #xbd* at hypervisor? # Xen virtual block device | |
212 | #wd* at hypervisor? # Xen vbd (wd identity) | 222 | #wd* at hypervisor? # Xen vbd (wd identity) | |
213 | #sd* at hypervisor? # Xen vbd (sd identity) | 223 | #sd* at hypervisor? # Xen vbd (sd identity) | |
214 | #cd* at hypervisor? # Xen vbd (cd identity) | 224 | #cd* at hypervisor? # Xen vbd (cd identity) | |
215 | 225 | |||
216 | # PCI bus support | 226 | # PCI bus support | |
217 | pci* at hypervisor? bus ? | 227 | pci* at hypervisor? bus ? | |
218 | pci* at pchb? bus ? | 228 | pci* at pchb? bus ? | |
219 | 229 | |||
220 | # PCI bridges | 230 | # PCI bridges | |
221 | ichlpcib* at pci? dev ? function ? # Intel ICH PCI-ISA w/ timecounter, | 231 | ichlpcib* at pci? dev ? function ? # Intel ICH PCI-ISA w/ timecounter, | |
222 | # watchdog and SpeedStep support | 232 | # watchdog and SpeedStep support | |
223 | pcib* at pci? dev ? function ? # PCI-ISA bridges | 233 | pcib* at pci? dev ? function ? # PCI-ISA bridges | |
224 | pchb* at pci? dev ? function ? # PCI-Host bridges | 234 | pchb* at pci? dev ? function ? # PCI-Host bridges | |
225 | ppb* at pci? dev ? function ? # PCI-PCI bridges | 235 | ppb* at pci? dev ? function ? # PCI-PCI bridges | |
226 | # XXX 'puc's aren't really bridges, but there's no better place for them here | 236 | # XXX 'puc's aren't really bridges, but there's no better place for them here | |
227 | puc* at pci? dev ? function ? # PCI "universal" comm. cards | 237 | puc* at pci? dev ? function ? # PCI "universal" comm. cards | |
228 | 238 | |||
229 | agp* at pchb? | 239 | agp* at pchb? | |
230 | 240 | |||
231 | # ISA bus support | 241 | # ISA bus support | |
232 | isa0 at ichlpcib? | 242 | isa0 at ichlpcib? | |
233 | isa0 at pcib? | 243 | isa0 at pcib? | |
234 | isa0 at hypervisor? | 244 | isa0 at hypervisor? | |
235 | 245 | |||
236 | # Serial Devices | 246 | # Serial Devices | |
237 | 247 | |||
238 | # PCI serial interfaces | 248 | # PCI serial interfaces | |
239 | com* at puc? port ? # 16x50s on "universal" comm boards | 249 | com* at puc? port ? # 16x50s on "universal" comm boards | |
240 | cy* at pci? dev ? function ? # Cyclades Cyclom-Y serial boards | 250 | cy* at pci? dev ? function ? # Cyclades Cyclom-Y serial boards | |
241 | cz* at pci? dev ? function ? # Cyclades-Z multi-port serial boards | 251 | cz* at pci? dev ? function ? # Cyclades-Z multi-port serial boards | |
242 | 252 | |||
243 | # ISA serial interfaces | 253 | # ISA serial interfaces | |
244 | #options COM_HAYESP # adds Hayes ESP serial board support | 254 | #options COM_HAYESP # adds Hayes ESP serial board support | |
245 | # If a com port is used as Xen console it can't be used by the domain0 kernel | 255 | # If a com port is used as Xen console it can't be used by the domain0 kernel | |
246 | # and there's no easy way to detect this yet. Leave com0 out as it's the | 256 | # and there's no easy way to detect this yet. Leave com0 out as it's the | |
247 | # port usually used for serial console | 257 | # port usually used for serial console | |
248 | #com0 at isa? port 0x3f8 irq 4 # Standard PC serial ports | 258 | #com0 at isa? port 0x3f8 irq 4 # Standard PC serial ports | |
249 | com1 at isa? port 0x2f8 irq 3 | 259 | com1 at isa? port 0x2f8 irq 3 | |
250 | #com2 at isa? port 0x3e8 irq 5 | 260 | #com2 at isa? port 0x3e8 irq 5 | |
251 | #com3 at isa? port 0x2e8 irq 9 | 261 | #com3 at isa? port 0x2e8 irq 9 | |
252 | 262 | |||
253 | # Parallel Printer Interfaces | 263 | # Parallel Printer Interfaces | |
254 | 264 | |||
255 | # PCI parallel printer interfaces | 265 | # PCI parallel printer interfaces | |
256 | lpt* at puc? port ? # || ports on "universal" comm boards | 266 | lpt* at puc? port ? # || ports on "universal" comm boards | |
257 | 267 | |||
258 | # ISA parallel printer interfaces | 268 | # ISA parallel printer interfaces | |
259 | lpt0 at isa? port 0x378 irq 7 # standard PC parallel ports | 269 | lpt0 at isa? port 0x378 irq 7 # standard PC parallel ports | |
260 | 270 | |||
261 | # Hardware monitors | 271 | # Hardware monitors | |
262 | 272 | |||
263 | amdtemp* at pci? dev ? function ? # AMD CPU Temperature sensors | 273 | amdtemp* at pci? dev ? function ? # AMD CPU Temperature sensors | |
264 | 274 | |||
265 | # AMD 768 and 8111 power/ACPI controllers | 275 | # AMD 768 and 8111 power/ACPI controllers | |
266 | amdpm* at pci? dev ? function ? # RNG and SMBus 1.0 interface | 276 | amdpm* at pci? dev ? function ? # RNG and SMBus 1.0 interface | |
267 | 277 | |||
268 | # dbCool thermal monitor and fan controller | 278 | # dbCool thermal monitor and fan controller | |
269 | #iic* at amdpm? # sensors below are on this bus | 279 | #iic* at amdpm? # sensors below are on this bus | |
270 | #dbcool* at iic? addr 0x2C # Unknown other motherboard(s) | 280 | #dbcool* at iic? addr 0x2C # Unknown other motherboard(s) | |
271 | #dbcool* at iic? addr 0x2D # Tyan S2881 | 281 | #dbcool* at iic? addr 0x2D # Tyan S2881 | |
272 | #dbcool* at iic? addr 0x2E # Tyan S2882-D | 282 | #dbcool* at iic? addr 0x2E # Tyan S2882-D | |
273 | 283 | |||
274 | # LM7[89] and compatible hardware monitors | 284 | # LM7[89] and compatible hardware monitors | |
275 | #lm0 at isa? port 0x290 # other common: 0x280, 0x310, 0xc00 | 285 | #lm0 at isa? port 0x290 # other common: 0x280, 0x310, 0xc00 | |
276 | 286 | |||
277 | # VIA VT82C686A/VT8231 Hardware Monitor and Power Management TImer | 287 | # VIA VT82C686A/VT8231 Hardware Monitor and Power Management TImer | |
278 | #viaenv* at pci? dev ? function ? | 288 | #viaenv* at pci? dev ? function ? | |
279 | 289 | |||
280 | 290 | |||
281 | # PCI network interfaces | 291 | # PCI network interfaces | |
282 | age* at pci? dev ? function ? # Attansic/Atheros L1 Gigabit Ethernet | 292 | age* at pci? dev ? function ? # Attansic/Atheros L1 Gigabit Ethernet | |
283 | an* at pci? dev ? function ? # Aironet PC4500/PC4800 (802.11) | 293 | an* at pci? dev ? function ? # Aironet PC4500/PC4800 (802.11) | |
284 | ale* at pci? dev ? function ? # Attansic/Atheros L1E Ethernet | 294 | ale* at pci? dev ? function ? # Attansic/Atheros L1E Ethernet | |
285 | ath* at pci? dev ? function ? # Atheros 5210/5211/5212 802.11 | 295 | ath* at pci? dev ? function ? # Atheros 5210/5211/5212 802.11 | |
286 | atw* at pci? dev ? function ? # ADMtek ADM8211 (802.11) | 296 | atw* at pci? dev ? function ? # ADMtek ADM8211 (802.11) | |
287 | bce* at pci? dev ? function ? # Broadcom 4401 10/100 Ethernet | 297 | bce* at pci? dev ? function ? # Broadcom 4401 10/100 Ethernet | |
288 | bge* at pci? dev ? function ? # Broadcom 570x gigabit Ethernet | 298 | bge* at pci? dev ? function ? # Broadcom 570x gigabit Ethernet | |
289 | bnx* at pci? dev ? function ? # Broadcom NetXtremeII gigabit Ethernet | 299 | bnx* at pci? dev ? function ? # Broadcom NetXtremeII gigabit Ethernet | |
290 | dge* at pci? dev ? function ? # Intel 82597 10GbE LR | 300 | dge* at pci? dev ? function ? # Intel 82597 10GbE LR | |
291 | en* at pci? dev ? function ? # ENI/Adaptec ATM | 301 | en* at pci? dev ? function ? # ENI/Adaptec ATM | |
292 | ep* at pci? dev ? function ? # 3Com 3c59x | 302 | ep* at pci? dev ? function ? # 3Com 3c59x | |
293 | epic* at pci? dev ? function ? # SMC EPIC/100 Ethernet | 303 | epic* at pci? dev ? function ? # SMC EPIC/100 Ethernet | |
294 | esh* at pci? dev ? function ? # Essential HIPPI card | 304 | esh* at pci? dev ? function ? # Essential HIPPI card | |
295 | ex* at pci? dev ? function ? # 3Com 90x[BC] | 305 | ex* at pci? dev ? function ? # 3Com 90x[BC] | |
296 | fpa* at pci? dev ? function ? # DEC DEFPA FDDI | 306 | fpa* at pci? dev ? function ? # DEC DEFPA FDDI | |
297 | fxp* at pci? dev ? function ? # Intel EtherExpress PRO 10+/100B | 307 | fxp* at pci? dev ? function ? # Intel EtherExpress PRO 10+/100B | |
298 | gsip* at pci? dev ? function ? # NS83820 Gigabit Ethernet | 308 | gsip* at pci? dev ? function ? # NS83820 Gigabit Ethernet | |
299 | hme* at pci? dev ? function ? # Sun Microelectronics STP2002-STQ | 309 | hme* at pci? dev ? function ? # Sun Microelectronics STP2002-STQ | |
300 | ipw* at pci? dev ? function ? # Intel PRO/Wireless 2100 | 310 | ipw* at pci? dev ? function ? # Intel PRO/Wireless 2100 | |
301 | iwi* at pci? dev ? function ? # Intel PRO/Wireless 2200BG | 311 | iwi* at pci? dev ? function ? # Intel PRO/Wireless 2200BG | |
302 | iwn* at pci? dev ? function ? # Intel PRO/Wireless 4965AGN | 312 | iwn* at pci? dev ? function ? # Intel PRO/Wireless 4965AGN | |
303 | jme* at pci? dev ? function ? # JMicron JMC2[56]0 ethernet | 313 | jme* at pci? dev ? function ? # JMicron JMC2[56]0 ethernet | |
304 | le* at pci? dev ? function ? # PCnet-PCI Ethernet | 314 | le* at pci? dev ? function ? # PCnet-PCI Ethernet | |
305 | lii* at pci? dev ? function ? # Atheros L2 Fast-Ethernet | 315 | lii* at pci? dev ? function ? # Atheros L2 Fast-Ethernet | |
306 | lmc* at pci? dev ? function ? # Lan Media Corp SSI/HSSI/DS3 | 316 | lmc* at pci? dev ? function ? # Lan Media Corp SSI/HSSI/DS3 | |
307 | mskc* at pci? dev ? function ? # Marvell Yukon 2 Gigabit Ethernet | 317 | mskc* at pci? dev ? function ? # Marvell Yukon 2 Gigabit Ethernet | |
308 | msk* at mskc? # Marvell Yukon 2 Gigabit Ethernet | 318 | msk* at mskc? # Marvell Yukon 2 Gigabit Ethernet | |
309 | mtd* at pci? dev ? function ? # Myson MTD803 3-in-1 Ethernet | 319 | mtd* at pci? dev ? function ? # Myson MTD803 3-in-1 Ethernet | |
310 | ne* at pci? dev ? function ? # NE2000-compatible Ethernet | 320 | ne* at pci? dev ? function ? # NE2000-compatible Ethernet | |
311 | nfe* at pci? dev ? function ? # NVIDIA nForce Ethernet | 321 | nfe* at pci? dev ? function ? # NVIDIA nForce Ethernet | |
312 | ntwoc* at pci? dev ? function ? # Riscom/N2 PCI Sync Serial | 322 | ntwoc* at pci? dev ? function ? # Riscom/N2 PCI Sync Serial | |
313 | pcn* at pci? dev ? function ? # AMD PCnet-PCI Ethernet | 323 | pcn* at pci? dev ? function ? # AMD PCnet-PCI Ethernet | |
314 | ral* at pci? dev ? function ? # Ralink Technology RT25x0 802.11a/b/g | 324 | ral* at pci? dev ? function ? # Ralink Technology RT25x0 802.11a/b/g | |
315 | re* at pci? dev ? function ? # Realtek 8139C+/8169/8169S/8110S | 325 | re* at pci? dev ? function ? # Realtek 8139C+/8169/8169S/8110S | |
316 | rtk* at pci? dev ? function ? # Realtek 8129/8139 | 326 | rtk* at pci? dev ? function ? # Realtek 8129/8139 | |
317 | sf* at pci? dev ? function ? # Adaptec AIC-6915 Ethernet | 327 | sf* at pci? dev ? function ? # Adaptec AIC-6915 Ethernet | |
318 | sip* at pci? dev ? function ? # SiS 900/DP83815 Ethernet | 328 | sip* at pci? dev ? function ? # SiS 900/DP83815 Ethernet | |
319 | skc* at pci? dev ? function ? # SysKonnect SK9821 Gigabit Ethernet | 329 | skc* at pci? dev ? function ? # SysKonnect SK9821 Gigabit Ethernet | |
320 | sk* at skc? # SysKonnect SK9821 Gigabit Ethernet | 330 | sk* at skc? # SysKonnect SK9821 Gigabit Ethernet | |
321 | ste* at pci? dev ? function ? # Sundance ST-201 Ethernet | 331 | ste* at pci? dev ? function ? # Sundance ST-201 Ethernet | |
322 | stge* at pci? dev ? function ? # Sundance/Tamarack TC9021 Gigabit | 332 | stge* at pci? dev ? function ? # Sundance/Tamarack TC9021 Gigabit | |
323 | ti* at pci? dev ? function ? # Alteon ACEnic gigabit Ethernet | 333 | ti* at pci? dev ? function ? # Alteon ACEnic gigabit Ethernet | |
324 | tl* at pci? dev ? function ? # ThunderLAN-based Ethernet | 334 | tl* at pci? dev ? function ? # ThunderLAN-based Ethernet | |
325 | tlp* at pci? dev ? function ? # DECchip 21x4x and clones | 335 | tlp* at pci? dev ? function ? # DECchip 21x4x and clones | |
326 | txp* at pci? dev ? function ? # 3com 3cr990 | 336 | txp* at pci? dev ? function ? # 3com 3cr990 | |
327 | vge* at pci? dev ? function ? # VIATech VT612X Gigabit Ethernet | 337 | vge* at pci? dev ? function ? # VIATech VT612X Gigabit Ethernet | |
328 | vr* at pci? dev ? function ? # VIA Rhine Fast Ethernet | 338 | vr* at pci? dev ? function ? # VIA Rhine Fast Ethernet | |
329 | wi* at pci? dev ? function ? # Intersil Prism Mini-PCI (802.11b) | 339 | wi* at pci? dev ? function ? # Intersil Prism Mini-PCI (802.11b) | |
330 | wm* at pci? dev ? function ? # Intel 8254x gigabit | 340 | wm* at pci? dev ? function ? # Intel 8254x gigabit | |
331 | xge* at pci? dev ? function ? # Neterion (S2io) Xframe-I 10GbE | 341 | xge* at pci? dev ? function ? # Neterion (S2io) Xframe-I 10GbE | |
332 | 342 | |||
333 | # MII/PHY support | 343 | # MII/PHY support | |
334 | acphy* at mii? phy ? # Altima AC101 and AMD Am79c874 PHYs | 344 | acphy* at mii? phy ? # Altima AC101 and AMD Am79c874 PHYs | |
335 | amhphy* at mii? phy ? # AMD 79c901 Ethernet PHYs | 345 | amhphy* at mii? phy ? # AMD 79c901 Ethernet PHYs | |
336 | atphy* at mii? phy ? # Attansic/Atheros PHYs | 346 | atphy* at mii? phy ? # Attansic/Atheros PHYs | |
337 | bmtphy* at mii? phy ? # Broadcom BCM5201 and BCM5202 PHYs | 347 | bmtphy* at mii? phy ? # Broadcom BCM5201 and BCM5202 PHYs | |
338 | brgphy* at mii? phy ? # Broadcom BCM5400-family PHYs | 348 | brgphy* at mii? phy ? # Broadcom BCM5400-family PHYs | |
339 | ciphy* at mii? phy ? # Cicada CS8201 Gig-E PHYs | 349 | ciphy* at mii? phy ? # Cicada CS8201 Gig-E PHYs | |
340 | dmphy* at mii? phy ? # Davicom DM9101 PHYs | 350 | dmphy* at mii? phy ? # Davicom DM9101 PHYs | |
341 | exphy* at mii? phy ? # 3Com internal PHYs | 351 | exphy* at mii? phy ? # 3Com internal PHYs | |
342 | gentbi* at mii? phy ? # Generic Ten-Bit 1000BASE-[CLS]X PHYs | 352 | gentbi* at mii? phy ? # Generic Ten-Bit 1000BASE-[CLS]X PHYs | |
343 | glxtphy* at mii? phy ? # Level One LXT-1000 PHYs | 353 | glxtphy* at mii? phy ? # Level One LXT-1000 PHYs | |
344 | gphyter* at mii? phy ? # NS83861 Gig-E PHY | 354 | gphyter* at mii? phy ? # NS83861 Gig-E PHY | |
345 | icsphy* at mii? phy ? # Integrated Circuit Systems ICS189x | 355 | icsphy* at mii? phy ? # Integrated Circuit Systems ICS189x | |
346 | igphy* at mii? phy ? # Intel IGP01E1000 | 356 | igphy* at mii? phy ? # Intel IGP01E1000 | |
347 | ikphy* at mii? phy ? # Intel 82563 PHYs | 357 | ikphy* at mii? phy ? # Intel 82563 PHYs | |
348 | inphy* at mii? phy ? # Intel 82555 PHYs | 358 | inphy* at mii? phy ? # Intel 82555 PHYs | |
349 | iophy* at mii? phy ? # Intel 82553 PHYs | 359 | iophy* at mii? phy ? # Intel 82553 PHYs | |
350 | lxtphy* at mii? phy ? # Level One LXT-970 PHYs | 360 | lxtphy* at mii? phy ? # Level One LXT-970 PHYs | |
351 | makphy* at mii? phy ? # Marvell Semiconductor 88E1000 PHYs | 361 | makphy* at mii? phy ? # Marvell Semiconductor 88E1000 PHYs | |
352 | nsphy* at mii? phy ? # NS83840 PHYs | 362 | nsphy* at mii? phy ? # NS83840 PHYs | |
353 | nsphyter* at mii? phy ? # NS83843 PHYs | 363 | nsphyter* at mii? phy ? # NS83843 PHYs | |
354 | pnaphy* at mii? phy ? # generic HomePNA PHYs | 364 | pnaphy* at mii? phy ? # generic HomePNA PHYs | |
355 | qsphy* at mii? phy ? # Quality Semiconductor QS6612 PHYs | 365 | qsphy* at mii? phy ? # Quality Semiconductor QS6612 PHYs | |
356 | rgephy* at mii? phy ? # Realtek 8169S/8110S internal PHYs | 366 | rgephy* at mii? phy ? # Realtek 8169S/8110S internal PHYs | |
357 | rlphy* at mii? phy ? # Realtek 8139/8201L PHYs | 367 | rlphy* at mii? phy ? # Realtek 8139/8201L PHYs | |
358 | sqphy* at mii? phy ? # Seeq 80220/80221/80223 PHYs | 368 | sqphy* at mii? phy ? # Seeq 80220/80221/80223 PHYs | |
359 | tlphy* at mii? phy ? # ThunderLAN PHYs | 369 | tlphy* at mii? phy ? # ThunderLAN PHYs | |
360 | tqphy* at mii? phy ? # TDK Semiconductor PHYs | 370 | tqphy* at mii? phy ? # TDK Semiconductor PHYs | |
361 | ukphy* at mii? phy ? # generic unknown PHYs | 371 | ukphy* at mii? phy ? # generic unknown PHYs | |
362 | urlphy* at mii? phy ? # Realtek RTL8150L internal PHYs | 372 | urlphy* at mii? phy ? # Realtek RTL8150L internal PHYs | |
363 | 373 | |||
364 | # I2O devices | 374 | # I2O devices | |
365 | iop* at pci? dev ? function ? # I/O processor | 375 | iop* at pci? dev ? function ? # I/O processor | |
366 | iopsp* at iop? tid ? # SCSI/FC-AL ports | 376 | iopsp* at iop? tid ? # SCSI/FC-AL ports | |
367 | ld* at iop? tid ? # block devices | 377 | ld* at iop? tid ? # block devices | |
368 | dpti* at iop? tid 0 # DPT/Adaptec control interface | 378 | dpti* at iop? tid 0 # DPT/Adaptec control interface | |
369 | 379 | |||
370 | # IDE and related devices | 380 | # IDE and related devices | |
371 | # PCI IDE controllers - see pciide(4) for supported hardware. | 381 | # PCI IDE controllers - see pciide(4) for supported hardware. | |
372 | # The 0x0001 flag force the driver to use DMA, even if the driver doesn't know | 382 | # The 0x0001 flag force the driver to use DMA, even if the driver doesn't know | |
373 | # how to set up DMA modes for this chip. This may work, or may cause | 383 | # how to set up DMA modes for this chip. This may work, or may cause | |
374 | # a machine hang with some controllers. | 384 | # a machine hang with some controllers. | |
375 | pciide* at pci? dev ? function ? flags 0x0000 # GENERIC pciide driver | 385 | pciide* at pci? dev ? function ? flags 0x0000 # GENERIC pciide driver | |
376 | acardide* at pci? dev ? function ? # Acard IDE controllers | 386 | acardide* at pci? dev ? function ? # Acard IDE controllers | |
377 | aceride* at pci? dev ? function ? # Acer Lab IDE controllers | 387 | aceride* at pci? dev ? function ? # Acer Lab IDE controllers | |
378 | ahcisata* at pci? dev ? function ? # AHCI SATA controllers | 388 | ahcisata* at pci? dev ? function ? # AHCI SATA controllers | |
379 | artsata* at pci? dev ? function ? # Intel i31244 SATA controller | 389 | artsata* at pci? dev ? function ? # Intel i31244 SATA controller | |
380 | cmdide* at pci? dev ? function ? # CMD tech IDE controllers | 390 | cmdide* at pci? dev ? function ? # CMD tech IDE controllers | |
381 | cypide* at pci? dev ? function ? # Cypress IDE controllers | 391 | cypide* at pci? dev ? function ? # Cypress IDE controllers | |
382 | geodeide* at pci? dev ? function ? # AMD Geode IDE controllers | 392 | geodeide* at pci? dev ? function ? # AMD Geode IDE controllers | |
383 | hptide* at pci? dev ? function ? # Triones/HighPoint IDE controllers | 393 | hptide* at pci? dev ? function ? # Triones/HighPoint IDE controllers | |
384 | iteide* at pci? dev ? function ? # IT Express IDE controllers | 394 | iteide* at pci? dev ? function ? # IT Express IDE controllers | |
385 | ixpide* at pci? dev ? function ? # ATI IXP IDE controllers | 395 | ixpide* at pci? dev ? function ? # ATI IXP IDE controllers | |
386 | jmide* at pci? dev ? function ? # JMicron PCI-e PATA/SATA controllers | 396 | jmide* at pci? dev ? function ? # JMicron PCI-e PATA/SATA controllers | |
387 | ahcisata* at jmide? | 397 | ahcisata* at jmide? | |
388 | optiide* at pci? dev ? function ? # Opti IDE controllers | 398 | optiide* at pci? dev ? function ? # Opti IDE controllers | |
389 | piixide* at pci? dev ? function ? # Intel IDE controllers | 399 | piixide* at pci? dev ? function ? # Intel IDE controllers | |
390 | pdcide* at pci? dev ? function ? # Promise IDE controllers | 400 | pdcide* at pci? dev ? function ? # Promise IDE controllers | |
391 | pdcsata* at pci? dev ? function ? # Promise SATA150 controllers | 401 | pdcsata* at pci? dev ? function ? # Promise SATA150 controllers | |
392 | rccide* at pci? dev ? function ? # ServerWorks IDE controllers | 402 | rccide* at pci? dev ? function ? # ServerWorks IDE controllers | |
393 | satalink* at pci? dev ? function ? # SiI SATALink controllers | 403 | satalink* at pci? dev ? function ? # SiI SATALink controllers | |
394 | siside* at pci? dev ? function ? # SiS IDE controllers | 404 | siside* at pci? dev ? function ? # SiS IDE controllers | |
395 | slide* at pci? dev ? function ? # Symphony Labs IDE controllers | 405 | slide* at pci? dev ? function ? # Symphony Labs IDE controllers | |
396 | svwsata* at pci? dev ? function ? # ServerWorks SATA controllers | 406 | svwsata* at pci? dev ? function ? # ServerWorks SATA controllers | |
397 | stpcide* at pci? dev ? function ? # STMicro STPC IDE controllers | 407 | stpcide* at pci? dev ? function ? # STMicro STPC IDE controllers | |
398 | viaide* at pci? dev ? function ? # VIA/AMD/Nvidia IDE controllers | 408 | viaide* at pci? dev ? function ? # VIA/AMD/Nvidia IDE controllers | |
399 | 409 | |||
400 | # ATA (IDE) bus support | 410 | # ATA (IDE) bus support | |
401 | atabus* at ata? | 411 | atabus* at ata? | |
402 | 412 | |||
403 | # IDE drives | 413 | # IDE drives | |
404 | # Flags are used only with controllers that support DMA operations | 414 | # Flags are used only with controllers that support DMA operations | |
405 | # and mode settings (e.g. some pciide controllers) | 415 | # and mode settings (e.g. some pciide controllers) | |
406 | # The lowest order four bits (rightmost digit) of the flags define the PIO | 416 | # The lowest order four bits (rightmost digit) of the flags define the PIO | |
407 | # mode to use, the next set of four bits the DMA mode and the third set the | 417 | # mode to use, the next set of four bits the DMA mode and the third set the | |
408 | # UltraDMA mode. For each set of four bits, the 3 lower bits define the mode | 418 | # UltraDMA mode. For each set of four bits, the 3 lower bits define the mode | |
409 | # to use, and the last bit must be 1 for this setting to be used. | 419 | # to use, and the last bit must be 1 for this setting to be used. | |
410 | # For DMA and UDMA, 0xf (1111) means 'disable'. | 420 | # For DMA and UDMA, 0xf (1111) means 'disable'. | |
411 | # 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'. | 421 | # 0x0fac means 'use PIO mode 4, DMA mode 2, disable UltraDMA'. | |
412 | # (0xc=1100, 0xa=1010, 0xf=1111) | 422 | # (0xc=1100, 0xa=1010, 0xf=1111) | |
413 | # 0x0000 means "use whatever the drive claims to support". | 423 | # 0x0000 means "use whatever the drive claims to support". | |
414 | wd* at atabus? drive ? flags 0x0000 | 424 | wd* at atabus? drive ? flags 0x0000 | |
415 | 425 | |||
416 | # ATA RAID configuration support, as found on some Promise controllers. | 426 | # ATA RAID configuration support, as found on some Promise controllers. | |
417 | pseudo-device ataraid | 427 | pseudo-device ataraid | |
418 | ld* at ataraid? vendtype ? unit ? | 428 | ld* at ataraid? vendtype ? unit ? | |
419 | 429 | |||
420 | # ATAPI bus support | 430 | # ATAPI bus support | |
421 | atapibus* at atapi? | 431 | atapibus* at atapi? | |
422 | 432 | |||
423 | # ATAPI devices | 433 | # ATAPI devices | |
424 | # flags have the same meaning as for IDE drives. | 434 | # flags have the same meaning as for IDE drives. | |
425 | cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives | 435 | cd* at atapibus? drive ? flags 0x0000 # ATAPI CD-ROM drives | |
426 | sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives | 436 | sd* at atapibus? drive ? flags 0x0000 # ATAPI disk drives | |
427 | st* at atapibus? drive ? flags 0x0000 # ATAPI tape drives | 437 | st* at atapibus? drive ? flags 0x0000 # ATAPI tape drives | |
428 | uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown | 438 | uk* at atapibus? drive ? flags 0x0000 # ATAPI unknown | |
429 | 439 | |||
430 | # SCSI Controllers and Devices | 440 | # SCSI Controllers and Devices | |
431 | 441 | |||
432 | # PCI SCSI controllers | 442 | # PCI SCSI controllers | |
433 | adv* at pci? dev ? function ? # AdvanSys 1200[A,B], 9xx[U,UA] SCSI | 443 | adv* at pci? dev ? function ? # AdvanSys 1200[A,B], 9xx[U,UA] SCSI | |
434 | adw* at pci? dev ? function ? # AdvanSys 9x0UW[D], 3940U[2,3]W SCSI | 444 | adw* at pci? dev ? function ? # AdvanSys 9x0UW[D], 3940U[2,3]W SCSI | |
435 | ahc* at pci? dev ? function ? # Adaptec [23]94x, aic78x0 SCSI | 445 | ahc* at pci? dev ? function ? # Adaptec [23]94x, aic78x0 SCSI | |
436 | ahd* at pci? dev ? function ? # Adaptec 29320, 39320 (aic790x) SCSI | 446 | ahd* at pci? dev ? function ? # Adaptec 29320, 39320 (aic790x) SCSI | |
437 | bha* at pci? dev ? function ? # BusLogic 9xx SCSI | 447 | bha* at pci? dev ? function ? # BusLogic 9xx SCSI | |
438 | dpt* at pci? dev ? function ? # DPT SmartCache/SmartRAID | 448 | dpt* at pci? dev ? function ? # DPT SmartCache/SmartRAID | |
439 | iha* at pci? dev ? function ? # Initio INIC-940/950 SCSI | 449 | iha* at pci? dev ? function ? # Initio INIC-940/950 SCSI | |
440 | isp* at pci? dev ? function ? # Qlogic ISP [12]0x0 SCSI/FibreChannel | 450 | isp* at pci? dev ? function ? # Qlogic ISP [12]0x0 SCSI/FibreChannel | |
441 | mfi* at pci? dev ? function ? # LSI MegaRAID SAS | 451 | mfi* at pci? dev ? function ? # LSI MegaRAID SAS | |
442 | mly* at pci? dev ? function ? # Mylex AcceleRAID and eXtremeRAID | 452 | mly* at pci? dev ? function ? # Mylex AcceleRAID and eXtremeRAID | |
443 | mpt* at pci? dev ? function ? # LSI Fusion SCSI/FC | 453 | mpt* at pci? dev ? function ? # LSI Fusion SCSI/FC | |
444 | njs* at pci? dev ? function ? # Workbit NinjaSCSI-32 | 454 | njs* at pci? dev ? function ? # Workbit NinjaSCSI-32 | |
445 | pcscp* at pci? dev ? function ? # AMD 53c974 PCscsi-PCI SCSI | 455 | pcscp* at pci? dev ? function ? # AMD 53c974 PCscsi-PCI SCSI | |
446 | siop* at pci? dev ? function ? # Symbios 53c8xx SCSI | 456 | siop* at pci? dev ? function ? # Symbios 53c8xx SCSI | |
447 | esiop* at pci? dev ? function ? # Symbios 53c875 SCSI and newer | 457 | esiop* at pci? dev ? function ? # Symbios 53c875 SCSI and newer | |
448 | #options SIOP_SYMLED # drive the act. LED in software | 458 | #options SIOP_SYMLED # drive the act. LED in software | |
449 | trm* at pci? dev ? function ? # Tekram DC-395U/UW/F, DC-315/U SCSI | 459 | trm* at pci? dev ? function ? # Tekram DC-395U/UW/F, DC-315/U SCSI | |
450 | # SCSI bus support | 460 | # SCSI bus support | |
451 | scsibus* at scsi? | 461 | scsibus* at scsi? | |
452 | 462 | |||
453 | # SCSI devices | 463 | # SCSI devices | |
454 | sd* at scsibus? target ? lun ? # SCSI disk drives | 464 | sd* at scsibus? target ? lun ? # SCSI disk drives | |
455 | st* at scsibus? target ? lun ? # SCSI tape drives | 465 | st* at scsibus? target ? lun ? # SCSI tape drives | |
456 | cd* at scsibus? target ? lun ? # SCSI CD-ROM drives | 466 | cd* at scsibus? target ? lun ? # SCSI CD-ROM drives | |
457 | ch* at scsibus? target ? lun ? # SCSI autochangers | 467 | ch* at scsibus? target ? lun ? # SCSI autochangers | |
458 | ses* at scsibus? target ? lun ? # SCSI Enclosure Services devices | 468 | ses* at scsibus? target ? lun ? # SCSI Enclosure Services devices | |
459 | ss* at scsibus? target ? lun ? # SCSI scanners | 469 | ss* at scsibus? target ? lun ? # SCSI scanners | |
460 | uk* at scsibus? target ? lun ? # SCSI unknown | 470 | uk* at scsibus? target ? lun ? # SCSI unknown | |
461 | 471 | |||
462 | # RAID controllers and devices | 472 | # RAID controllers and devices | |
463 | aac* at pci? dev ? function ? # Adaptec AAC family | 473 | aac* at pci? dev ? function ? # Adaptec AAC family | |
464 | amr* at pci? dev ? function ? # AMI/LSI Logic MegaRAID | 474 | amr* at pci? dev ? function ? # AMI/LSI Logic MegaRAID | |
465 | arcmsr* at pci? dev ? function ? # Areca SATA RAID controllers | 475 | arcmsr* at pci? dev ? function ? # Areca SATA RAID controllers | |
466 | cac* at pci? dev ? function ? # Compaq PCI array controllers | 476 | cac* at pci? dev ? function ? # Compaq PCI array controllers | |
467 | ciss* at pci? dev ? function ? # HP Smart Array controllers | 477 | ciss* at pci? dev ? function ? # HP Smart Array controllers | |
468 | icp* at pci? dev ? function ? # ICP-Vortex GDT & Intel RAID | 478 | icp* at pci? dev ? function ? # ICP-Vortex GDT & Intel RAID | |
469 | mlx* at pci? dev ? function ? # Mylex DAC960 & DEC SWXCR family | 479 | mlx* at pci? dev ? function ? # Mylex DAC960 & DEC SWXCR family | |
470 | twe* at pci? dev ? function ? # 3ware Escalade RAID controllers | 480 | twe* at pci? dev ? function ? # 3ware Escalade RAID controllers | |
471 | twa* at pci? dev ? function ? # 3ware Escalade 95xx RAID controllers | 481 | twa* at pci? dev ? function ? # 3ware Escalade 95xx RAID controllers | |
472 | 482 | |||
473 | ld* at aac? unit ? # logical disk devices | 483 | ld* at aac? unit ? # logical disk devices | |
474 | ld* at amr? unit ? | 484 | ld* at amr? unit ? | |
475 | ld* at cac? unit ? | 485 | ld* at cac? unit ? | |
476 | ld* at icp? unit ? | 486 | ld* at icp? unit ? | |
477 | ld* at twe? unit ? | 487 | ld* at twe? unit ? | |
478 | ld* at twa? unit ? | 488 | ld* at twa? unit ? | |
479 | ld* at mlx? unit ? | 489 | ld* at mlx? unit ? | |
480 | 490 | |||
481 | icpsp* at icp? unit ? # SCSI pass-through | 491 | icpsp* at icp? unit ? # SCSI pass-through | |
482 | 492 | |||
483 | # wscons | 493 | # wscons | |
484 | pckbc0 at isa? # pc keyboard controller | 494 | pckbc0 at isa? # pc keyboard controller | |
485 | pckbd* at pckbc? # PC keyboard | 495 | pckbd* at pckbc? # PC keyboard | |
486 | pms* at pckbc? # PS/2 mouse for wsmouse | 496 | pms* at pckbc? # PS/2 mouse for wsmouse | |
487 | #options PMS_DISABLE_POWERHOOK # Disable PS/2 reset on resume | 497 | #options PMS_DISABLE_POWERHOOK # Disable PS/2 reset on resume | |
488 | #vga0 at isa? | 498 | #vga0 at isa? | |
489 | vga* at pci? dev ? function ? | 499 | vga* at pci? dev ? function ? | |
490 | #pcdisplay0 at isa? # CGA, MDA, EGA, HGA | 500 | #pcdisplay0 at isa? # CGA, MDA, EGA, HGA | |
491 | #machfb* at pci? dev ? function ? # ATI Mach64 framebuffer driver | 501 | #machfb* at pci? dev ? function ? # ATI Mach64 framebuffer driver | |
492 | wsdisplay* at vga? console ? | 502 | wsdisplay* at vga? console ? | |
493 | #wsdisplay* at pcdisplay? console ? | 503 | #wsdisplay* at pcdisplay? console ? | |
494 | #wsdisplay* at machfb? console ? | 504 | #wsdisplay* at machfb? console ? | |
495 | wskbd* at pckbd? console ? | 505 | wskbd* at pckbd? console ? | |
496 | wsmouse* at pms? mux 0 | 506 | wsmouse* at pms? mux 0 | |
497 | 507 | |||
498 | # USB Controller and Devices | 508 | # USB Controller and Devices | |
499 | 509 | |||
500 | # PCI USB controllers | 510 | # PCI USB controllers | |
501 | ehci* at pci? dev ? function ? # Enhanced Host Controller | 511 | ehci* at pci? dev ? function ? # Enhanced Host Controller | |
502 | ohci* at pci? dev ? function ? # Open Host Controller | 512 | ohci* at pci? dev ? function ? # Open Host Controller | |
503 | uhci* at pci? dev ? function ? # Universal Host Controller (Intel) | 513 | uhci* at pci? dev ? function ? # Universal Host Controller (Intel) | |
504 | 514 | |||
505 | # USB bus support | 515 | # USB bus support | |
506 | usb* at ehci? | 516 | usb* at ehci? | |
507 | usb* at ohci? | 517 | usb* at ohci? | |
508 | usb* at uhci? | 518 | usb* at uhci? | |
509 | 519 | |||
510 | # USB Hubs | 520 | # USB Hubs | |
511 | uhub* at usb? | 521 | uhub* at usb? | |
512 | uhub* at uhub? port ? | 522 | uhub* at uhub? port ? | |
513 | 523 | |||
514 | # USB HID device | 524 | # USB HID device | |
515 | uhidev* at uhub? port ? configuration ? interface ? | 525 | uhidev* at uhub? port ? configuration ? interface ? | |
516 | 526 | |||
517 | # USB Mice | 527 | # USB Mice | |
518 | ums* at uhidev? reportid ? | 528 | ums* at uhidev? reportid ? | |
519 | wsmouse* at ums? mux 0 | 529 | wsmouse* at ums? mux 0 | |
520 | 530 | |||
521 | # USB eGalax touch-panel | 531 | # USB eGalax touch-panel | |
522 | uep* at uhub? port ? | 532 | uep* at uhub? port ? | |
523 | wsmouse* at uep? mux 0 | 533 | wsmouse* at uep? mux 0 | |
524 | 534 | |||
525 | # USB Keyboards | 535 | # USB Keyboards | |
526 | ukbd* at uhidev? reportid ? | 536 | ukbd* at uhidev? reportid ? | |
527 | wskbd* at ukbd? console ? mux 1 | 537 | wskbd* at ukbd? console ? mux 1 | |
528 | 538 | |||
529 | # USB serial adapter | 539 | # USB serial adapter | |
530 | ucycom* at uhidev? reportid ? | 540 | ucycom* at uhidev? reportid ? | |
531 | 541 | |||
532 | # USB Generic HID devices | 542 | # USB Generic HID devices | |
533 | uhid* at uhidev? reportid ? | 543 | uhid* at uhidev? reportid ? | |
534 | 544 | |||
535 | # USB Printer | 545 | # USB Printer | |
536 | ulpt* at uhub? port ? configuration ? interface ? | 546 | ulpt* at uhub? port ? configuration ? interface ? | |
537 | 547 | |||
538 | # USB Modem | 548 | # USB Modem | |
539 | umodem* at uhub? port ? configuration ? | 549 | umodem* at uhub? port ? configuration ? | |
540 | ucom* at umodem? | 550 | ucom* at umodem? | |
541 | 551 | |||
542 | # Huawei E220 3G/HSDPA modem | 552 | # Huawei E220 3G/HSDPA modem | |
543 | uhmodem* at uhub? port ? configuration ? interface ? | 553 | uhmodem* at uhub? port ? configuration ? interface ? | |
544 | ucom* at uhmodem? portno ? | 554 | ucom* at uhmodem? portno ? | |
545 | 555 | |||
546 | # USB Mass Storage | 556 | # USB Mass Storage | |
547 | umass* at uhub? port ? configuration ? interface ? | 557 | umass* at uhub? port ? configuration ? interface ? | |
548 | wd* at umass? | 558 | wd* at umass? | |
549 | 559 | |||
550 | # USB audio | 560 | # USB audio | |
551 | uaudio* at uhub? port ? configuration ? | 561 | uaudio* at uhub? port ? configuration ? | |
552 | 562 | |||
553 | # USB MIDI | 563 | # USB MIDI | |
554 | umidi* at uhub? port ? configuration ? | 564 | umidi* at uhub? port ? configuration ? | |
555 | 565 | |||
556 | # USB IrDA | 566 | # USB IrDA | |
557 | # USB-IrDA bridge spec | 567 | # USB-IrDA bridge spec | |
558 | uirda* at uhub? port ? configuration ? interface ? | 568 | uirda* at uhub? port ? configuration ? interface ? | |
559 | irframe* at uirda? | 569 | irframe* at uirda? | |
560 | 570 | |||
561 | # SigmaTel STIr4200 USB/IrDA Bridge | 571 | # SigmaTel STIr4200 USB/IrDA Bridge | |
562 | ustir* at uhub? port ? | 572 | ustir* at uhub? port ? | |
563 | irframe* at ustir? | 573 | irframe* at ustir? | |
564 | 574 | |||
565 | # USB Ethernet adapters | 575 | # USB Ethernet adapters | |
566 | aue* at uhub? port ? # ADMtek AN986 Pegasus based adapters | 576 | aue* at uhub? port ? # ADMtek AN986 Pegasus based adapters | |
567 | axe* at uhub? port ? # ASIX AX88172 based adapters | 577 | axe* at uhub? port ? # ASIX AX88172 based adapters | |
568 | cdce* at uhub? port ? # CDC, Ethernet Networking Control Model | 578 | cdce* at uhub? port ? # CDC, Ethernet Networking Control Model | |
569 | cue* at uhub? port ? # CATC USB-EL1201A based adapters | 579 | cue* at uhub? port ? # CATC USB-EL1201A based adapters | |
570 | kue* at uhub? port ? # Kawasaki LSI KL5KUSB101B based adapters | 580 | kue* at uhub? port ? # Kawasaki LSI KL5KUSB101B based adapters | |
571 | udav* at uhub? port ? # Davicom DM9601 based adapters | 581 | udav* at uhub? port ? # Davicom DM9601 based adapters | |
572 | url* at uhub? port ? # Realtek RTL8150L based adapters | 582 | url* at uhub? port ? # Realtek RTL8150L based adapters | |
573 | 583 | |||
574 | # USB 802.11 adapters | 584 | # USB 802.11 adapters | |
575 | atu* at uhub? port ? # Atmel AT76C50XX based adapters | 585 | atu* at uhub? port ? # Atmel AT76C50XX based adapters | |
576 | ral* at uhub? port ? # Ralink Technology RT25x0 802.11a/b/g | 586 | ral* at uhub? port ? # Ralink Technology RT25x0 802.11a/b/g | |
577 | rum* at uhub? port ? # Ralink Technology RT2501/RT2601 802.11a/b/g | 587 | rum* at uhub? port ? # Ralink Technology RT2501/RT2601 802.11a/b/g | |
578 | 588 | |||
579 | # Prolific PL2301/PL2302 host-to-host adapter | 589 | # Prolific PL2301/PL2302 host-to-host adapter | |
580 | upl* at uhub? port ? | 590 | upl* at uhub? port ? | |
581 | 591 | |||
582 | # Serial adapters | 592 | # Serial adapters | |
583 | ubsa* at uhub? port ? # Belkin serial adapter | 593 | ubsa* at uhub? port ? # Belkin serial adapter | |
584 | ucom* at ubsa? portno ? | 594 | ucom* at ubsa? portno ? | |
585 | 595 | |||
586 | uftdi* at uhub? port ? # FTDI FT8U100AX serial adapter | 596 | uftdi* at uhub? port ? # FTDI FT8U100AX serial adapter | |
587 | ucom* at uftdi? portno ? | 597 | ucom* at uftdi? portno ? | |
588 | 598 | |||
589 | umct* at uhub? port ? # MCT USB-RS232 serial adapter | 599 | umct* at uhub? port ? # MCT USB-RS232 serial adapter | |
590 | ucom* at umct? portno ? | 600 | ucom* at umct? portno ? | |
591 | 601 | |||
592 | uplcom* at uhub? port ? # I/O DATA USB-RSAQ2 serial adapter | 602 | uplcom* at uhub? port ? # I/O DATA USB-RSAQ2 serial adapter | |
593 | ucom* at uplcom? portno ? | 603 | ucom* at uplcom? portno ? | |
594 | 604 | |||
595 | uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter | 605 | uvscom* at uhub? port ? # SUNTAC Slipper U VS-10U serial adapter | |
596 | ucom* at uvscom? portno ? | 606 | ucom* at uvscom? portno ? | |
597 | 607 | |||
598 | # Diamond Multimedia Rio 500 | 608 | # Diamond Multimedia Rio 500 | |
599 | urio* at uhub? port ? | 609 | urio* at uhub? port ? | |
600 | 610 | |||
601 | # USB Handspring Visor | 611 | # USB Handspring Visor | |
602 | uvisor* at uhub? port ? | 612 | uvisor* at uhub? port ? | |
603 | ucom* at uvisor? | 613 | ucom* at uvisor? | |
604 | 614 | |||
605 | # Kyocera AIR-EDGE PHONE | 615 | # Kyocera AIR-EDGE PHONE | |
606 | ukyopon* at uhub? port ? | 616 | ukyopon* at uhub? port ? | |
607 | ucom* at ukyopon? portno ? | 617 | ucom* at ukyopon? portno ? | |
608 | 618 | |||
609 | # USB scanners | 619 | # USB scanners | |
610 | uscanner* at uhub? port ? | 620 | uscanner* at uhub? port ? | |
611 | 621 | |||
612 | # USB scanners that use SCSI emulation, e.g., HP5300 | 622 | # USB scanners that use SCSI emulation, e.g., HP5300 | |
613 | usscanner* at uhub? port ? | 623 | usscanner* at uhub? port ? | |
614 | 624 | |||
615 | # Y@P firmware loader | 625 | # Y@P firmware loader | |
616 | uyap* at uhub? port ? | 626 | uyap* at uhub? port ? | |
617 | 627 | |||
618 | # D-Link DSB-R100 USB radio | 628 | # D-Link DSB-R100 USB radio | |
619 | udsbr* at uhub? port ? | 629 | udsbr* at uhub? port ? | |
620 | radio* at udsbr? | 630 | radio* at udsbr? | |
621 | 631 | |||
622 | # USB Generic driver | 632 | # USB Generic driver | |
623 | ugen* at uhub? port ? | 633 | ugen* at uhub? port ? | |
624 | 634 | |||
625 | # PCI IEEE1394 controllers | 635 | # PCI IEEE1394 controllers | |
626 | fwohci* at pci? dev ? function ? # IEEE1394 Open Host Controller | 636 | fwohci* at pci? dev ? function ? # IEEE1394 Open Host Controller | |
627 | 637 | |||
628 | # CardBus IEEE1394 controllers | 638 | # CardBus IEEE1394 controllers | |
629 | #fwohci* at cardbus? function ? # IEEE1394 Open Host Controller | 639 | #fwohci* at cardbus? function ? # IEEE1394 Open Host Controller | |
630 | 640 | |||
631 | ieee1394if* at fwohci? | 641 | ieee1394if* at fwohci? | |
632 | fwip* at ieee1394if? # IP over IEEE1394 | 642 | fwip* at ieee1394if? # IP over IEEE1394 | |
633 | sbp* at ieee1394if? euihi ? euilo ? # SCSI over IEEE1394 | 643 | sbp* at ieee1394if? euihi ? euilo ? # SCSI over IEEE1394 | |
634 | 644 | |||
635 | # PCI audio devices | 645 | # PCI audio devices | |
636 | auacer* at pci? dev ? function ? # ALi M5455 integrated AC'97 Audio | 646 | auacer* at pci? dev ? function ? # ALi M5455 integrated AC'97 Audio | |
637 | auich* at pci? dev ? function ? # Intel ICH integrated AC'97 Audio | 647 | auich* at pci? dev ? function ? # Intel ICH integrated AC'97 Audio | |
638 | auixp* at pci? dev ? function ? # ATI IXP AC'97 Audio | 648 | auixp* at pci? dev ? function ? # ATI IXP AC'97 Audio | |
639 | autri* at pci? dev ? function ? # Trident 4DWAVE based AC'97 Audio | 649 | autri* at pci? dev ? function ? # Trident 4DWAVE based AC'97 Audio | |
640 | auvia* at pci? dev ? function ? # VIA VT82C686A integrated AC'97 Audio | 650 | auvia* at pci? dev ? function ? # VIA VT82C686A integrated AC'97 Audio | |
641 | clcs* at pci? dev ? function ? # Cirrus Logic CS4280 | 651 | clcs* at pci? dev ? function ? # Cirrus Logic CS4280 | |
642 | clct* at pci? dev ? function ? # Cirrus Logic CS4281 | 652 | clct* at pci? dev ? function ? # Cirrus Logic CS4281 | |
643 | cmpci* at pci? dev ? function ? # C-Media CMI8338/8738 | 653 | cmpci* at pci? dev ? function ? # C-Media CMI8338/8738 | |
644 | eap* at pci? dev ? function ? # Ensoniq AudioPCI | 654 | eap* at pci? dev ? function ? # Ensoniq AudioPCI | |
645 | emuxki* at pci? dev ? function ? # Creative SBLive! and PCI512 | 655 | emuxki* at pci? dev ? function ? # Creative SBLive! and PCI512 | |
646 | esa* at pci? dev ? function ? # ESS Allegro-1 / Maestro-3 PCI Audio | 656 | esa* at pci? dev ? function ? # ESS Allegro-1 / Maestro-3 PCI Audio | |
647 | esm* at pci? dev ? function ? # ESS Maestro-1/2/2e PCI Audio Accelerator | 657 | esm* at pci? dev ? function ? # ESS Maestro-1/2/2e PCI Audio Accelerator | |
648 | eso* at pci? dev ? function ? # ESS Solo-1 PCI AudioDrive | 658 | eso* at pci? dev ? function ? # ESS Solo-1 PCI AudioDrive | |
649 | fms* at pci? dev ? function ? # Forte Media FM801 | 659 | fms* at pci? dev ? function ? # Forte Media FM801 | |
650 | neo* at pci? dev ? function ? # NeoMagic 256 AC'97 Audio | 660 | neo* at pci? dev ? function ? # NeoMagic 256 AC'97 Audio | |
651 | sv* at pci? dev ? function ? # S3 SonicVibes | 661 | sv* at pci? dev ? function ? # S3 SonicVibes | |
652 | yds* at pci? dev ? function ? # Yamaha DS-1 PCI Audio | 662 | yds* at pci? dev ? function ? # Yamaha DS-1 PCI Audio | |
653 | 663 | |||
654 | # OPL[23] FM synthesizers | 664 | # OPL[23] FM synthesizers | |
655 | #opl0 at isa? port 0x388 # use only if not attached to sound card | 665 | #opl0 at isa? port 0x388 # use only if not attached to sound card | |
656 | opl* at cmpci? flags 1 | 666 | opl* at cmpci? flags 1 | |
657 | opl* at eso? | 667 | opl* at eso? | |
658 | opl* at fms? | 668 | opl* at fms? | |
659 | opl* at sv? | 669 | opl* at sv? | |
660 | opl* at yds? | 670 | opl* at yds? | |
661 | 671 | |||
662 | # Audio support | 672 | # Audio support | |
663 | audio* at audiobus? | 673 | audio* at audiobus? | |
664 | 674 | |||
665 | # MPU 401 UARTs | 675 | # MPU 401 UARTs | |
666 | #mpu* at isa? port 0x330 irq 9 # MPU401 or compatible card | 676 | #mpu* at isa? port 0x330 irq 9 # MPU401 or compatible card | |
667 | mpu* at cmpci? | 677 | mpu* at cmpci? | |
668 | mpu* at eso? | 678 | mpu* at eso? | |
669 | mpu* at fms? | 679 | mpu* at fms? | |
670 | mpu* at yds? | 680 | mpu* at yds? | |
671 | 681 | |||
672 | # MIDI support | 682 | # MIDI support | |
673 | midi* at midibus? | 683 | midi* at midibus? | |
674 | 684 | |||
675 | # Bluetooth Controller and Device support | 685 | # Bluetooth Controller and Device support | |
676 | 686 | |||
677 | # Bluetooth PCMCIA Controllers | 687 | # Bluetooth PCMCIA Controllers | |
678 | #bt3c* at pcmcia? function ? # 3Com 3CRWB6096-A | 688 | #bt3c* at pcmcia? function ? # 3Com 3CRWB6096-A | |
679 | #btbc* at pcmcia? function ? # AnyCom BlueCard LSE041/039/139 | 689 | #btbc* at pcmcia? function ? # AnyCom BlueCard LSE041/039/139 | |
680 | 690 | |||
681 | # Bluetooth USB Controllers | 691 | # Bluetooth USB Controllers | |
682 | ubt* at uhub? port ? | 692 | ubt* at uhub? port ? | |
683 | 693 | |||
684 | # Bluetooth Device Hub | 694 | # Bluetooth Device Hub | |
685 | #bthub* at bt3c? | 695 | #bthub* at bt3c? | |
686 | #bthub* at btbh? | 696 | #bthub* at btbh? | |
687 | bthub* at ubt? | 697 | bthub* at ubt? | |
688 | 698 | |||
689 | # Bluetooth HID support | 699 | # Bluetooth HID support | |
690 | bthidev* at bthub? | 700 | bthidev* at bthub? | |
691 | 701 | |||
692 | # Bluetooth Mouse | 702 | # Bluetooth Mouse | |
693 | btms* at bthidev? reportid ? | 703 | btms* at bthidev? reportid ? | |
694 | wsmouse* at btms? mux 0 | 704 | wsmouse* at btms? mux 0 | |
695 | 705 | |||
696 | # Bluetooth Keyboard | 706 | # Bluetooth Keyboard | |
697 | btkbd* at bthidev? reportid ? | 707 | btkbd* at bthidev? reportid ? | |
698 | wskbd* at btkbd? console ? mux 1 | 708 | wskbd* at btkbd? console ? mux 1 | |
699 | 709 | |||
700 | # Bluetooth Audio support | 710 | # Bluetooth Audio support | |
701 | btsco* at bthub? | 711 | btsco* at bthub? | |
702 | 712 | |||
703 | # Cryptographic Devices | 713 | # Cryptographic Devices | |
704 | 714 | |||
705 | # PCI cryptographic devices | 715 | # PCI cryptographic devices | |
706 | hifn* at pci? dev ? function ? # Hifn 7755/7811/795x | 716 | hifn* at pci? dev ? function ? # Hifn 7755/7811/795x | |
707 | ubsec* at pci? dev ? function ? # Broadcom 5501/5601/580x/582x | 717 | ubsec* at pci? dev ? function ? # Broadcom 5501/5601/580x/582x | |
708 | 718 | |||
709 | cinclude "arch/i386/conf/GENERIC.local" | 719 | cinclude "arch/i386/conf/GENERIC.local" | |
710 | 720 | |||
711 | # Pseudo-Devices | 721 | # Pseudo-Devices | |
712 | 722 | |||
713 | pseudo-device crypto # /dev/crypto device | 723 | pseudo-device crypto # /dev/crypto device | |
714 | pseudo-device swcrypto # software crypto implementation | 724 | pseudo-device swcrypto # software crypto implementation | |
715 | 725 | |||
716 | # disk/mass storage pseudo-devices | 726 | # disk/mass storage pseudo-devices | |
717 | pseudo-device bio # RAID control device driver | 727 | pseudo-device bio # RAID control device driver | |
718 | pseudo-device ccd 4 # concatenated/striped disk devices | 728 | pseudo-device ccd 4 # concatenated/striped disk devices | |
719 | pseudo-device cgd 4 # cryptographic disk devices | 729 | pseudo-device cgd 4 # cryptographic disk devices | |
720 | pseudo-device raid 8 # RAIDframe disk driver | 730 | pseudo-device raid 8 # RAIDframe disk driver | |
721 | options RAID_AUTOCONFIG # auto-configuration of RAID components | 731 | options RAID_AUTOCONFIG # auto-configuration of RAID components | |
722 | # Options to enable various other RAIDframe RAID types. | 732 | # Options to enable various other RAIDframe RAID types. | |
723 | #options RF_INCLUDE_EVENODD=1 | 733 | #options RF_INCLUDE_EVENODD=1 | |
724 | #options RF_INCLUDE_RAID5_RS=1 | 734 | #options RF_INCLUDE_RAID5_RS=1 | |
725 | #options RF_INCLUDE_PARITYLOGGING=1 | 735 | #options RF_INCLUDE_PARITYLOGGING=1 | |
726 | #options RF_INCLUDE_CHAINDECLUSTER=1 | 736 | #options RF_INCLUDE_CHAINDECLUSTER=1 | |
727 | #options RF_INCLUDE_INTERDECLUSTER=1 | 737 | #options RF_INCLUDE_INTERDECLUSTER=1 | |
728 | #options RF_INCLUDE_PARITY_DECLUSTERING=1 | 738 | #options RF_INCLUDE_PARITY_DECLUSTERING=1 | |
729 | #options RF_INCLUDE_PARITY_DECLUSTERING_DS=1 | 739 | #options RF_INCLUDE_PARITY_DECLUSTERING_DS=1 | |
730 | pseudo-device fss 4 # file system snapshot device | 740 | pseudo-device fss 4 # file system snapshot device | |
731 | 741 | |||
732 | pseudo-device md 1 # memory disk device (ramdisk) | 742 | pseudo-device md 1 # memory disk device (ramdisk) | |
733 | pseudo-device vnd # disk-like interface to files | 743 | pseudo-device vnd # disk-like interface to files | |
734 | 744 | |||
735 | # network pseudo-devices | 745 | # network pseudo-devices | |
736 | pseudo-device bpfilter # Berkeley packet filter | 746 | pseudo-device bpfilter # Berkeley packet filter | |
737 | pseudo-device ipfilter # IP filter (firewall) and NAT | 747 | pseudo-device ipfilter # IP filter (firewall) and NAT | |
738 | pseudo-device loop # network loopback | 748 | pseudo-device loop # network loopback | |
739 | pseudo-device ppp # Point-to-Point Protocol | 749 | pseudo-device ppp # Point-to-Point Protocol | |
740 | pseudo-device pppoe # PPP over Ethernet (RFC 2516) | 750 | pseudo-device pppoe # PPP over Ethernet (RFC 2516) | |
741 | pseudo-device sl # Serial Line IP | 751 | pseudo-device sl # Serial Line IP | |
742 | pseudo-device strip # Starmode Radio IP (Metricom) | 752 | pseudo-device strip # Starmode Radio IP (Metricom) | |
743 | pseudo-device irframetty # IrDA frame line discipline | 753 | pseudo-device irframetty # IrDA frame line discipline | |
744 | pseudo-device tap # virtual Ethernet | 754 | pseudo-device tap # virtual Ethernet | |
745 | pseudo-device tun # network tunneling over tty | 755 | pseudo-device tun # network tunneling over tty | |
746 | pseudo-device gre # generic L3 over IP tunnel | 756 | pseudo-device gre # generic L3 over IP tunnel | |
747 | pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933) | 757 | pseudo-device gif # IPv[46] over IPv[46] tunnel (RFC1933) | |
748 | #pseudo-device faith # IPv[46] tcp relay translation i/f | 758 | #pseudo-device faith # IPv[46] tcp relay translation i/f | |
749 | pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation | 759 | pseudo-device stf # 6to4 IPv6 over IPv4 encapsulation | |
750 | pseudo-device vlan # IEEE 802.1q encapsulation | 760 | pseudo-device vlan # IEEE 802.1q encapsulation | |
751 | pseudo-device bridge # simple inter-network bridging | 761 | pseudo-device bridge # simple inter-network bridging | |
752 | #options BRIDGE_IPF # bridge uses IP/IPv6 pfil hooks too | 762 | #options BRIDGE_IPF # bridge uses IP/IPv6 pfil hooks too | |
753 | #pseudo-device pf # PF packet filter | 763 | #pseudo-device pf # PF packet filter | |
754 | #pseudo-device pflog # PF log if | 764 | #pseudo-device pflog # PF log if | |
755 | 765 | |||
756 | # accept filters | 766 | # accept filters | |
757 | pseudo-device accf_data # "dataready" accept filter | 767 | pseudo-device accf_data # "dataready" accept filter | |
758 | pseudo-device accf_http # "httpready" accept filter | 768 | pseudo-device accf_http # "httpready" accept filter | |
759 | 769 | |||
760 | # miscellaneous pseudo-devices | 770 | # miscellaneous pseudo-devices | |
761 | pseudo-device pty # pseudo-terminals | 771 | pseudo-device pty # pseudo-terminals | |
762 | pseudo-device sequencer 1 # MIDI sequencer | 772 | pseudo-device sequencer 1 # MIDI sequencer | |
763 | # rnd works; RND_COM does not on port i386 yet. | 773 | # rnd works; RND_COM does not on port i386 yet. | |
764 | pseudo-device rnd # /dev/random and in-kernel generator | 774 | pseudo-device rnd # /dev/random and in-kernel generator | |
765 | #options RND_COM # use "com" randomness as well (BROKEN) | 775 | #options RND_COM # use "com" randomness as well (BROKEN) | |
766 | pseudo-device clockctl # user control of clock subsystem | 776 | pseudo-device clockctl # user control of clock subsystem | |
767 | pseudo-device ksyms # /dev/ksyms | 777 | pseudo-device ksyms # /dev/ksyms | |
768 | 778 | |||
769 | # a pseudo device needed for Coda # also needs CODA (above) | 779 | # a pseudo device needed for Coda # also needs CODA (above) | |
770 | pseudo-device vcoda 4 # coda minicache <-> venus comm. | 780 | pseudo-device vcoda 4 # coda minicache <-> venus comm. | |
771 | 781 | |||
772 | # a pseudo device needed for SMBFS | 782 | # a pseudo device needed for SMBFS | |
773 | pseudo-device nsmb # experimental - SMB requester | 783 | pseudo-device nsmb # experimental - SMB requester | |
774 | 784 | |||
775 | # wscons pseudo-devices | 785 | # wscons pseudo-devices | |
776 | pseudo-device wsmux # mouse & keyboard multiplexor | 786 | pseudo-device wsmux # mouse & keyboard multiplexor | |
777 | pseudo-device wsfont | 787 | pseudo-device wsfont | |
778 | 788 | |||
779 | # userland interface to drivers, including autoconf and properties retrieval | 789 | # userland interface to drivers, including autoconf and properties retrieval | |
780 | pseudo-device drvctl | 790 | pseudo-device drvctl | |
781 | 791 | |||
782 | # xen pseudo-devices | 792 | # xen pseudo-devices | |
783 | pseudo-device xenevt | 793 | pseudo-device xenevt | |
784 | pseudo-device xvif | 794 | pseudo-device xvif | |
785 | pseudo-device xbdback | 795 | pseudo-device xbdback | |
786 | 796 | |||
787 | ppb* at pci? dev ? function ? # PCI-PCI bridges | 797 | ppb* at pci? dev ? function ? # PCI-PCI bridges | |
788 | pci* at ppb? bus ? | 798 | pci* at ppb? bus ? | |
789 | 799 | |||
790 | # pci backend devices, used for PCI pass-through. To export a PCI device | 800 | # pci backend devices, used for PCI pass-through. To export a PCI device | |
791 | # to a domU, the device has to be attached to the pciback driver in the dom0. | 801 | # to a domU, the device has to be attached to the pciback driver in the dom0. | |
792 | # you can force a device to attach to the pciback driver in dom0 passing | 802 | # you can force a device to attach to the pciback driver in dom0 passing | |
793 | # pciback.hide=(bus:dev.fun)(bus:dev.func) to the dom0 kernel boot parameters. | 803 | # pciback.hide=(bus:dev.fun)(bus:dev.func) to the dom0 kernel boot parameters. | |
794 | # bus and dev are 2-digits hex number, func is a single-digit number: | 804 | # bus and dev are 2-digits hex number, func is a single-digit number: | |
795 | # pciback.hide=(00:1a.0)(00:1a.1)(00:1a.7) | 805 | # pciback.hide=(00:1a.0)(00:1a.1)(00:1a.7) | |
796 | pciback* at pci? #pci backend device | 806 | pciback* at pci? #pci backend device | |
797 | 807 | |||
798 | acpi0 at hypervisor? | 808 | acpi0 at hypervisor? | |
799 | options MPBIOS | 809 | options MPBIOS | |
800 | options MPDEBUG | 810 | options MPDEBUG | |
801 | options MPVERBOSE | 811 | options MPVERBOSE | |
802 | options ACPIVERBOSE | 812 | options ACPIVERBOSE | |
803 | #options PCI_ADDR_FIXUP # fixup PCI I/O addresses | 813 | #options PCI_ADDR_FIXUP # fixup PCI I/O addresses | |
804 | #options PCI_BUS_FIXUP # fixup PCI bus numbering | 814 | #options PCI_BUS_FIXUP # fixup PCI bus numbering | |
805 | #options PCI_INTR_FIXUP # fixup PCI interrupt routing | 815 | #options PCI_INTR_FIXUP # fixup PCI interrupt routing | |
806 | 816 | |||
807 | ioapic* at mainbus? apid ? | 817 | ioapic* at mainbus? apid ? | |
808 | 818 | |||
809 | # ACPI devices | 819 | # ACPI devices | |
810 | acpiacad* at acpi? # ACPI AC Adapter | 820 | acpiacad* at acpi? # ACPI AC Adapter | |
811 | acpibat* at acpi? # ACPI Battery | 821 | acpibat* at acpi? # ACPI Battery | |
812 | acpibut* at acpi? # ACPI Button | 822 | acpibut* at acpi? # ACPI Button | |
813 | acpidalb* at acpi? # ACPI Direct Application Launch Button | 823 | acpidalb* at acpi? # ACPI Direct Application Launch Button | |
814 | # The ACPI Embedded Controller is generally configured via the special ECDT. | 824 | # The ACPI Embedded Controller is generally configured via the special ECDT. | |
815 | # This is required as parts of the DSDT can reference the EC before the normal | 825 | # This is required as parts of the DSDT can reference the EC before the normal | |
816 | # attach phase. | 826 | # attach phase. | |
817 | acpiec* at acpi? # ACPI Embedded Controller (late binding) | 827 | acpiec* at acpi? # ACPI Embedded Controller (late binding) | |
818 | acpiecdt* at acpi? # ACPI Embedded Controller (early binding) | 828 | acpiecdt* at acpi? # ACPI Embedded Controller (early binding) | |
819 | acpilid* at acpi? # ACPI Lid Switch | 829 | acpilid* at acpi? # ACPI Lid Switch | |
820 | hpqlb* at acpi? # HP Quick Launch Buttons | 830 | hpqlb* at acpi? # HP Quick Launch Buttons | |
821 | 831 |
--- src/sys/arch/x86/include/cpuvar.h 2009/03/11 03:34:43 1.28
+++ src/sys/arch/x86/include/cpuvar.h 2009/08/05 20:15:36 1.29
@@ -1,143 +1,143 @@ | @@ -1,143 +1,143 @@ | |||
1 | /* $NetBSD: cpuvar.h,v 1.28 2009/03/11 03:34:43 yamt Exp $ */ | 1 | /* $NetBSD: cpuvar.h,v 1.29 2009/08/05 20:15:36 jym Exp $ */ | |
2 | 2 | |||
3 | /*- | 3 | /*- | |
4 | * Copyright (c) 2000, 2007 The NetBSD Foundation, Inc. | 4 | * Copyright (c) 2000, 2007 The NetBSD Foundation, Inc. | |
5 | * All rights reserved. | 5 | * All rights reserved. | |
6 | * | 6 | * | |
7 | * This code is derived from software contributed to The NetBSD Foundation | 7 | * This code is derived from software contributed to The NetBSD Foundation | |
8 | * by RedBack Networks Inc. | 8 | * by RedBack Networks Inc. | |
9 | * | 9 | * | |
10 | * Author: Bill Sommerfeld | 10 | * Author: Bill Sommerfeld | |
11 | * | 11 | * | |
12 | * Redistribution and use in source and binary forms, with or without | 12 | * Redistribution and use in source and binary forms, with or without | |
13 | * modification, are permitted provided that the following conditions | 13 | * modification, are permitted provided that the following conditions | |
14 | * are met: | 14 | * are met: | |
15 | * 1. Redistributions of source code must retain the above copyright | 15 | * 1. Redistributions of source code must retain the above copyright | |
16 | * notice, this list of conditions and the following disclaimer. | 16 | * notice, this list of conditions and the following disclaimer. | |
17 | * 2. Redistributions in binary form must reproduce the above copyright | 17 | * 2. Redistributions in binary form must reproduce the above copyright | |
18 | * notice, this list of conditions and the following disclaimer in the | 18 | * notice, this list of conditions and the following disclaimer in the | |
19 | * documentation and/or other materials provided with the distribution. | 19 | * documentation and/or other materials provided with the distribution. | |
20 | * | 20 | * | |
21 | * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS | 21 | * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS | |
22 | * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED | 22 | * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED | |
23 | * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 23 | * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | |
24 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS | 24 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS | |
25 | * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 25 | * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |
26 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 26 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |
27 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 27 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |
28 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | 28 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | |
29 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 29 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | |
30 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | 30 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
31 | * POSSIBILITY OF SUCH DAMAGE. | 31 | * POSSIBILITY OF SUCH DAMAGE. | |
32 | */ | 32 | */ | |
33 | 33 | |||
34 | /* | 34 | /* | |
35 | * Copyright (c) 1999 Stefan Grefen | 35 | * Copyright (c) 1999 Stefan Grefen | |
36 | * | 36 | * | |
37 | * Redistribution and use in source and binary forms, with or without | 37 | * Redistribution and use in source and binary forms, with or without | |
38 | * modification, are permitted provided that the following conditions | 38 | * modification, are permitted provided that the following conditions | |
39 | * are met: | 39 | * are met: | |
40 | * 1. Redistributions of source code must retain the above copyright | 40 | * 1. Redistributions of source code must retain the above copyright | |
41 | * notice, this list of conditions and the following disclaimer. | 41 | * notice, this list of conditions and the following disclaimer. | |
42 | * 2. Redistributions in binary form must reproduce the above copyright | 42 | * 2. Redistributions in binary form must reproduce the above copyright | |
43 | * notice, this list of conditions and the following disclaimer in the | 43 | * notice, this list of conditions and the following disclaimer in the | |
44 | * documentation and/or other materials provided with the distribution. | 44 | * documentation and/or other materials provided with the distribution. | |
45 | * 3. All advertising materials mentioning features or use of this software | 45 | * 3. All advertising materials mentioning features or use of this software | |
46 | * must display the following acknowledgement: | 46 | * must display the following acknowledgement: | |
47 | * This product includes software developed by the NetBSD | 47 | * This product includes software developed by the NetBSD | |
48 | * Foundation, Inc. and its contributors. | 48 | * Foundation, Inc. and its contributors. | |
49 | * 4. Neither the name of The NetBSD Foundation nor the names of its | 49 | * 4. Neither the name of The NetBSD Foundation nor the names of its | |
50 | * contributors may be used to endorse or promote products derived | 50 | * contributors may be used to endorse or promote products derived | |
51 | * from this software without specific prior written permission. | 51 | * from this software without specific prior written permission. | |
52 | * | 52 | * | |
53 | * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY | 53 | * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY | |
54 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 54 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
55 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 55 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
56 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE | 56 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE | |
57 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | 57 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | |
58 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | 58 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | |
59 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | 59 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | |
60 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | 60 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | |
61 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | 61 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | |
62 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 62 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | |
63 | * SUCH DAMAGE. | 63 | * SUCH DAMAGE. | |
64 | */ | 64 | */ | |
65 | 65 | |||
66 | #ifndef _X86_CPUVAR_H_ | 66 | #ifndef _X86_CPUVAR_H_ | |
67 | #define _X86_CPUVAR_H_ | 67 | #define _X86_CPUVAR_H_ | |
68 | 68 | |||
69 | struct cpu_functions { | 69 | struct cpu_functions { | |
70 | int (*start)(struct cpu_info *, paddr_t); | 70 | int (*start)(struct cpu_info *, paddr_t); | |
71 | int (*stop)(struct cpu_info *); | 71 | int (*stop)(struct cpu_info *); | |
72 | void (*cleanup)(struct cpu_info *); | 72 | void (*cleanup)(struct cpu_info *); | |
73 | }; | 73 | }; | |
74 | 74 | |||
75 | extern const struct cpu_functions mp_cpu_funcs; | 75 | extern const struct cpu_functions mp_cpu_funcs; | |
76 | 76 | |||
77 | #define CPU_ROLE_SP 0 | 77 | #define CPU_ROLE_SP 0 | |
78 | #define CPU_ROLE_BP 1 | 78 | #define CPU_ROLE_BP 1 | |
79 | #define CPU_ROLE_AP 2 | 79 | #define CPU_ROLE_AP 2 | |
80 | 80 | |||
81 | struct cpu_attach_args { | 81 | struct cpu_attach_args { | |
82 | int cpu_number; | 82 | int cpu_number; | |
83 | int cpu_role; | 83 | int cpu_role; | |
84 | const struct cpu_functions *cpu_func; | 84 | const struct cpu_functions *cpu_func; | |
85 | }; | 85 | }; | |
86 | 86 | |||
87 | #ifdef _KERNEL | 87 | #ifdef _KERNEL | |
88 | 88 | |||
89 | #if defined(_KERNEL_OPT) | 89 | #if defined(_KERNEL_OPT) | |
90 | #include "opt_multiprocessor.h" | 90 | #include "opt_multiprocessor.h" | |
91 | #ifndef XEN | |||
92 | #include "opt_enhanced_speedstep.h" | 91 | #include "opt_enhanced_speedstep.h" | |
92 | #ifndef XEN | |||
93 | #include "opt_intel_coretemp.h" | 93 | #include "opt_intel_coretemp.h" | |
94 | #include "opt_intel_odcm.h" | 94 | #include "opt_intel_odcm.h" | |
95 | #endif | 95 | #endif | |
96 | #endif /* defined(_KERNEL_OPT) */ | 96 | #endif /* defined(_KERNEL_OPT) */ | |
97 | 97 | |||
98 | #ifdef MULTIPROCESSOR | 98 | #ifdef MULTIPROCESSOR | |
99 | extern uint32_t cpus_running; | 99 | extern uint32_t cpus_running; | |
100 | #endif | 100 | #endif | |
101 | 101 | |||
102 | int x86_ipi(int, int, int); | 102 | int x86_ipi(int, int, int); | |
103 | void x86_self_ipi(int); | 103 | void x86_self_ipi(int); | |
104 | int x86_ipi_init(int); | 104 | int x86_ipi_init(int); | |
105 | int x86_ipi_startup(int, int); | 105 | int x86_ipi_startup(int, int); | |
106 | void x86_errata(void); | 106 | void x86_errata(void); | |
107 | 107 | |||
108 | void identifycpu(struct cpu_info *); | 108 | void identifycpu(struct cpu_info *); | |
109 | void identifycpu_cpuids(struct cpu_info *); | 109 | void identifycpu_cpuids(struct cpu_info *); | |
110 | void cpu_init(struct cpu_info *); | 110 | void cpu_init(struct cpu_info *); | |
111 | void cpu_init_tss(struct cpu_info *); | 111 | void cpu_init_tss(struct cpu_info *); | |
112 | void cpu_init_first(void); | 112 | void cpu_init_first(void); | |
113 | 113 | |||
114 | void x86_cpu_idle_init(void); | 114 | void x86_cpu_idle_init(void); | |
115 | void x86_cpu_idle_halt(void); | 115 | void x86_cpu_idle_halt(void); | |
116 | void x86_cpu_idle_mwait(void); | 116 | void x86_cpu_idle_mwait(void); | |
117 | #ifdef XEN | 117 | #ifdef XEN | |
118 | void x86_cpu_idle_xen(void); | 118 | void x86_cpu_idle_xen(void); | |
119 | #endif | 119 | #endif | |
120 | 120 | |||
121 | #ifdef INTEL_CORETEMP | 121 | #ifdef INTEL_CORETEMP | |
122 | void coretemp_register(struct cpu_info *); | 122 | void coretemp_register(struct cpu_info *); | |
123 | #endif | 123 | #endif | |
124 | 124 | |||
125 | #ifdef INTEL_ONDEMAND_CLOCKMOD | 125 | #ifdef INTEL_ONDEMAND_CLOCKMOD | |
126 | void clockmod_init(void); | 126 | void clockmod_init(void); | |
127 | #endif | 127 | #endif | |
128 | 128 | |||
129 | #ifdef ENHANCED_SPEEDSTEP | 129 | #ifdef ENHANCED_SPEEDSTEP | |
130 | void est_init(int); | 130 | void est_init(int); | |
131 | int via_get_bus_clock(struct cpu_info *); | 131 | int via_get_bus_clock(struct cpu_info *); | |
132 | int p3_get_bus_clock(struct cpu_info *); | 132 | int p3_get_bus_clock(struct cpu_info *); | |
133 | int p4_get_bus_clock(struct cpu_info *); | 133 | int p4_get_bus_clock(struct cpu_info *); | |
134 | #endif | 134 | #endif | |
135 | 135 | |||
136 | void cpu_get_tsc_freq(struct cpu_info *); | 136 | void cpu_get_tsc_freq(struct cpu_info *); | |
137 | 137 | |||
138 | extern int cpu_vendor; | 138 | extern int cpu_vendor; | |
139 | extern bool x86_mp_online; | 139 | extern bool x86_mp_online; | |
140 | 140 | |||
141 | #endif | 141 | #endif | |
142 | 142 | |||
143 | #endif /* !_X86_CPUVAR_H_ */ | 143 | #endif /* !_X86_CPUVAR_H_ */ |
--- src/sys/arch/x86/x86/x86_machdep.c 2009/06/20 13:10:14 1.32
+++ src/sys/arch/x86/x86/x86_machdep.c 2009/08/05 20:15:36 1.33
@@ -1,830 +1,828 @@ | @@ -1,830 +1,828 @@ | |||
1 | /* $NetBSD: x86_machdep.c,v 1.32 2009/06/20 13:10:14 cegger Exp $ */ | 1 | /* $NetBSD: x86_machdep.c,v 1.33 2009/08/05 20:15:36 jym Exp $ */ | |
2 | 2 | |||
3 | /*- | 3 | /*- | |
4 | * Copyright (c) 2002, 2006, 2007 YAMAMOTO Takashi, | 4 | * Copyright (c) 2002, 2006, 2007 YAMAMOTO Takashi, | |
5 | * Copyright (c) 2005, 2008, 2009 The NetBSD Foundation, Inc. | 5 | * Copyright (c) 2005, 2008, 2009 The NetBSD Foundation, Inc. | |
6 | * All rights reserved. | 6 | * All rights reserved. | |
7 | * | 7 | * | |
8 | * This code is derived from software contributed to The NetBSD Foundation | 8 | * This code is derived from software contributed to The NetBSD Foundation | |
9 | * by Julio M. Merino Vidal. | 9 | * by Julio M. Merino Vidal. | |
10 | * | 10 | * | |
11 | * Redistribution and use in source and binary forms, with or without | 11 | * Redistribution and use in source and binary forms, with or without | |
12 | * modification, are permitted provided that the following conditions | 12 | * modification, are permitted provided that the following conditions | |
13 | * are met: | 13 | * are met: | |
14 | * 1. Redistributions of source code must retain the above copyright | 14 | * 1. Redistributions of source code must retain the above copyright | |
15 | * notice, this list of conditions and the following disclaimer. | 15 | * notice, this list of conditions and the following disclaimer. | |
16 | * 2. Redistributions in binary form must reproduce the above copyright | 16 | * 2. Redistributions in binary form must reproduce the above copyright | |
17 | * notice, this list of conditions and the following disclaimer in the | 17 | * notice, this list of conditions and the following disclaimer in the | |
18 | * documentation and/or other materials provided with the distribution. | 18 | * documentation and/or other materials provided with the distribution. | |
19 | * | 19 | * | |
20 | * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS | 20 | * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS | |
21 | * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED | 21 | * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED | |
22 | * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 22 | * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | |
23 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS | 23 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS | |
24 | * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 24 | * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |
25 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 25 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |
26 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 26 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |
27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | 27 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | |
28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 28 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | |
29 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | 29 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
30 | * POSSIBILITY OF SUCH DAMAGE. | 30 | * POSSIBILITY OF SUCH DAMAGE. | |
31 | */ | 31 | */ | |
32 | 32 | |||
33 | #include <sys/cdefs.h> | 33 | #include <sys/cdefs.h> | |
34 | __KERNEL_RCSID(0, "$NetBSD: x86_machdep.c,v 1.32 2009/06/20 13:10:14 cegger Exp $"); | 34 | __KERNEL_RCSID(0, "$NetBSD: x86_machdep.c,v 1.33 2009/08/05 20:15:36 jym Exp $"); | |
35 | 35 | |||
36 | #include "opt_modular.h" | 36 | #include "opt_modular.h" | |
37 | 37 | |||
38 | #include <sys/types.h> | 38 | #include <sys/types.h> | |
39 | #include <sys/param.h> | 39 | #include <sys/param.h> | |
40 | #include <sys/systm.h> | 40 | #include <sys/systm.h> | |
41 | #include <sys/kcore.h> | 41 | #include <sys/kcore.h> | |
42 | #include <sys/errno.h> | 42 | #include <sys/errno.h> | |
43 | #include <sys/kauth.h> | 43 | #include <sys/kauth.h> | |
44 | #include <sys/mutex.h> | 44 | #include <sys/mutex.h> | |
45 | #include <sys/cpu.h> | 45 | #include <sys/cpu.h> | |
46 | #include <sys/intr.h> | 46 | #include <sys/intr.h> | |
47 | #include <sys/atomic.h> | 47 | #include <sys/atomic.h> | |
48 | #include <sys/module.h> | 48 | #include <sys/module.h> | |
49 | #include <sys/sysctl.h> | 49 | #include <sys/sysctl.h> | |
50 | #include <sys/extent.h> | 50 | #include <sys/extent.h> | |
51 | 51 | |||
52 | #include <x86/cpu_msr.h> | 52 | #include <x86/cpu_msr.h> | |
53 | #include <x86/cpuvar.h> | 53 | #include <x86/cpuvar.h> | |
54 | #include <x86/cputypes.h> | 54 | #include <x86/cputypes.h> | |
55 | #include <x86/machdep.h> | 55 | #include <x86/machdep.h> | |
56 | #include <x86/pio.h> | 56 | #include <x86/pio.h> | |
57 | 57 | |||
58 | #include <dev/isa/isareg.h> | 58 | #include <dev/isa/isareg.h> | |
59 | #include <dev/ic/i8042reg.h> | 59 | #include <dev/ic/i8042reg.h> | |
60 | 60 | |||
61 | #include <machine/bootinfo.h> | 61 | #include <machine/bootinfo.h> | |
62 | #include <machine/vmparam.h> | 62 | #include <machine/vmparam.h> | |
63 | 63 | |||
64 | #include <uvm/uvm_extern.h> | 64 | #include <uvm/uvm_extern.h> | |
65 | 65 | |||
66 | int check_pa_acc(paddr_t, vm_prot_t); | 66 | int check_pa_acc(paddr_t, vm_prot_t); | |
67 | 67 | |||
68 | /* --------------------------------------------------------------------- */ | 68 | /* --------------------------------------------------------------------- */ | |
69 | 69 | |||
70 | /* | 70 | /* | |
71 | * Main bootinfo structure. This is filled in by the bootstrap process | 71 | * Main bootinfo structure. This is filled in by the bootstrap process | |
72 | * done in locore.S based on the information passed by the boot loader. | 72 | * done in locore.S based on the information passed by the boot loader. | |
73 | */ | 73 | */ | |
74 | struct bootinfo bootinfo; | 74 | struct bootinfo bootinfo; | |
75 | 75 | |||
76 | /* --------------------------------------------------------------------- */ | 76 | /* --------------------------------------------------------------------- */ | |
77 | 77 | |||
78 | /* | 78 | /* | |
79 | * Given the type of a bootinfo entry, looks for a matching item inside | 79 | * Given the type of a bootinfo entry, looks for a matching item inside | |
80 | * the bootinfo structure. If found, returns a pointer to it (which must | 80 | * the bootinfo structure. If found, returns a pointer to it (which must | |
81 | * then be casted to the appropriate bootinfo_* type); otherwise, returns | 81 | * then be casted to the appropriate bootinfo_* type); otherwise, returns | |
82 | * NULL. | 82 | * NULL. | |
83 | */ | 83 | */ | |
84 | void * | 84 | void * | |
85 | lookup_bootinfo(int type) | 85 | lookup_bootinfo(int type) | |
86 | { | 86 | { | |
87 | bool found; | 87 | bool found; | |
88 | int i; | 88 | int i; | |
89 | struct btinfo_common *bic; | 89 | struct btinfo_common *bic; | |
90 | 90 | |||
91 | bic = (struct btinfo_common *)(bootinfo.bi_data); | 91 | bic = (struct btinfo_common *)(bootinfo.bi_data); | |
92 | found = FALSE; | 92 | found = FALSE; | |
93 | for (i = 0; i < bootinfo.bi_nentries && !found; i++) { | 93 | for (i = 0; i < bootinfo.bi_nentries && !found; i++) { | |
94 | if (bic->type == type) | 94 | if (bic->type == type) | |
95 | found = TRUE; | 95 | found = TRUE; | |
96 | else | 96 | else | |
97 | bic = (struct btinfo_common *) | 97 | bic = (struct btinfo_common *) | |
98 | ((uint8_t *)bic + bic->len); | 98 | ((uint8_t *)bic + bic->len); | |
99 | } | 99 | } | |
100 | 100 | |||
101 | return found ? bic : NULL; | 101 | return found ? bic : NULL; | |
102 | } | 102 | } | |
103 | 103 | |||
104 | /* | 104 | /* | |
105 | * check_pa_acc: check if given pa is accessible. | 105 | * check_pa_acc: check if given pa is accessible. | |
106 | */ | 106 | */ | |
107 | int | 107 | int | |
108 | check_pa_acc(paddr_t pa, vm_prot_t prot) | 108 | check_pa_acc(paddr_t pa, vm_prot_t prot) | |
109 | { | 109 | { | |
110 | extern phys_ram_seg_t mem_clusters[VM_PHYSSEG_MAX]; | 110 | extern phys_ram_seg_t mem_clusters[VM_PHYSSEG_MAX]; | |
111 | extern int mem_cluster_cnt; | 111 | extern int mem_cluster_cnt; | |
112 | int i; | 112 | int i; | |
113 | 113 | |||
114 | for (i = 0; i < mem_cluster_cnt; i++) { | 114 | for (i = 0; i < mem_cluster_cnt; i++) { | |
115 | const phys_ram_seg_t *seg = &mem_clusters[i]; | 115 | const phys_ram_seg_t *seg = &mem_clusters[i]; | |
116 | paddr_t lstart = seg->start; | 116 | paddr_t lstart = seg->start; | |
117 | 117 | |||
118 | if (lstart <= pa && pa - lstart <= seg->size) { | 118 | if (lstart <= pa && pa - lstart <= seg->size) { | |
119 | return 0; | 119 | return 0; | |
120 | } | 120 | } | |
121 | } | 121 | } | |
122 | 122 | |||
123 | return kauth_authorize_machdep(kauth_cred_get(), | 123 | return kauth_authorize_machdep(kauth_cred_get(), | |
124 | KAUTH_MACHDEP_UNMANAGEDMEM, NULL, NULL, NULL, NULL); | 124 | KAUTH_MACHDEP_UNMANAGEDMEM, NULL, NULL, NULL, NULL); | |
125 | } | 125 | } | |
126 | 126 | |||
127 | /* | 127 | /* | |
128 | * This function is to initialize the mutex used by x86/msr_ipifuncs.c. | 128 | * This function is to initialize the mutex used by x86/msr_ipifuncs.c. | |
129 | */ | 129 | */ | |
130 | void | 130 | void | |
131 | x86_init(void) | 131 | x86_init(void) | |
132 | { | 132 | { | |
133 | #ifndef XEN | |||
134 | msr_cpu_broadcast_initmtx(); | 133 | msr_cpu_broadcast_initmtx(); | |
135 | #endif | |||
136 | } | 134 | } | |
137 | 135 | |||
138 | #ifdef MODULAR | 136 | #ifdef MODULAR | |
139 | /* | 137 | /* | |
140 | * Push any modules loaded by the boot loader. | 138 | * Push any modules loaded by the boot loader. | |
141 | */ | 139 | */ | |
142 | void | 140 | void | |
143 | module_init_md(void) | 141 | module_init_md(void) | |
144 | { | 142 | { | |
145 | struct btinfo_modulelist *biml; | 143 | struct btinfo_modulelist *biml; | |
146 | struct bi_modulelist_entry *bi, *bimax; | 144 | struct bi_modulelist_entry *bi, *bimax; | |
147 | 145 | |||
148 | biml = lookup_bootinfo(BTINFO_MODULELIST); | 146 | biml = lookup_bootinfo(BTINFO_MODULELIST); | |
149 | if (biml == NULL) { | 147 | if (biml == NULL) { | |
150 | aprint_debug("No module info at boot\n"); | 148 | aprint_debug("No module info at boot\n"); | |
151 | return; | 149 | return; | |
152 | } | 150 | } | |
153 | 151 | |||
154 | bi = (struct bi_modulelist_entry *)((uint8_t *)biml + sizeof(*biml)); | 152 | bi = (struct bi_modulelist_entry *)((uint8_t *)biml + sizeof(*biml)); | |
155 | bimax = bi + biml->num; | 153 | bimax = bi + biml->num; | |
156 | for (; bi < bimax; bi++) { | 154 | for (; bi < bimax; bi++) { | |
157 | if (bi->type != BI_MODULE_ELF) { | 155 | if (bi->type != BI_MODULE_ELF) { | |
158 | aprint_debug("Skipping non-ELF module\n"); | 156 | aprint_debug("Skipping non-ELF module\n"); | |
159 | continue; | 157 | continue; | |
160 | } | 158 | } | |
161 | aprint_debug("Prep module path=%s len=%d pa=%x\n", bi->path, | 159 | aprint_debug("Prep module path=%s len=%d pa=%x\n", bi->path, | |
162 | bi->len, bi->base); | 160 | bi->len, bi->base); | |
163 | KASSERT(trunc_page(bi->base) == bi->base); | 161 | KASSERT(trunc_page(bi->base) == bi->base); | |
164 | (void)module_prime((void *)((uintptr_t)bi->base + KERNBASE), | 162 | (void)module_prime((void *)((uintptr_t)bi->base + KERNBASE), | |
165 | bi->len); | 163 | bi->len); | |
166 | } | 164 | } | |
167 | } | 165 | } | |
168 | #endif /* MODULAR */ | 166 | #endif /* MODULAR */ | |
169 | 167 | |||
170 | void | 168 | void | |
171 | cpu_need_resched(struct cpu_info *ci, int flags) | 169 | cpu_need_resched(struct cpu_info *ci, int flags) | |
172 | { | 170 | { | |
173 | struct cpu_info *cur; | 171 | struct cpu_info *cur; | |
174 | lwp_t *l; | 172 | lwp_t *l; | |
175 | 173 | |||
176 | KASSERT(kpreempt_disabled()); | 174 | KASSERT(kpreempt_disabled()); | |
177 | cur = curcpu(); | 175 | cur = curcpu(); | |
178 | l = ci->ci_data.cpu_onproc; | 176 | l = ci->ci_data.cpu_onproc; | |
179 | ci->ci_want_resched |= flags; | 177 | ci->ci_want_resched |= flags; | |
180 | 178 | |||
181 | if (__predict_false((l->l_pflag & LP_INTR) != 0)) { | 179 | if (__predict_false((l->l_pflag & LP_INTR) != 0)) { | |
182 | /* | 180 | /* | |
183 | * No point doing anything, it will switch soon. | 181 | * No point doing anything, it will switch soon. | |
184 | * Also here to prevent an assertion failure in | 182 | * Also here to prevent an assertion failure in | |
185 | * kpreempt() due to preemption being set on a | 183 | * kpreempt() due to preemption being set on a | |
186 | * soft interrupt LWP. | 184 | * soft interrupt LWP. | |
187 | */ | 185 | */ | |
188 | return; | 186 | return; | |
189 | } | 187 | } | |
190 | 188 | |||
191 | if (l == ci->ci_data.cpu_idlelwp) { | 189 | if (l == ci->ci_data.cpu_idlelwp) { | |
192 | if (ci == cur) | 190 | if (ci == cur) | |
193 | return; | 191 | return; | |
194 | #ifndef XEN /* XXX review when Xen gets MP support */ | 192 | #ifndef XEN /* XXX review when Xen gets MP support */ | |
195 | if (x86_cpu_idle == x86_cpu_idle_halt) | 193 | if (x86_cpu_idle == x86_cpu_idle_halt) | |
196 | x86_send_ipi(ci, 0); | 194 | x86_send_ipi(ci, 0); | |
197 | #endif | 195 | #endif | |
198 | return; | 196 | return; | |
199 | } | 197 | } | |
200 | 198 | |||
201 | if ((flags & RESCHED_KPREEMPT) != 0) { | 199 | if ((flags & RESCHED_KPREEMPT) != 0) { | |
202 | #ifdef __HAVE_PREEMPTION | 200 | #ifdef __HAVE_PREEMPTION | |
203 | atomic_or_uint(&l->l_dopreempt, DOPREEMPT_ACTIVE); | 201 | atomic_or_uint(&l->l_dopreempt, DOPREEMPT_ACTIVE); | |
204 | if (ci == cur) { | 202 | if (ci == cur) { | |
205 | softint_trigger(1 << SIR_PREEMPT); | 203 | softint_trigger(1 << SIR_PREEMPT); | |
206 | } else { | 204 | } else { | |
207 | x86_send_ipi(ci, X86_IPI_KPREEMPT); | 205 | x86_send_ipi(ci, X86_IPI_KPREEMPT); | |
208 | } | 206 | } | |
209 | #endif | 207 | #endif | |
210 | } else { | 208 | } else { | |
211 | aston(l, X86_AST_PREEMPT); | 209 | aston(l, X86_AST_PREEMPT); | |
212 | if (ci == cur) { | 210 | if (ci == cur) { | |
213 | return; | 211 | return; | |
214 | } | 212 | } | |
215 | if ((flags & RESCHED_IMMED) != 0) { | 213 | if ((flags & RESCHED_IMMED) != 0) { | |
216 | x86_send_ipi(ci, 0); | 214 | x86_send_ipi(ci, 0); | |
217 | } | 215 | } | |
218 | } | 216 | } | |
219 | } | 217 | } | |
220 | 218 | |||
221 | void | 219 | void | |
222 | cpu_signotify(struct lwp *l) | 220 | cpu_signotify(struct lwp *l) | |
223 | { | 221 | { | |
224 | 222 | |||
225 | KASSERT(kpreempt_disabled()); | 223 | KASSERT(kpreempt_disabled()); | |
226 | aston(l, X86_AST_GENERIC); | 224 | aston(l, X86_AST_GENERIC); | |
227 | if (l->l_cpu != curcpu()) | 225 | if (l->l_cpu != curcpu()) | |
228 | x86_send_ipi(l->l_cpu, 0); | 226 | x86_send_ipi(l->l_cpu, 0); | |
229 | } | 227 | } | |
230 | 228 | |||
231 | void | 229 | void | |
232 | cpu_need_proftick(struct lwp *l) | 230 | cpu_need_proftick(struct lwp *l) | |
233 | { | 231 | { | |
234 | 232 | |||
235 | KASSERT(kpreempt_disabled()); | 233 | KASSERT(kpreempt_disabled()); | |
236 | KASSERT(l->l_cpu == curcpu()); | 234 | KASSERT(l->l_cpu == curcpu()); | |
237 | 235 | |||
238 | l->l_pflag |= LP_OWEUPC; | 236 | l->l_pflag |= LP_OWEUPC; | |
239 | aston(l, X86_AST_GENERIC); | 237 | aston(l, X86_AST_GENERIC); | |
240 | } | 238 | } | |
241 | 239 | |||
242 | bool | 240 | bool | |
243 | cpu_intr_p(void) | 241 | cpu_intr_p(void) | |
244 | { | 242 | { | |
245 | int idepth; | 243 | int idepth; | |
246 | 244 | |||
247 | kpreempt_disable(); | 245 | kpreempt_disable(); | |
248 | idepth = curcpu()->ci_idepth; | 246 | idepth = curcpu()->ci_idepth; | |
249 | kpreempt_enable(); | 247 | kpreempt_enable(); | |
250 | return (idepth >= 0); | 248 | return (idepth >= 0); | |
251 | } | 249 | } | |
252 | 250 | |||
253 | #ifdef __HAVE_PREEMPTION | 251 | #ifdef __HAVE_PREEMPTION | |
254 | /* | 252 | /* | |
255 | * Called to check MD conditions that would prevent preemption, and to | 253 | * Called to check MD conditions that would prevent preemption, and to | |
256 | * arrange for those conditions to be rechecked later. | 254 | * arrange for those conditions to be rechecked later. | |
257 | */ | 255 | */ | |
258 | bool | 256 | bool | |
259 | cpu_kpreempt_enter(uintptr_t where, int s) | 257 | cpu_kpreempt_enter(uintptr_t where, int s) | |
260 | { | 258 | { | |
261 | struct cpu_info *ci; | 259 | struct cpu_info *ci; | |
262 | lwp_t *l; | 260 | lwp_t *l; | |
263 | 261 | |||
264 | KASSERT(kpreempt_disabled()); | 262 | KASSERT(kpreempt_disabled()); | |
265 | 263 | |||
266 | l = curlwp; | 264 | l = curlwp; | |
267 | ci = curcpu(); | 265 | ci = curcpu(); | |
268 | 266 | |||
269 | /* | 267 | /* | |
270 | * If SPL raised, can't go. Note this implies that spin | 268 | * If SPL raised, can't go. Note this implies that spin | |
271 | * mutexes at IPL_NONE are _not_ valid to use. | 269 | * mutexes at IPL_NONE are _not_ valid to use. | |
272 | */ | 270 | */ | |
273 | if (s > IPL_PREEMPT) { | 271 | if (s > IPL_PREEMPT) { | |
274 | softint_trigger(1 << SIR_PREEMPT); | 272 | softint_trigger(1 << SIR_PREEMPT); | |
275 | aston(l, X86_AST_PREEMPT); /* paranoid */ | 273 | aston(l, X86_AST_PREEMPT); /* paranoid */ | |
276 | return false; | 274 | return false; | |
277 | } | 275 | } | |
278 | 276 | |||
279 | /* Must save cr2 or it could be clobbered. */ | 277 | /* Must save cr2 or it could be clobbered. */ | |
280 | ((struct pcb *)l->l_addr)->pcb_cr2 = rcr2(); | 278 | ((struct pcb *)l->l_addr)->pcb_cr2 = rcr2(); | |
281 | 279 | |||
282 | return true; | 280 | return true; | |
283 | } | 281 | } | |
284 | 282 | |||
285 | /* | 283 | /* | |
286 | * Called after returning from a kernel preemption, and called with | 284 | * Called after returning from a kernel preemption, and called with | |
287 | * preemption disabled. | 285 | * preemption disabled. | |
288 | */ | 286 | */ | |
289 | void | 287 | void | |
290 | cpu_kpreempt_exit(uintptr_t where) | 288 | cpu_kpreempt_exit(uintptr_t where) | |
291 | { | 289 | { | |
292 | extern char x86_copyfunc_start, x86_copyfunc_end; | 290 | extern char x86_copyfunc_start, x86_copyfunc_end; | |
293 | 291 | |||
294 | KASSERT(kpreempt_disabled()); | 292 | KASSERT(kpreempt_disabled()); | |
295 | 293 | |||
296 | /* | 294 | /* | |
297 | * If we interrupted any of the copy functions we must reload | 295 | * If we interrupted any of the copy functions we must reload | |
298 | * the pmap when resuming, as they cannot tolerate it being | 296 | * the pmap when resuming, as they cannot tolerate it being | |
299 | * swapped out. | 297 | * swapped out. | |
300 | */ | 298 | */ | |
301 | if (where >= (uintptr_t)&x86_copyfunc_start && | 299 | if (where >= (uintptr_t)&x86_copyfunc_start && | |
302 | where < (uintptr_t)&x86_copyfunc_end) { | 300 | where < (uintptr_t)&x86_copyfunc_end) { | |
303 | pmap_load(); | 301 | pmap_load(); | |
304 | } | 302 | } | |
305 | 303 | |||
306 | /* Restore cr2 only after the pmap, as pmap_load can block. */ | 304 | /* Restore cr2 only after the pmap, as pmap_load can block. */ | |
307 | lcr2(((struct pcb *)curlwp->l_addr)->pcb_cr2); | 305 | lcr2(((struct pcb *)curlwp->l_addr)->pcb_cr2); | |
308 | } | 306 | } | |
309 | 307 | |||
310 | /* | 308 | /* | |
311 | * Return true if preemption is disabled for MD reasons. Must be called | 309 | * Return true if preemption is disabled for MD reasons. Must be called | |
312 | * with preemption disabled, and thus is only for diagnostic checks. | 310 | * with preemption disabled, and thus is only for diagnostic checks. | |
313 | */ | 311 | */ | |
314 | bool | 312 | bool | |
315 | cpu_kpreempt_disabled(void) | 313 | cpu_kpreempt_disabled(void) | |
316 | { | 314 | { | |
317 | 315 | |||
318 | return curcpu()->ci_ilevel > IPL_NONE; | 316 | return curcpu()->ci_ilevel > IPL_NONE; | |
319 | } | 317 | } | |
320 | #endif /* __HAVE_PREEMPTION */ | 318 | #endif /* __HAVE_PREEMPTION */ | |
321 | 319 | |||
322 | void (*x86_cpu_idle)(void); | 320 | void (*x86_cpu_idle)(void); | |
323 | static char x86_cpu_idle_text[16]; | 321 | static char x86_cpu_idle_text[16]; | |
324 | 322 | |||
325 | SYSCTL_SETUP(sysctl_machdep_cpu_idle, "sysctl machdep cpu_idle") | 323 | SYSCTL_SETUP(sysctl_machdep_cpu_idle, "sysctl machdep cpu_idle") | |
326 | { | 324 | { | |
327 | const struct sysctlnode *mnode, *node; | 325 | const struct sysctlnode *mnode, *node; | |
328 | 326 | |||
329 | sysctl_createv(NULL, 0, NULL, &mnode, | 327 | sysctl_createv(NULL, 0, NULL, &mnode, | |
330 | CTLFLAG_PERMANENT, CTLTYPE_NODE, "machdep", NULL, | 328 | CTLFLAG_PERMANENT, CTLTYPE_NODE, "machdep", NULL, | |
331 | NULL, 0, NULL, 0, CTL_MACHDEP, CTL_EOL); | 329 | NULL, 0, NULL, 0, CTL_MACHDEP, CTL_EOL); | |
332 | 330 | |||
333 | sysctl_createv(NULL, 0, &mnode, &node, | 331 | sysctl_createv(NULL, 0, &mnode, &node, | |
334 | CTLFLAG_PERMANENT, CTLTYPE_STRING, "idle-mechanism", | 332 | CTLFLAG_PERMANENT, CTLTYPE_STRING, "idle-mechanism", | |
335 | SYSCTL_DESCR("Mechanism used for the idle loop."), | 333 | SYSCTL_DESCR("Mechanism used for the idle loop."), | |
336 | NULL, 0, x86_cpu_idle_text, 0, | 334 | NULL, 0, x86_cpu_idle_text, 0, | |
337 | CTL_CREATE, CTL_EOL); | 335 | CTL_CREATE, CTL_EOL); | |
338 | } | 336 | } | |
339 | 337 | |||
340 | void | 338 | void | |
341 | x86_cpu_idle_init(void) | 339 | x86_cpu_idle_init(void) | |
342 | { | 340 | { | |
343 | #ifndef XEN | 341 | #ifndef XEN | |
344 | if ((curcpu()->ci_feature2_flags & CPUID2_MONITOR) == 0 || | 342 | if ((curcpu()->ci_feature2_flags & CPUID2_MONITOR) == 0 || | |
345 | cpu_vendor == CPUVENDOR_AMD) { | 343 | cpu_vendor == CPUVENDOR_AMD) { | |
346 | strlcpy(x86_cpu_idle_text, "halt", sizeof(x86_cpu_idle_text)); | 344 | strlcpy(x86_cpu_idle_text, "halt", sizeof(x86_cpu_idle_text)); | |
347 | x86_cpu_idle = x86_cpu_idle_halt; | 345 | x86_cpu_idle = x86_cpu_idle_halt; | |
348 | } else { | 346 | } else { | |
349 | strlcpy(x86_cpu_idle_text, "mwait", sizeof(x86_cpu_idle_text)); | 347 | strlcpy(x86_cpu_idle_text, "mwait", sizeof(x86_cpu_idle_text)); | |
350 | x86_cpu_idle = x86_cpu_idle_mwait; | 348 | x86_cpu_idle = x86_cpu_idle_mwait; | |
351 | } | 349 | } | |
352 | #else | 350 | #else | |
353 | strlcpy(x86_cpu_idle_text, "xen", sizeof(x86_cpu_idle_text)); | 351 | strlcpy(x86_cpu_idle_text, "xen", sizeof(x86_cpu_idle_text)); | |
354 | x86_cpu_idle = x86_cpu_idle_xen; | 352 | x86_cpu_idle = x86_cpu_idle_xen; | |
355 | #endif | 353 | #endif | |
356 | } | 354 | } | |
357 | 355 | |||
358 | 356 | |||
359 | #ifndef XEN | 357 | #ifndef XEN | |
360 | 358 | |||
361 | #define KBTOB(x) ((size_t)(x) * 1024UL) | 359 | #define KBTOB(x) ((size_t)(x) * 1024UL) | |
362 | #define MBTOB(x) ((size_t)(x) * 1024UL * 1024UL) | 360 | #define MBTOB(x) ((size_t)(x) * 1024UL * 1024UL) | |
363 | 361 | |||
364 | extern paddr_t avail_start, avail_end; | 362 | extern paddr_t avail_start, avail_end; | |
365 | 363 | |||
366 | static int | 364 | static int | |
367 | add_mem_cluster(phys_ram_seg_t *seg_clusters, int seg_cluster_cnt, | 365 | add_mem_cluster(phys_ram_seg_t *seg_clusters, int seg_cluster_cnt, | |
368 | struct extent *iomem_ex, | 366 | struct extent *iomem_ex, | |
369 | uint64_t seg_start, uint64_t seg_end, uint32_t type) | 367 | uint64_t seg_start, uint64_t seg_end, uint32_t type) | |
370 | { | 368 | { | |
371 | uint64_t new_physmem = 0; | 369 | uint64_t new_physmem = 0; | |
372 | phys_ram_seg_t *cluster; | 370 | phys_ram_seg_t *cluster; | |
373 | int i; | 371 | int i; | |
374 | 372 | |||
375 | #ifdef i386 | 373 | #ifdef i386 | |
376 | #define TOPLIMIT 0x100000000ULL | 374 | #define TOPLIMIT 0x100000000ULL | |
377 | #else | 375 | #else | |
378 | #define TOPLIMIT 0x100000000000ULL | 376 | #define TOPLIMIT 0x100000000000ULL | |
379 | #endif | 377 | #endif | |
380 | 378 | |||
381 | if (seg_end > TOPLIMIT) { | 379 | if (seg_end > TOPLIMIT) { | |
382 | aprint_verbose("WARNING: skipping large memory map entry: " | 380 | aprint_verbose("WARNING: skipping large memory map entry: " | |
383 | "0x%"PRIx64"/0x%"PRIx64"/0x%x\n", | 381 | "0x%"PRIx64"/0x%"PRIx64"/0x%x\n", | |
384 | seg_start, | 382 | seg_start, | |
385 | (seg_end - seg_start), | 383 | (seg_end - seg_start), | |
386 | type); | 384 | type); | |
387 | return seg_cluster_cnt; | 385 | return seg_cluster_cnt; | |
388 | } | 386 | } | |
389 | 387 | |||
390 | /* | 388 | /* | |
391 | * XXX Chop the last page off the size so that | 389 | * XXX Chop the last page off the size so that | |
392 | * XXX it can fit in avail_end. | 390 | * XXX it can fit in avail_end. | |
393 | */ | 391 | */ | |
394 | if (seg_end == TOPLIMIT) | 392 | if (seg_end == TOPLIMIT) | |
395 | seg_end -= PAGE_SIZE; | 393 | seg_end -= PAGE_SIZE; | |
396 | 394 | |||
397 | if (seg_end <= seg_start) | 395 | if (seg_end <= seg_start) | |
398 | return seg_cluster_cnt; | 396 | return seg_cluster_cnt; | |
399 | 397 | |||
400 | for (i = 0; i < seg_cluster_cnt; i++) { | 398 | for (i = 0; i < seg_cluster_cnt; i++) { | |
401 | cluster = &seg_clusters[i]; | 399 | cluster = &seg_clusters[i]; | |
402 | if ((cluster->start == round_page(seg_start)) | 400 | if ((cluster->start == round_page(seg_start)) | |
403 | && (cluster->size == trunc_page(seg_end) - cluster->start)) | 401 | && (cluster->size == trunc_page(seg_end) - cluster->start)) | |
404 | { | 402 | { | |
405 | #ifdef DEBUG_MEMLOAD | 403 | #ifdef DEBUG_MEMLOAD | |
406 | printf("WARNING: skipping duplicate segment entry\n"); | 404 | printf("WARNING: skipping duplicate segment entry\n"); | |
407 | #endif | 405 | #endif | |
408 | return seg_cluster_cnt; | 406 | return seg_cluster_cnt; | |
409 | } | 407 | } | |
410 | } | 408 | } | |
411 | 409 | |||
412 | /* | 410 | /* | |
413 | * Allocate the physical addresses used by RAM | 411 | * Allocate the physical addresses used by RAM | |
414 | * from the iomem extent map. This is done before | 412 | * from the iomem extent map. This is done before | |
415 | * the addresses are page rounded just to make | 413 | * the addresses are page rounded just to make | |
416 | * sure we get them all. | 414 | * sure we get them all. | |
417 | */ | 415 | */ | |
418 | if (seg_start < 0x100000000ULL) { | 416 | if (seg_start < 0x100000000ULL) { | |
419 | uint64_t io_end; | 417 | uint64_t io_end; | |
420 | 418 | |||
421 | if (seg_end > 0x100000000ULL) | 419 | if (seg_end > 0x100000000ULL) | |
422 | io_end = 0x100000000ULL; | 420 | io_end = 0x100000000ULL; | |
423 | else | 421 | else | |
424 | io_end = seg_end; | 422 | io_end = seg_end; | |
425 | 423 | |||
426 | if (iomem_ex != NULL && extent_alloc_region(iomem_ex, seg_start, | 424 | if (iomem_ex != NULL && extent_alloc_region(iomem_ex, seg_start, | |
427 | io_end - seg_start, EX_NOWAIT)) { | 425 | io_end - seg_start, EX_NOWAIT)) { | |
428 | /* XXX What should we do? */ | 426 | /* XXX What should we do? */ | |
429 | printf("WARNING: CAN't ALLOCATE MEMORY SEGMENT " | 427 | printf("WARNING: CAN't ALLOCATE MEMORY SEGMENT " | |
430 | "(0x%"PRIx64"/0x%"PRIx64"/0x%x) FROM " | 428 | "(0x%"PRIx64"/0x%"PRIx64"/0x%x) FROM " | |
431 | "IOMEM EXTENT MAP!\n", | 429 | "IOMEM EXTENT MAP!\n", | |
432 | seg_start, seg_end - seg_start, type); | 430 | seg_start, seg_end - seg_start, type); | |
433 | return seg_cluster_cnt; | 431 | return seg_cluster_cnt; | |
434 | } | 432 | } | |
435 | } | 433 | } | |
436 | 434 | |||
437 | /* | 435 | /* | |
438 | * If it's not free memory, skip it. | 436 | * If it's not free memory, skip it. | |
439 | */ | 437 | */ | |
440 | if (type != BIM_Memory) | 438 | if (type != BIM_Memory) | |
441 | return seg_cluster_cnt; | 439 | return seg_cluster_cnt; | |
442 | 440 | |||
443 | /* XXX XXX XXX */ | 441 | /* XXX XXX XXX */ | |
444 | if (seg_cluster_cnt >= VM_PHYSSEG_MAX) | 442 | if (seg_cluster_cnt >= VM_PHYSSEG_MAX) | |
445 | panic("%s: too many memory segments (increase VM_PHYSSEG_MAX)", | 443 | panic("%s: too many memory segments (increase VM_PHYSSEG_MAX)", | |
446 | __func__); | 444 | __func__); | |
447 | 445 | |||
448 | #ifdef PHYSMEM_MAX_ADDR | 446 | #ifdef PHYSMEM_MAX_ADDR | |
449 | if (seg_start >= MBTOB(PHYSMEM_MAX_ADDR)) | 447 | if (seg_start >= MBTOB(PHYSMEM_MAX_ADDR)) | |
450 | return seg_cluster_cnt; | 448 | return seg_cluster_cnt; | |
451 | if (seg_end > MBTOB(PHYSMEM_MAX_ADDR)) | 449 | if (seg_end > MBTOB(PHYSMEM_MAX_ADDR)) | |
452 | seg_end = MBTOB(PHYSMEM_MAX_ADDR); | 450 | seg_end = MBTOB(PHYSMEM_MAX_ADDR); | |
453 | #endif | 451 | #endif | |
454 | 452 | |||
455 | seg_start = round_page(seg_start); | 453 | seg_start = round_page(seg_start); | |
456 | seg_end = trunc_page(seg_end); | 454 | seg_end = trunc_page(seg_end); | |
457 | 455 | |||
458 | if (seg_start == seg_end) | 456 | if (seg_start == seg_end) | |
459 | return seg_cluster_cnt; | 457 | return seg_cluster_cnt; | |
460 | 458 | |||
461 | cluster = &seg_clusters[seg_cluster_cnt]; | 459 | cluster = &seg_clusters[seg_cluster_cnt]; | |
462 | cluster->start = seg_start; | 460 | cluster->start = seg_start; | |
463 | if (iomem_ex != NULL) | 461 | if (iomem_ex != NULL) | |
464 | new_physmem = physmem + atop(seg_end - seg_start); | 462 | new_physmem = physmem + atop(seg_end - seg_start); | |
465 | 463 | |||
466 | #ifdef PHYSMEM_MAX_SIZE | 464 | #ifdef PHYSMEM_MAX_SIZE | |
467 | if (iomem_ex != NULL) { | 465 | if (iomem_ex != NULL) { | |
468 | if (physmem >= atop(MBTOB(PHYSMEM_MAX_SIZE))) | 466 | if (physmem >= atop(MBTOB(PHYSMEM_MAX_SIZE))) | |
469 | return seg_cluster_cnt; | 467 | return seg_cluster_cnt; | |
470 | if (new_physmem > atop(MBTOB(PHYSMEM_MAX_SIZE))) { | 468 | if (new_physmem > atop(MBTOB(PHYSMEM_MAX_SIZE))) { | |
471 | seg_end = seg_start + MBTOB(PHYSMEM_MAX_SIZE) - ptoa(physmem); | 469 | seg_end = seg_start + MBTOB(PHYSMEM_MAX_SIZE) - ptoa(physmem); | |
472 | new_physmem = atop(MBTOB(PHYSMEM_MAX_SIZE)); | 470 | new_physmem = atop(MBTOB(PHYSMEM_MAX_SIZE)); | |
473 | } | 471 | } | |
474 | } | 472 | } | |
475 | #endif | 473 | #endif | |
476 | 474 | |||
477 | cluster->size = seg_end - seg_start; | 475 | cluster->size = seg_end - seg_start; | |
478 | 476 | |||
479 | if (iomem_ex != NULL) { | 477 | if (iomem_ex != NULL) { | |
480 | if (avail_end < seg_end) | 478 | if (avail_end < seg_end) | |
481 | avail_end = seg_end; | 479 | avail_end = seg_end; | |
482 | physmem = new_physmem; | 480 | physmem = new_physmem; | |
483 | } | 481 | } | |
484 | seg_cluster_cnt++; | 482 | seg_cluster_cnt++; | |
485 | 483 | |||
486 | return seg_cluster_cnt; | 484 | return seg_cluster_cnt; | |
487 | } | 485 | } | |
488 | 486 | |||
489 | int | 487 | int | |
490 | initx86_parse_memmap(struct btinfo_memmap *bim, struct extent *iomem_ex) | 488 | initx86_parse_memmap(struct btinfo_memmap *bim, struct extent *iomem_ex) | |
491 | { | 489 | { | |
492 | uint64_t seg_start, seg_end; | 490 | uint64_t seg_start, seg_end; | |
493 | uint64_t addr, size; | 491 | uint64_t addr, size; | |
494 | uint32_t type; | 492 | uint32_t type; | |
495 | int x; | 493 | int x; | |
496 | 494 | |||
497 | KASSERT(bim != NULL); | 495 | KASSERT(bim != NULL); | |
498 | KASSERT(bim->num > 0); | 496 | KASSERT(bim->num > 0); | |
499 | 497 | |||
500 | #ifdef DEBUG_MEMLOAD | 498 | #ifdef DEBUG_MEMLOAD | |
501 | printf("BIOS MEMORY MAP (%d ENTRIES):\n", bim->num); | 499 | printf("BIOS MEMORY MAP (%d ENTRIES):\n", bim->num); | |
502 | #endif | 500 | #endif | |
503 | for (x = 0; x < bim->num; x++) { | 501 | for (x = 0; x < bim->num; x++) { | |
504 | addr = bim->entry[x].addr; | 502 | addr = bim->entry[x].addr; | |
505 | size = bim->entry[x].size; | 503 | size = bim->entry[x].size; | |
506 | type = bim->entry[x].type; | 504 | type = bim->entry[x].type; | |
507 | #ifdef DEBUG_MEMLOAD | 505 | #ifdef DEBUG_MEMLOAD | |
508 | printf(" addr 0x%"PRIx64" size 0x%"PRIx64" type 0x%x\n", | 506 | printf(" addr 0x%"PRIx64" size 0x%"PRIx64" type 0x%x\n", | |
509 | addr, size, type); | 507 | addr, size, type); | |
510 | #endif | 508 | #endif | |
511 | 509 | |||
512 | /* | 510 | /* | |
513 | * If the segment is not memory, skip it. | 511 | * If the segment is not memory, skip it. | |
514 | */ | 512 | */ | |
515 | switch (type) { | 513 | switch (type) { | |
516 | case BIM_Memory: | 514 | case BIM_Memory: | |
517 | case BIM_ACPI: | 515 | case BIM_ACPI: | |
518 | case BIM_NVS: | 516 | case BIM_NVS: | |
519 | break; | 517 | break; | |
520 | default: | 518 | default: | |
521 | continue; | 519 | continue; | |
522 | } | 520 | } | |
523 | 521 | |||
524 | /* | 522 | /* | |
525 | * If the segment is smaller than a page, skip it. | 523 | * If the segment is smaller than a page, skip it. | |
526 | */ | 524 | */ | |
527 | if (size < NBPG) | 525 | if (size < NBPG) | |
528 | continue; | 526 | continue; | |
529 | 527 | |||
530 | seg_start = addr; | 528 | seg_start = addr; | |
531 | seg_end = addr + size; | 529 | seg_end = addr + size; | |
532 | 530 | |||
533 | /* | 531 | /* | |
534 | * Avoid Compatibility Holes. | 532 | * Avoid Compatibility Holes. | |
535 | * XXX Holes within memory space that allow access | 533 | * XXX Holes within memory space that allow access | |
536 | * XXX to be directed to the PC-compatible frame buffer | 534 | * XXX to be directed to the PC-compatible frame buffer | |
537 | * XXX (0xa0000-0xbffff),to adapter ROM space | 535 | * XXX (0xa0000-0xbffff),to adapter ROM space | |
538 | * XXX (0xc0000-0xdffff), and to system BIOS space | 536 | * XXX (0xc0000-0xdffff), and to system BIOS space | |
539 | * XXX (0xe0000-0xfffff). | 537 | * XXX (0xe0000-0xfffff). | |
540 | * XXX Some laptop(for example,Toshiba Satellite2550X) | 538 | * XXX Some laptop(for example,Toshiba Satellite2550X) | |
541 | * XXX report this area and occurred problems, | 539 | * XXX report this area and occurred problems, | |
542 | * XXX so we avoid this area. | 540 | * XXX so we avoid this area. | |
543 | */ | 541 | */ | |
544 | if (seg_start < 0x100000 && seg_end > 0xa0000) { | 542 | if (seg_start < 0x100000 && seg_end > 0xa0000) { | |
545 | printf("WARNING: memory map entry overlaps " | 543 | printf("WARNING: memory map entry overlaps " | |
546 | "with ``Compatibility Holes'': " | 544 | "with ``Compatibility Holes'': " | |
547 | "0x%"PRIx64"/0x%"PRIx64"/0x%x\n", seg_start, | 545 | "0x%"PRIx64"/0x%"PRIx64"/0x%x\n", seg_start, | |
548 | seg_end - seg_start, type); | 546 | seg_end - seg_start, type); | |
549 | mem_cluster_cnt = add_mem_cluster( | 547 | mem_cluster_cnt = add_mem_cluster( | |
550 | mem_clusters, mem_cluster_cnt, iomem_ex, | 548 | mem_clusters, mem_cluster_cnt, iomem_ex, | |
551 | seg_start, 0xa0000, type); | 549 | seg_start, 0xa0000, type); | |
552 | mem_cluster_cnt = add_mem_cluster( | 550 | mem_cluster_cnt = add_mem_cluster( | |
553 | mem_clusters, mem_cluster_cnt, iomem_ex, | 551 | mem_clusters, mem_cluster_cnt, iomem_ex, | |
554 | 0x100000, seg_end, type); | 552 | 0x100000, seg_end, type); | |
555 | } else | 553 | } else | |
556 | mem_cluster_cnt = add_mem_cluster( | 554 | mem_cluster_cnt = add_mem_cluster( | |
557 | mem_clusters, mem_cluster_cnt, iomem_ex, | 555 | mem_clusters, mem_cluster_cnt, iomem_ex, | |
558 | seg_start, seg_end, type); | 556 | seg_start, seg_end, type); | |
559 | } | 557 | } | |
560 | 558 | |||
561 | return 0; | 559 | return 0; | |
562 | } | 560 | } | |
563 | 561 | |||
564 | int | 562 | int | |
565 | initx86_fake_memmap(struct extent *iomem_ex) | 563 | initx86_fake_memmap(struct extent *iomem_ex) | |
566 | { | 564 | { | |
567 | phys_ram_seg_t *cluster; | 565 | phys_ram_seg_t *cluster; | |
568 | KASSERT(mem_cluster_cnt == 0); | 566 | KASSERT(mem_cluster_cnt == 0); | |
569 | 567 | |||
570 | /* | 568 | /* | |
571 | * Allocate the physical addresses used by RAM from the iomem | 569 | * Allocate the physical addresses used by RAM from the iomem | |
572 | * extent map. This is done before the addresses are | 570 | * extent map. This is done before the addresses are | |
573 | * page rounded just to make sure we get them all. | 571 | * page rounded just to make sure we get them all. | |
574 | */ | 572 | */ | |
575 | if (extent_alloc_region(iomem_ex, 0, KBTOB(biosbasemem), | 573 | if (extent_alloc_region(iomem_ex, 0, KBTOB(biosbasemem), | |
576 | EX_NOWAIT)) | 574 | EX_NOWAIT)) | |
577 | { | 575 | { | |
578 | /* XXX What should we do? */ | 576 | /* XXX What should we do? */ | |
579 | printf("WARNING: CAN'T ALLOCATE BASE MEMORY FROM " | 577 | printf("WARNING: CAN'T ALLOCATE BASE MEMORY FROM " | |
580 | "IOMEM EXTENT MAP!\n"); | 578 | "IOMEM EXTENT MAP!\n"); | |
581 | } | 579 | } | |
582 | 580 | |||
583 | cluster = &mem_clusters[0]; | 581 | cluster = &mem_clusters[0]; | |
584 | cluster->start = 0; | 582 | cluster->start = 0; | |
585 | cluster->size = trunc_page(KBTOB(biosbasemem)); | 583 | cluster->size = trunc_page(KBTOB(biosbasemem)); | |
586 | physmem += atop(cluster->size); | 584 | physmem += atop(cluster->size); | |
587 | 585 | |||
588 | if (extent_alloc_region(iomem_ex, IOM_END, KBTOB(biosextmem), | 586 | if (extent_alloc_region(iomem_ex, IOM_END, KBTOB(biosextmem), | |
589 | EX_NOWAIT)) | 587 | EX_NOWAIT)) | |
590 | { | 588 | { | |
591 | /* XXX What should we do? */ | 589 | /* XXX What should we do? */ | |
592 | printf("WARNING: CAN'T ALLOCATE EXTENDED MEMORY FROM " | 590 | printf("WARNING: CAN'T ALLOCATE EXTENDED MEMORY FROM " | |
593 | "IOMEM EXTENT MAP!\n"); | 591 | "IOMEM EXTENT MAP!\n"); | |
594 | } | 592 | } | |
595 | 593 | |||
596 | #if NISADMA > 0 | 594 | #if NISADMA > 0 | |
597 | /* | 595 | /* | |
598 | * Some motherboards/BIOSes remap the 384K of RAM that would | 596 | * Some motherboards/BIOSes remap the 384K of RAM that would | |
599 | * normally be covered by the ISA hole to the end of memory | 597 | * normally be covered by the ISA hole to the end of memory | |
600 | * so that it can be used. However, on a 16M system, this | 598 | * so that it can be used. However, on a 16M system, this | |
601 | * would cause bounce buffers to be allocated and used. | 599 | * would cause bounce buffers to be allocated and used. | |
602 | * This is not desirable behaviour, as more than 384K of | 600 | * This is not desirable behaviour, as more than 384K of | |
603 | * bounce buffers might be allocated. As a work-around, | 601 | * bounce buffers might be allocated. As a work-around, | |
604 | * we round memory down to the nearest 1M boundary if | 602 | * we round memory down to the nearest 1M boundary if | |
605 | * we're using any isadma devices and the remapped memory | 603 | * we're using any isadma devices and the remapped memory | |
606 | * is what puts us over 16M. | 604 | * is what puts us over 16M. | |
607 | */ | 605 | */ | |
608 | if (biosextmem > (15*1024) && biosextmem < (16*1024)) { | 606 | if (biosextmem > (15*1024) && biosextmem < (16*1024)) { | |
609 | char pbuf[9]; | 607 | char pbuf[9]; | |
610 | 608 | |||
611 | format_bytes(pbuf, sizeof(pbuf), | 609 | format_bytes(pbuf, sizeof(pbuf), | |
612 | biosextmem - (15*1024)); | 610 | biosextmem - (15*1024)); | |
613 | printf("Warning: ignoring %s of remapped memory\n", | 611 | printf("Warning: ignoring %s of remapped memory\n", | |
614 | pbuf); | 612 | pbuf); | |
615 | biosextmem = (15*1024); | 613 | biosextmem = (15*1024); | |
616 | } | 614 | } | |
617 | #endif | 615 | #endif | |
618 | cluster = &mem_clusters[1]; | 616 | cluster = &mem_clusters[1]; | |
619 | cluster->start = IOM_END; | 617 | cluster->start = IOM_END; | |
620 | cluster->size = trunc_page(KBTOB(biosextmem)); | 618 | cluster->size = trunc_page(KBTOB(biosextmem)); | |
621 | physmem += atop(cluster->size); | 619 | physmem += atop(cluster->size); | |
622 | 620 | |||
623 | mem_cluster_cnt = 2; | 621 | mem_cluster_cnt = 2; | |
624 | 622 | |||
625 | avail_end = IOM_END + trunc_page(KBTOB(biosextmem)); | 623 | avail_end = IOM_END + trunc_page(KBTOB(biosextmem)); | |
626 | 624 | |||
627 | return 0; | 625 | return 0; | |
628 | } | 626 | } | |
629 | 627 | |||
630 | #ifdef amd64 | 628 | #ifdef amd64 | |
631 | extern vaddr_t kern_end; | 629 | extern vaddr_t kern_end; | |
632 | extern vaddr_t module_start, module_end; | 630 | extern vaddr_t module_start, module_end; | |
633 | #endif | 631 | #endif | |
634 | 632 | |||
635 | int | 633 | int | |
636 | initx86_load_memmap(paddr_t first_avail) | 634 | initx86_load_memmap(paddr_t first_avail) | |
637 | { | 635 | { | |
638 | uint64_t seg_start, seg_end; | 636 | uint64_t seg_start, seg_end; | |
639 | uint64_t seg_start1, seg_end1; | 637 | uint64_t seg_start1, seg_end1; | |
640 | int first16q, x; | 638 | int first16q, x; | |
641 | 639 | |||
642 | /* | 640 | /* | |
643 | * If we have 16M of RAM or less, just put it all on | 641 | * If we have 16M of RAM or less, just put it all on | |
644 | * the default free list. Otherwise, put the first | 642 | * the default free list. Otherwise, put the first | |
645 | * 16M of RAM on a lower priority free list (so that | 643 | * 16M of RAM on a lower priority free list (so that | |
646 | * all of the ISA DMA'able memory won't be eaten up | 644 | * all of the ISA DMA'able memory won't be eaten up | |
647 | * first-off). | 645 | * first-off). | |
648 | */ | 646 | */ | |
649 | if (avail_end <= (16 * 1024 * 1024)) | 647 | if (avail_end <= (16 * 1024 * 1024)) | |
650 | first16q = VM_FREELIST_DEFAULT; | 648 | first16q = VM_FREELIST_DEFAULT; | |
651 | else | 649 | else | |
652 | first16q = VM_FREELIST_FIRST16; | 650 | first16q = VM_FREELIST_FIRST16; | |
653 | 651 | |||
654 | /* Make sure the end of the space used by the kernel is rounded. */ | 652 | /* Make sure the end of the space used by the kernel is rounded. */ | |
655 | first_avail = round_page(first_avail); | 653 | first_avail = round_page(first_avail); | |
656 | 654 | |||
657 | #ifdef amd64 | 655 | #ifdef amd64 | |
658 | kern_end = KERNBASE + first_avail; | 656 | kern_end = KERNBASE + first_avail; | |
659 | module_start = kern_end; | 657 | module_start = kern_end; | |
660 | module_end = KERNBASE + NKL2_KIMG_ENTRIES * NBPD_L2; | 658 | module_end = KERNBASE + NKL2_KIMG_ENTRIES * NBPD_L2; | |
661 | #endif | 659 | #endif | |
662 | 660 | |||
663 | /* | 661 | /* | |
664 | * Now, load the memory clusters (which have already been | 662 | * Now, load the memory clusters (which have already been | |
665 | * rounded and truncated) into the VM system. | 663 | * rounded and truncated) into the VM system. | |
666 | * | 664 | * | |
667 | * NOTE: WE ASSUME THAT MEMORY STARTS AT 0 AND THAT THE KERNEL | 665 | * NOTE: WE ASSUME THAT MEMORY STARTS AT 0 AND THAT THE KERNEL | |
668 | * IS LOADED AT IOM_END (1M). | 666 | * IS LOADED AT IOM_END (1M). | |
669 | */ | 667 | */ | |
670 | for (x = 0; x < mem_cluster_cnt; x++) { | 668 | for (x = 0; x < mem_cluster_cnt; x++) { | |
671 | const phys_ram_seg_t *cluster = &mem_clusters[x]; | 669 | const phys_ram_seg_t *cluster = &mem_clusters[x]; | |
672 | 670 | |||
673 | seg_start = cluster->start; | 671 | seg_start = cluster->start; | |
674 | seg_end = cluster->start + cluster->size; | 672 | seg_end = cluster->start + cluster->size; | |
675 | seg_start1 = 0; | 673 | seg_start1 = 0; | |
676 | seg_end1 = 0; | 674 | seg_end1 = 0; | |
677 | 675 | |||
678 | /* | 676 | /* | |
679 | * Skip memory before our available starting point. | 677 | * Skip memory before our available starting point. | |
680 | */ | 678 | */ | |
681 | if (seg_end <= avail_start) | 679 | if (seg_end <= avail_start) | |
682 | continue; | 680 | continue; | |
683 | 681 | |||
684 | if (avail_start >= seg_start && avail_start < seg_end) { | 682 | if (avail_start >= seg_start && avail_start < seg_end) { | |
685 | if (seg_start != 0) | 683 | if (seg_start != 0) | |
686 | panic("init_x86_64: memory doesn't start at 0"); | 684 | panic("init_x86_64: memory doesn't start at 0"); | |
687 | seg_start = avail_start; | 685 | seg_start = avail_start; | |
688 | if (seg_start == seg_end) | 686 | if (seg_start == seg_end) | |
689 | continue; | 687 | continue; | |
690 | } | 688 | } | |
691 | 689 | |||
692 | /* | 690 | /* | |
693 | * If this segment contains the kernel, split it | 691 | * If this segment contains the kernel, split it | |
694 | * in two, around the kernel. | 692 | * in two, around the kernel. | |
695 | */ | 693 | */ | |
696 | if (seg_start <= IOM_END && first_avail <= seg_end) { | 694 | if (seg_start <= IOM_END && first_avail <= seg_end) { | |
697 | seg_start1 = first_avail; | 695 | seg_start1 = first_avail; | |
698 | seg_end1 = seg_end; | 696 | seg_end1 = seg_end; | |
699 | seg_end = IOM_END; | 697 | seg_end = IOM_END; | |
700 | KASSERT(seg_end < seg_end1); | 698 | KASSERT(seg_end < seg_end1); | |
701 | } | 699 | } | |
702 | 700 | |||
703 | /* First hunk */ | 701 | /* First hunk */ | |
704 | if (seg_start != seg_end) { | 702 | if (seg_start != seg_end) { | |
705 | if (seg_start < (16 * 1024 * 1024) && | 703 | if (seg_start < (16 * 1024 * 1024) && | |
706 | first16q != VM_FREELIST_DEFAULT) { | 704 | first16q != VM_FREELIST_DEFAULT) { | |
707 | uint64_t tmp; | 705 | uint64_t tmp; | |
708 | 706 | |||
709 | if (seg_end > (16 * 1024 * 1024)) | 707 | if (seg_end > (16 * 1024 * 1024)) | |
710 | tmp = (16 * 1024 * 1024); | 708 | tmp = (16 * 1024 * 1024); | |
711 | else | 709 | else | |
712 | tmp = seg_end; | 710 | tmp = seg_end; | |
713 | 711 | |||
714 | if (tmp != seg_start) { | 712 | if (tmp != seg_start) { | |
715 | #ifdef DEBUG_MEMLOAD | 713 | #ifdef DEBUG_MEMLOAD | |
716 | printf("loading 0x%"PRIx64"-0x%"PRIx64 | 714 | printf("loading 0x%"PRIx64"-0x%"PRIx64 | |
717 | " (0x%"PRIx64"-0x%"PRIx64")\n", | 715 | " (0x%"PRIx64"-0x%"PRIx64")\n", | |
718 | seg_start, tmp, | 716 | seg_start, tmp, | |
719 | (uint64_t)atop(seg_start), | 717 | (uint64_t)atop(seg_start), | |
720 | (uint64_t)atop(tmp)); | 718 | (uint64_t)atop(tmp)); | |
721 | #endif | 719 | #endif | |
722 | uvm_page_physload(atop(seg_start), | 720 | uvm_page_physload(atop(seg_start), | |
723 | atop(tmp), atop(seg_start), | 721 | atop(tmp), atop(seg_start), | |
724 | atop(tmp), first16q); | 722 | atop(tmp), first16q); | |
725 | } | 723 | } | |
726 | seg_start = tmp; | 724 | seg_start = tmp; | |
727 | } | 725 | } | |
728 | 726 | |||
729 | if (seg_start != seg_end) { | 727 | if (seg_start != seg_end) { | |
730 | #ifdef DEBUG_MEMLOAD | 728 | #ifdef DEBUG_MEMLOAD | |
731 | printf("loading 0x%"PRIx64"-0x%"PRIx64 | 729 | printf("loading 0x%"PRIx64"-0x%"PRIx64 | |
732 | " (0x%"PRIx64"-0x%"PRIx64")\n", | 730 | " (0x%"PRIx64"-0x%"PRIx64")\n", | |
733 | seg_start, seg_end, | 731 | seg_start, seg_end, | |
734 | (uint64_t)atop(seg_start), | 732 | (uint64_t)atop(seg_start), | |
735 | (uint64_t)atop(seg_end)); | 733 | (uint64_t)atop(seg_end)); | |
736 | #endif | 734 | #endif | |
737 | uvm_page_physload(atop(seg_start), | 735 | uvm_page_physload(atop(seg_start), | |
738 | atop(seg_end), atop(seg_start), | 736 | atop(seg_end), atop(seg_start), | |
739 | atop(seg_end), VM_FREELIST_DEFAULT); | 737 | atop(seg_end), VM_FREELIST_DEFAULT); | |
740 | } | 738 | } | |
741 | } | 739 | } | |
742 | 740 | |||
743 | /* Second hunk */ | 741 | /* Second hunk */ | |
744 | if (seg_start1 != seg_end1) { | 742 | if (seg_start1 != seg_end1) { | |
745 | if (seg_start1 < (16 * 1024 * 1024) && | 743 | if (seg_start1 < (16 * 1024 * 1024) && | |
746 | first16q != VM_FREELIST_DEFAULT) { | 744 | first16q != VM_FREELIST_DEFAULT) { | |
747 | uint64_t tmp; | 745 | uint64_t tmp; | |
748 | 746 | |||
749 | if (seg_end1 > (16 * 1024 * 1024)) | 747 | if (seg_end1 > (16 * 1024 * 1024)) | |
750 | tmp = (16 * 1024 * 1024); | 748 | tmp = (16 * 1024 * 1024); | |
751 | else | 749 | else | |
752 | tmp = seg_end1; | 750 | tmp = seg_end1; | |
753 | 751 | |||
754 | if (tmp != seg_start1) { | 752 | if (tmp != seg_start1) { | |
755 | #ifdef DEBUG_MEMLOAD | 753 | #ifdef DEBUG_MEMLOAD | |
756 | printf("loading 0x%"PRIx64"-0x%"PRIx64 | 754 | printf("loading 0x%"PRIx64"-0x%"PRIx64 | |
757 | " (0x%"PRIx64"-0x%"PRIx64")\n", | 755 | " (0x%"PRIx64"-0x%"PRIx64")\n", | |
758 | seg_start1, tmp, | 756 | seg_start1, tmp, | |
759 | (uint64_t)atop(seg_start1), | 757 | (uint64_t)atop(seg_start1), | |
760 | (uint64_t)atop(tmp)); | 758 | (uint64_t)atop(tmp)); | |
761 | #endif | 759 | #endif | |
762 | uvm_page_physload(atop(seg_start1), | 760 | uvm_page_physload(atop(seg_start1), | |
763 | atop(tmp), atop(seg_start1), | 761 | atop(tmp), atop(seg_start1), | |
764 | atop(tmp), first16q); | 762 | atop(tmp), first16q); | |
765 | } | 763 | } | |
766 | seg_start1 = tmp; | 764 | seg_start1 = tmp; | |
767 | } | 765 | } | |
768 | 766 | |||
769 | if (seg_start1 != seg_end1) { | 767 | if (seg_start1 != seg_end1) { | |
770 | #ifdef DEBUG_MEMLOAD | 768 | #ifdef DEBUG_MEMLOAD | |
771 | printf("loading 0x%"PRIx64"-0x%"PRIx64 | 769 | printf("loading 0x%"PRIx64"-0x%"PRIx64 | |
772 | " (0x%"PRIx64"-0x%"PRIx64")\n", | 770 | " (0x%"PRIx64"-0x%"PRIx64")\n", | |
773 | seg_start1, seg_end1, | 771 | seg_start1, seg_end1, | |
774 | (uint64_t)atop(seg_start1), | 772 | (uint64_t)atop(seg_start1), | |
775 | (uint64_t)atop(seg_end1)); | 773 | (uint64_t)atop(seg_end1)); | |
776 | #endif | 774 | #endif | |
777 | uvm_page_physload(atop(seg_start1), | 775 | uvm_page_physload(atop(seg_start1), | |
778 | atop(seg_end1), atop(seg_start1), | 776 | atop(seg_end1), atop(seg_start1), | |
779 | atop(seg_end1), VM_FREELIST_DEFAULT); | 777 | atop(seg_end1), VM_FREELIST_DEFAULT); | |
780 | } | 778 | } | |
781 | } | 779 | } | |
782 | } | 780 | } | |
783 | 781 | |||
784 | return 0; | 782 | return 0; | |
785 | } | 783 | } | |
786 | #endif | 784 | #endif | |
787 | 785 | |||
788 | void | 786 | void | |
789 | x86_reset(void) | 787 | x86_reset(void) | |
790 | { | 788 | { | |
791 | uint8_t b; | 789 | uint8_t b; | |
792 | /* | 790 | /* | |
793 | * The keyboard controller has 4 random output pins, one of which is | 791 | * The keyboard controller has 4 random output pins, one of which is | |
794 | * connected to the RESET pin on the CPU in many PCs. We tell the | 792 | * connected to the RESET pin on the CPU in many PCs. We tell the | |
795 | * keyboard controller to pulse this line a couple of times. | 793 | * keyboard controller to pulse this line a couple of times. | |
796 | */ | 794 | */ | |
797 | outb(IO_KBD + KBCMDP, KBC_PULSE0); | 795 | outb(IO_KBD + KBCMDP, KBC_PULSE0); | |
798 | delay(100000); | 796 | delay(100000); | |
799 | outb(IO_KBD + KBCMDP, KBC_PULSE0); | 797 | outb(IO_KBD + KBCMDP, KBC_PULSE0); | |
800 | delay(100000); | 798 | delay(100000); | |
801 | 799 | |||
802 | /* | 800 | /* | |
803 | * Attempt to force a reset via the Reset Control register at | 801 | * Attempt to force a reset via the Reset Control register at | |
804 | * I/O port 0xcf9. Bit 2 forces a system reset when it | 802 | * I/O port 0xcf9. Bit 2 forces a system reset when it | |
805 | * transitions from 0 to 1. Bit 1 selects the type of reset | 803 | * transitions from 0 to 1. Bit 1 selects the type of reset | |
806 | * to attempt: 0 selects a "soft" reset, and 1 selects a | 804 | * to attempt: 0 selects a "soft" reset, and 1 selects a | |
807 | * "hard" reset. We try a "hard" reset. The first write sets | 805 | * "hard" reset. We try a "hard" reset. The first write sets | |
808 | * bit 1 to select a "hard" reset and clears bit 2. The | 806 | * bit 1 to select a "hard" reset and clears bit 2. The | |
809 | * second write forces a 0 -> 1 transition in bit 2 to trigger | 807 | * second write forces a 0 -> 1 transition in bit 2 to trigger | |
810 | * a reset. | 808 | * a reset. | |
811 | */ | 809 | */ | |
812 | outb(0xcf9, 0x2); | 810 | outb(0xcf9, 0x2); | |
813 | outb(0xcf9, 0x6); | 811 | outb(0xcf9, 0x6); | |
814 | DELAY(500000); /* wait 0.5 sec to see if that did it */ | 812 | DELAY(500000); /* wait 0.5 sec to see if that did it */ | |
815 | 813 | |||
816 | /* | 814 | /* | |
817 | * Attempt to force a reset via the Fast A20 and Init register | 815 | * Attempt to force a reset via the Fast A20 and Init register | |
818 | * at I/O port 0x92. Bit 1 serves as an alternate A20 gate. | 816 | * at I/O port 0x92. Bit 1 serves as an alternate A20 gate. | |
819 | * Bit 0 asserts INIT# when set to 1. We are careful to only | 817 | * Bit 0 asserts INIT# when set to 1. We are careful to only | |
820 | * preserve bit 1 while setting bit 0. We also must clear bit | 818 | * preserve bit 1 while setting bit 0. We also must clear bit | |
821 | * 0 before setting it if it isn't already clear. | 819 | * 0 before setting it if it isn't already clear. | |
822 | */ | 820 | */ | |
823 | b = inb(0x92); | 821 | b = inb(0x92); | |
824 | if (b != 0xff) { | 822 | if (b != 0xff) { | |
825 | if ((b & 0x1) != 0) | 823 | if ((b & 0x1) != 0) | |
826 | outb(0x92, b & 0xfe); | 824 | outb(0x92, b & 0xfe); | |
827 | outb(0x92, b | 0x1); | 825 | outb(0x92, b | 0x1); | |
828 | DELAY(500000); /* wait 0.5 sec to see if that did it */ | 826 | DELAY(500000); /* wait 0.5 sec to see if that did it */ | |
829 | } | 827 | } | |
830 | } | 828 | } |
--- src/sys/arch/xen/conf/files.compat 2009/07/29 12:02:06 1.20
+++ src/sys/arch/xen/conf/files.compat 2009/08/05 20:15:37 1.21
@@ -1,73 +1,64 @@ | @@ -1,73 +1,64 @@ | |||
1 | # $NetBSD: files.compat,v 1.20 2009/07/29 12:02:06 cegger Exp $ | 1 | # $NetBSD: files.compat,v 1.21 2009/08/05 20:15:37 jym Exp $ | |
2 | # NetBSD: files.x86,v 1.10 2003/10/08 17:30:00 bouyer Exp | 2 | # NetBSD: files.x86,v 1.10 2003/10/08 17:30:00 bouyer Exp | |
3 | 3 | |||
4 | # options for MP configuration through the MP spec | 4 | # options for MP configuration through the MP spec | |
5 | #defflag opt_mpbios.h MPBIOS MPVERBOSE MPDEBUG MPBIOS_SCANPCI | 5 | #defflag opt_mpbios.h MPBIOS MPVERBOSE MPDEBUG MPBIOS_SCANPCI | |
6 | #defflag opt_mpacpi.h MPACPI MPACPI_SCANPCI | 6 | #defflag opt_mpacpi.h MPACPI MPACPI_SCANPCI | |
7 | 7 | |||
8 | # MTRR support | 8 | # MTRR support | |
9 | defflag MTRR | 9 | defflag MTRR | |
10 | 10 | |||
11 | defflag opt_xen.h XEN PAE | 11 | defflag opt_xen.h XEN PAE | |
12 | 12 | |||
13 | 13 | |||
14 | # XXX define fake options to make config create the .h files | 14 | # XXX define fake options to make config create the .h files | |
15 | defflag lapic.h XXXLAPIC | 15 | defflag lapic.h XXXLAPIC | |
16 | defflag apm.h XXXAPM | 16 | defflag apm.h XXXAPM | |
17 | defflag apmbios.h XXXAPMBIOS | 17 | defflag apmbios.h XXXAPMBIOS | |
18 | defflag eisa.h XXXEISA | 18 | defflag eisa.h XXXEISA | |
19 | defflag isadma.h XXXISADMA | 19 | defflag isadma.h XXXISADMA | |
20 | defflag mca.h XXXMCA | 20 | defflag mca.h XXXMCA | |
21 | defflag ega.h XXXEGA | 21 | defflag ega.h XXXEGA | |
22 | defflag pcdisplay.h XXXPCDISPLAY | 22 | defflag pcdisplay.h XXXPCDISPLAY | |
23 | defflag pc.h XXXPC | 23 | defflag pc.h XXXPC | |
24 | defflag pnpbios.h XXXPNPBIOS | 24 | defflag pnpbios.h XXXPNPBIOS | |
25 | defflag bioscall.h XXXBIOSCALL | 25 | defflag bioscall.h XXXBIOSCALL | |
26 | defflag opt_pcibios.h XXXOPT_PCIBIOS | 26 | defflag opt_pcibios.h XXXOPT_PCIBIOS | |
27 | defflag opt_pcifixup.h XXXOPT_PCIFIXUP | 27 | defflag opt_pcifixup.h XXXOPT_PCIFIXUP | |
28 | 28 | |||
29 | # VM86 emulation | 29 | # VM86 emulation | |
30 | defflag opt_vm86.h XXXVM86 | 30 | defflag opt_vm86.h XXXVM86 | |
31 | defflag opt_kvm86.h XXXKVM86 | 31 | defflag opt_kvm86.h XXXKVM86 | |
32 | 32 | |||
33 | # User-settable LDT (used by WINE) | 33 | # User-settable LDT (used by WINE) | |
34 | defflag opt_user_ldt.h XXXUSER_LDT | 34 | defflag opt_user_ldt.h XXXUSER_LDT | |
35 | 35 | |||
36 | # X server support in console drivers | 36 | # X server support in console drivers | |
37 | defflag opt_xserver.h XXXXSERVER XXXXSERVER_DDB | 37 | defflag opt_xserver.h XXXXSERVER XXXXSERVER_DDB | |
38 | 38 | |||
39 | # The REAL{BASE,EXT}MEM options | 39 | # The REAL{BASE,EXT}MEM options | |
40 | defparam opt_realmem.h XXXREALBASEMEM XXXREALEXTMEM | 40 | defparam opt_realmem.h XXXREALBASEMEM XXXREALEXTMEM | |
41 | 41 | |||
42 | # understand boot device passed by pre-1.3 bootblocks | 42 | # understand boot device passed by pre-1.3 bootblocks | |
43 | defflag opt_compat_oldboot.h XXXCOMPAT_OLDBOOT | 43 | defflag opt_compat_oldboot.h XXXCOMPAT_OLDBOOT | |
44 | 44 | |||
45 | # Large page size | 45 | # Large page size | |
46 | defflag opt_largepages.h XXXLARGEPAGES | 46 | defflag opt_largepages.h XXXLARGEPAGES | |
47 | 47 | |||
48 | # kernel stack debug | 48 | # kernel stack debug | |
49 | defflag opt_kstack_dr0.h XXXKSTACK_CHECK_DR0 | 49 | defflag opt_kstack_dr0.h XXXKSTACK_CHECK_DR0 | |
50 | 50 | |||
51 | # Microsoft Xbox support | 51 | # Microsoft Xbox support | |
52 | defflag opt_xbox.h XXXXBOX | 52 | defflag opt_xbox.h XXXXBOX | |
53 | 53 | |||
54 | #Pentium 4+ Thermal Monitor ODCM (aka On Demand Clock Modulation) | 54 | #Pentium 4+ Thermal Monitor ODCM (aka On Demand Clock Modulation) | |
55 | defflag opt_intel_odcm.h XXXINTEL_ONDEMAND_CLOCKMOD | 55 | defflag opt_intel_odcm.h XXXINTEL_ONDEMAND_CLOCKMOD | |
56 | 56 | |||
57 | # Intel On Die Temperature sensor | 57 | # Intel On Die Temperature sensor | |
58 | defflag opt_intel_coretemp.h XXXINTEL_CORETEMP | 58 | defflag opt_intel_coretemp.h XXXINTEL_CORETEMP | |
59 | 59 | |||
60 | # AMD Powernow/Cool`n'Quiet Technology | |||
61 | defflag opt_powernow_k8.h XXPOWERNOW_K8 | |||
62 | ||||
63 | # Intel Enhanced Speedstep | |||
64 | defflag opt_enhanced_speedstep.h XXXENHANCED_SPEEDSTEP | |||
65 | defflag opt_est.h XXXEST_FREQ_USERWRITE | |||
66 | ||||
67 | defflag opt_powernow_k7.h XXXPOWERNOW_K7 | |||
68 | ||||
69 | # Multiboot support | 60 | # Multiboot support | |
70 | defflag opt_multiboot.h XXXMULTIBOOT | 61 | defflag opt_multiboot.h XXXMULTIBOOT | |
71 | 62 | |||
72 | # The PHYSMEM_MAX_{SIZE,ADDR} optionms | 63 | # The PHYSMEM_MAX_{SIZE,ADDR} optionms | |
73 | defparam opt_physmem.h XXXPHYSMEM_MAX_ADDR XXXPHYSMEM_MAX_SIZE | 64 | defparam opt_physmem.h XXXPHYSMEM_MAX_ADDR XXXPHYSMEM_MAX_SIZE |
--- src/sys/arch/xen/conf/files.xen 2009/07/29 12:02:06 1.102
+++ src/sys/arch/xen/conf/files.xen 2009/08/05 20:15:37 1.103
@@ -1,392 +1,411 @@ | @@ -1,392 +1,411 @@ | |||
1 | # $NetBSD: files.xen,v 1.102 2009/07/29 12:02:06 cegger Exp $ | 1 | # $NetBSD: files.xen,v 1.103 2009/08/05 20:15:37 jym Exp $ | |
2 | # NetBSD: files.x86,v 1.10 2003/10/08 17:30:00 bouyer Exp | 2 | # NetBSD: files.x86,v 1.10 2003/10/08 17:30:00 bouyer Exp | |
3 | # NetBSD: files.i386,v 1.254 2004/03/25 23:32:10 jmc Exp | 3 | # NetBSD: files.i386,v 1.254 2004/03/25 23:32:10 jmc Exp | |
4 | 4 | |||
5 | maxpartitions 8 | 5 | maxpartitions 8 | |
6 | 6 | |||
7 | maxusers 2 16 128 | 7 | maxusers 2 16 128 | |
8 | 8 | |||
9 | defparam opt_kernbase.h KERNBASE | 9 | defparam opt_kernbase.h KERNBASE | |
10 | 10 | |||
11 | # options for MP configuration through the MP spec | 11 | # options for MP configuration through the MP spec | |
12 | defflag opt_mpbios.h MPBIOS MPVERBOSE MPDEBUG MPBIOS_SCANPCI | 12 | defflag opt_mpbios.h MPBIOS MPVERBOSE MPDEBUG MPBIOS_SCANPCI | |
13 | 13 | |||
14 | # delay before cpu_reset() for reboot. | 14 | # delay before cpu_reset() for reboot. | |
15 | defparam CPURESET_DELAY | 15 | defparam CPURESET_DELAY | |
16 | 16 | |||
17 | # Beep on halt | 17 | # Beep on halt | |
18 | defflag opt_beep.h BEEP_ONHALT | 18 | defflag opt_beep.h BEEP_ONHALT | |
19 | defparam opt_beep.h BEEP_ONHALT_COUNT=3 | 19 | defparam opt_beep.h BEEP_ONHALT_COUNT=3 | |
20 | defparam opt_beep.h BEEP_ONHALT_PITCH=1500 | 20 | defparam opt_beep.h BEEP_ONHALT_PITCH=1500 | |
21 | defparam opt_beep.h BEEP_ONHALT_PERIOD=250 | 21 | defparam opt_beep.h BEEP_ONHALT_PERIOD=250 | |
22 | 22 | |||
23 | # PCI fixup options | 23 | # PCI fixup options | |
24 | defflag opt_pcifixup.h PCI_ADDR_FIXUP PCI_BUS_FIXUP | 24 | defflag opt_pcifixup.h PCI_ADDR_FIXUP PCI_BUS_FIXUP | |
25 | PCI_INTR_FIXUP PCI_INTR_FIXUP_FORCE | 25 | PCI_INTR_FIXUP PCI_INTR_FIXUP_FORCE | |
26 | 26 | |||
27 | defparam PCI_CONF_MODE | 27 | defparam PCI_CONF_MODE | |
28 | 28 | |||
29 | # Intel Enhanced Speedstep | |||
30 | defflag ENHANCED_SPEEDSTEP | |||
31 | defflag opt_est.h EST_FREQ_USERWRITE | |||
32 | file arch/x86/x86/est.c enhanced_speedstep | |||
33 | file arch/x86/x86/intel_busclock.c enhanced_speedstep | |||
34 | ||||
35 | # AMD Powernow/Cool`n'Quiet Technology | |||
36 | defflag opt_powernow_k8.h POWERNOW_K8 | |||
37 | # Powernow common functions | |||
38 | file arch/x86/x86/powernow_k8.c powernow_k8 | |||
39 | file arch/x86/x86/powernow_common.c powernow_k8 | powernow_k7 | |||
40 | ||||
29 | file arch/xen/x86/autoconf.c | 41 | file arch/xen/x86/autoconf.c | |
30 | ifdef i386 | 42 | ifdef i386 | |
31 | file arch/i386/i386/aout_machdep.c exec_aout | 43 | file arch/i386/i386/aout_machdep.c exec_aout | |
32 | file arch/i386/i386/busfunc.S | 44 | file arch/i386/i386/busfunc.S | |
33 | file arch/i386/i386/cpufunc.S | 45 | file arch/i386/i386/cpufunc.S | |
34 | file arch/i386/i386/cpu_in_cksum.S (inet | inet6) & cpu_in_cksum | 46 | file arch/i386/i386/cpu_in_cksum.S (inet | inet6) & cpu_in_cksum | |
35 | file arch/i386/i386/db_dbgreg.S ddb | kstack_check_dr0 | 47 | file arch/i386/i386/db_dbgreg.S ddb | kstack_check_dr0 | |
36 | file arch/i386/i386/db_disasm.c ddb | 48 | file arch/i386/i386/db_disasm.c ddb | |
37 | file arch/i386/i386/db_interface.c ddb | 49 | file arch/i386/i386/db_interface.c ddb | |
38 | file arch/i386/i386/db_memrw.c ddb | kgdb | 50 | file arch/i386/i386/db_memrw.c ddb | kgdb | |
39 | file arch/i386/i386/db_trace.c ddb | 51 | file arch/i386/i386/db_trace.c ddb | |
40 | file arch/i386/i386/dumpsys.c | 52 | file arch/i386/i386/dumpsys.c | |
41 | file arch/i386/i386/gdt.c | 53 | file arch/i386/i386/gdt.c | |
42 | file arch/i386/i386/ipkdb_glue.c ipkdb | 54 | file arch/i386/i386/ipkdb_glue.c ipkdb | |
43 | file arch/i386/i386/kgdb_machdep.c kgdb | 55 | file arch/i386/i386/kgdb_machdep.c kgdb | |
44 | file arch/i386/i386/kobj_machdep.c modular | 56 | file arch/i386/i386/kobj_machdep.c modular | |
45 | file arch/i386/i386/machdep.c | 57 | file arch/i386/i386/machdep.c | |
46 | file arch/i386/i386/longrun.c | 58 | file arch/i386/i386/longrun.c | |
47 | file arch/i386/i386/mem.c | 59 | file arch/i386/i386/mem.c | |
48 | file arch/i386/i386/mtrr_k6.c mtrr | 60 | file arch/i386/i386/mtrr_k6.c mtrr | |
49 | file arch/i386/i386/process_machdep.c | 61 | file arch/i386/i386/process_machdep.c | |
50 | file arch/i386/i386/procfs_machdep.c procfs | 62 | file arch/i386/i386/procfs_machdep.c procfs | |
51 | file arch/i386/i386/trap.c | 63 | file arch/i386/i386/trap.c | |
52 | file arch/i386/i386/lock_stubs.S | 64 | file arch/i386/i386/lock_stubs.S | |
53 | 65 | |||
54 | file arch/i386/i386/mptramp.S multiprocessor | 66 | file arch/i386/i386/mptramp.S multiprocessor | |
55 | 67 | |||
56 | file arch/i386/i386/pmc.c perfctrs | 68 | file arch/i386/i386/pmc.c perfctrs | |
57 | 69 | |||
58 | file crypto/des/arch/i386/des_enc.S des | 70 | file crypto/des/arch/i386/des_enc.S des | |
59 | file crypto/des/arch/i386/des_cbc.S des | 71 | file crypto/des/arch/i386/des_cbc.S des | |
60 | 72 | |||
61 | file crypto/blowfish/arch/i386/bf_enc.S blowfish | 73 | file crypto/blowfish/arch/i386/bf_enc.S blowfish | |
62 | file crypto/blowfish/arch/i386/bf_cbc.S blowfish | 74 | file crypto/blowfish/arch/i386/bf_cbc.S blowfish | |
75 | ||||
76 | # AMD PowerNow K7 | |||
77 | defflag POWERNOW_K7 | |||
78 | file arch/i386/i386/powernow_k7.c powernow_k7 | |||
79 | ||||
63 | elifdef amd64 | 80 | elifdef amd64 | |
64 | file arch/amd64/amd64/busfunc.S | 81 | file arch/amd64/amd64/busfunc.S | |
65 | file arch/amd64/amd64/cpufunc.S | 82 | file arch/amd64/amd64/cpufunc.S | |
66 | file arch/amd64/amd64/cpu_in_cksum.S (inet | inet6) & cpu_in_cksum | 83 | file arch/amd64/amd64/cpu_in_cksum.S (inet | inet6) & cpu_in_cksum | |
67 | file arch/amd64/amd64/db_disasm.c ddb | 84 | file arch/amd64/amd64/db_disasm.c ddb | |
68 | file arch/amd64/amd64/db_interface.c ddb | 85 | file arch/amd64/amd64/db_interface.c ddb | |
69 | file arch/amd64/amd64/db_memrw.c ddb | kgdb | 86 | file arch/amd64/amd64/db_memrw.c ddb | kgdb | |
70 | file arch/amd64/amd64/db_trace.c ddb | 87 | file arch/amd64/amd64/db_trace.c ddb | |
71 | file arch/amd64/amd64/kgdb_machdep.c kgdb | 88 | file arch/amd64/amd64/kgdb_machdep.c kgdb | |
72 | file arch/amd64/amd64/kobj_machdep.c modular | 89 | file arch/amd64/amd64/kobj_machdep.c modular | |
73 | file arch/amd64/amd64/gdt.c | 90 | file arch/amd64/amd64/gdt.c | |
74 | file arch/amd64/amd64/machdep.c | 91 | file arch/amd64/amd64/machdep.c | |
75 | file arch/amd64/amd64/mem.c | 92 | file arch/amd64/amd64/mem.c | |
76 | file arch/amd64/amd64/process_machdep.c | 93 | file arch/amd64/amd64/process_machdep.c | |
77 | file arch/amd64/amd64/procfs_machdep.c procfs | 94 | file arch/amd64/amd64/procfs_machdep.c procfs | |
78 | file arch/amd64/amd64/trap.c | 95 | file arch/amd64/amd64/trap.c | |
79 | file arch/amd64/amd64/fpu.c | 96 | file arch/amd64/amd64/fpu.c | |
80 | file arch/amd64/amd64/lock_stubs.S | 97 | file arch/amd64/amd64/lock_stubs.S | |
81 | file arch/amd64/amd64/mptramp.S multiprocessor | 98 | file arch/amd64/amd64/mptramp.S multiprocessor | |
82 | endif | 99 | endif | |
83 | 100 | |||
84 | file kern/subr_disk_mbr.c disk | 101 | file kern/subr_disk_mbr.c disk | |
85 | file arch/xen/x86/hypervisor_machdep.c | 102 | file arch/xen/x86/hypervisor_machdep.c | |
86 | # file arch/x86/x86/mtrr_i686.c mtrr | 103 | # file arch/x86/x86/mtrr_i686.c mtrr | |
87 | file arch/x86/x86/syscall.c | 104 | file arch/x86/x86/syscall.c | |
88 | file arch/xen/x86/x86_xpmap.c | 105 | file arch/xen/x86/x86_xpmap.c | |
89 | file arch/xen/x86/xen_intr.c | 106 | file arch/xen/x86/xen_intr.c | |
90 | file arch/xen/x86/xenfunc.c | 107 | file arch/xen/x86/xenfunc.c | |
91 | 108 | |||
92 | file arch/xen/xen/xen_machdep.c | 109 | file arch/xen/xen/xen_machdep.c | |
93 | file arch/xen/xen/xen_debug.c | 110 | file arch/xen/xen/xen_debug.c | |
94 | 111 | |||
95 | file arch/xen/xen/clock.c | 112 | file arch/xen/xen/clock.c | |
96 | file arch/x86/isa/rtc.c dom0ops | 113 | file arch/x86/isa/rtc.c dom0ops | |
97 | file arch/xen/xen/evtchn.c | 114 | file arch/xen/xen/evtchn.c | |
98 | 115 | |||
99 | file arch/xen/xen/xengnt.c | 116 | file arch/xen/xen/xengnt.c | |
100 | 117 | |||
101 | file dev/cons.c | 118 | file dev/cons.c | |
102 | 119 | |||
103 | 120 | |||
104 | # | 121 | # | |
105 | # Machine-independent SCSI drivers | 122 | # Machine-independent SCSI drivers | |
106 | # | 123 | # | |
107 | 124 | |||
108 | include "dev/scsipi/files.scsipi" | 125 | include "dev/scsipi/files.scsipi" | |
109 | 126 | |||
110 | # | 127 | # | |
111 | # Machine-independent ATA drivers | 128 | # Machine-independent ATA drivers | |
112 | # | 129 | # | |
113 | 130 | |||
114 | include "dev/ata/files.ata" | 131 | include "dev/ata/files.ata" | |
115 | 132 | |||
116 | # Memory Disk for install floppy | 133 | # Memory Disk for install floppy | |
117 | file dev/md_root.c memory_disk_hooks | 134 | file dev/md_root.c memory_disk_hooks | |
118 | 135 | |||
119 | file arch/x86/x86/bus_dma.c pci | 136 | file arch/x86/x86/bus_dma.c pci | |
120 | file arch/x86/x86/core_machdep.c coredump | 137 | file arch/x86/x86/core_machdep.c coredump | |
121 | file arch/xen/x86/xen_bus_dma.c pci | 138 | file arch/xen/x86/xen_bus_dma.c pci | |
122 | file arch/x86/x86/bus_space.c pci | 139 | file arch/x86/x86/bus_space.c pci | |
123 | file arch/xen/x86/consinit.c | 140 | file arch/xen/x86/consinit.c | |
124 | file arch/x86/x86/identcpu.c | 141 | file arch/x86/x86/identcpu.c | |
125 | file arch/xen/x86/intr.c | 142 | file arch/xen/x86/intr.c | |
126 | file arch/x86/x86/ipi.c | 143 | file arch/x86/x86/ipi.c | |
127 | file arch/x86/x86/pmap.c | 144 | file arch/x86/x86/pmap.c | |
128 | file arch/x86/x86/sys_machdep.c | 145 | file arch/x86/x86/sys_machdep.c | |
129 | file arch/x86/x86/tsc.c | 146 | file arch/x86/x86/tsc.c | |
130 | file arch/x86/x86/vm_machdep.c | 147 | file arch/x86/x86/vm_machdep.c | |
131 | file arch/x86/x86/x86_machdep.c | 148 | file arch/x86/x86/x86_machdep.c | |
132 | file arch/x86/x86/cpu_topology.c | 149 | file arch/x86/x86/cpu_topology.c | |
133 | 150 | |||
134 | include "arch/xen/conf/files.compat" | 151 | include "arch/xen/conf/files.compat" | |
135 | 152 | |||
136 | # BIOS32 routines | 153 | # BIOS32 routines | |
137 | define bios32 | 154 | define bios32 | |
138 | ifdef i386 | 155 | ifdef i386 | |
139 | file arch/i386/i386/bios32.c bios32 needs-flag | 156 | file arch/i386/i386/bios32.c bios32 needs-flag | |
140 | elifdef amd64 | 157 | elifdef amd64 | |
141 | file arch/amd64/amd64/bios32.c bios32 needs-flag | 158 | file arch/amd64/amd64/bios32.c bios32 needs-flag | |
142 | endif | 159 | endif | |
143 | 160 | |||
144 | # xen specific mainbus attributes | 161 | # xen specific mainbus attributes | |
145 | define cpubus { [apid = -1] } | 162 | define cpubus { [apid = -1] } | |
146 | define ioapicbus { [apid = -1] } | 163 | define ioapicbus { [apid = -1] } | |
147 | define apmbus {} | 164 | define apmbus {} | |
148 | define pnpbiosbus {} | 165 | define pnpbiosbus {} | |
149 | define hypervisorbus {} | 166 | define hypervisorbus {} | |
150 | define xendevbus {} | 167 | define xendevbus {} | |
151 | define ipmibus {} | 168 | define ipmibus {} | |
152 | 169 | |||
153 | # | 170 | # | |
154 | # System bus types | 171 | # System bus types | |
155 | # | 172 | # | |
156 | 173 | |||
157 | device mainbus: cpubus, ioapicbus, hypervisorbus, bios32, ipmibus | 174 | device mainbus: cpubus, ioapicbus, hypervisorbus, bios32, ipmibus | |
158 | attach mainbus at root | 175 | attach mainbus at root | |
159 | file arch/xen/x86/mainbus.c mainbus | 176 | file arch/xen/x86/mainbus.c mainbus | |
160 | 177 | |||
161 | # Xen hypervisor | 178 | # Xen hypervisor | |
162 | device hypervisor { [apid = -1]}: isabus, pcibus, sysmon_power, xendevbus, acpibus | 179 | device hypervisor { [apid = -1]}: isabus, pcibus, sysmon_power, xendevbus, acpibus | |
163 | attach hypervisor at hypervisorbus | 180 | attach hypervisor at hypervisorbus | |
164 | file arch/xen/xen/hypervisor.c hypervisor needs-flag | 181 | file arch/xen/xen/hypervisor.c hypervisor needs-flag | |
165 | file arch/xen/xen/shutdown_xenbus.c hypervisor | 182 | file arch/xen/xen/shutdown_xenbus.c hypervisor | |
166 | 183 | |||
167 | # Xenbus | 184 | # Xenbus | |
168 | device xenbus {[id = -1]} | 185 | device xenbus {[id = -1]} | |
169 | attach xenbus at xendevbus | 186 | attach xenbus at xendevbus | |
170 | file arch/xen/xenbus/xenbus_client.c xenbus needs-flag | 187 | file arch/xen/xenbus/xenbus_client.c xenbus needs-flag | |
171 | file arch/xen/xenbus/xenbus_comms.c xenbus needs-flag | 188 | file arch/xen/xenbus/xenbus_comms.c xenbus needs-flag | |
172 | file arch/xen/xenbus/xenbus_dev.c xenbus & dom0ops needs-flag | 189 | file arch/xen/xenbus/xenbus_dev.c xenbus & dom0ops needs-flag | |
173 | file arch/xen/xenbus/xenbus_probe.c xenbus needs-flag | 190 | file arch/xen/xenbus/xenbus_probe.c xenbus needs-flag | |
174 | file arch/xen/xenbus/xenbus_xs.c xenbus needs-flag | 191 | file arch/xen/xenbus/xenbus_xs.c xenbus needs-flag | |
175 | 192 | |||
176 | ifdef i386 | 193 | ifdef i386 | |
177 | # Numeric Processing Extension; Math Co-processor | 194 | # Numeric Processing Extension; Math Co-processor | |
178 | device npx | 195 | device npx | |
179 | file arch/i386/isa/npx.c npx needs-flag | 196 | file arch/i386/isa/npx.c npx needs-flag | |
180 | 197 | |||
181 | attach npx at xendevbus with npx_hv | 198 | attach npx at xendevbus with npx_hv | |
182 | file arch/xen/i386/npx_hv.c npx_hv | 199 | file arch/xen/i386/npx_hv.c npx_hv | |
183 | endif | 200 | endif | |
184 | 201 | |||
185 | # Xen console support | 202 | # Xen console support | |
186 | device xencons: tty | 203 | device xencons: tty | |
187 | attach xencons at xendevbus | 204 | attach xencons at xendevbus | |
188 | file arch/xen/xen/xencons.c xencons needs-flag | 205 | file arch/xen/xen/xencons.c xencons needs-flag | |
189 | 206 | |||
190 | # Xen event peudo-device | 207 | # Xen event peudo-device | |
191 | defpseudo xenevt | 208 | defpseudo xenevt | |
192 | defpseudo xvif | 209 | defpseudo xvif | |
193 | defpseudo xbdback | 210 | defpseudo xbdback | |
194 | 211 | |||
195 | # Xen Network driver | 212 | # Xen Network driver | |
196 | device xennet: arp, ether, ifnet | 213 | device xennet: arp, ether, ifnet | |
197 | attach xennet at xenbus | 214 | attach xennet at xenbus | |
198 | file arch/xen/xen/if_xennet_xenbus.c xennet needs-flag | 215 | file arch/xen/xen/if_xennet_xenbus.c xennet needs-flag | |
199 | 216 | |||
200 | # Xen Block device driver and wd/sd/cd identities | 217 | # Xen Block device driver and wd/sd/cd identities | |
201 | device xbd: disk | 218 | device xbd: disk | |
202 | attach xbd at xenbus | 219 | attach xbd at xenbus | |
203 | file arch/xen/xen/xbd_xenbus.c xbd | 220 | file arch/xen/xen/xbd_xenbus.c xbd | |
204 | 221 | |||
205 | # PCI frontend | 222 | # PCI frontend | |
206 | device xpci: pcibus | 223 | device xpci: pcibus | |
207 | attach xpci at xenbus with xpci_xenbus | 224 | attach xpci at xenbus with xpci_xenbus | |
208 | file arch/xen/xen/xpci_xenbus.c xpci_xenbus | 225 | file arch/xen/xen/xpci_xenbus.c xpci_xenbus | |
209 | 226 | |||
210 | # Non-Xen specific devices and options | 227 | # Non-Xen specific devices and options | |
211 | 228 | |||
212 | include "dev/pckbport/files.pckbport" | 229 | include "dev/pckbport/files.pckbport" | |
213 | 230 | |||
214 | # | 231 | # | |
215 | # Machine-independent PCI devices | 232 | # Machine-independent PCI devices | |
216 | # | 233 | # | |
217 | include "dev/i2o/files.i2o" | 234 | include "dev/i2o/files.i2o" | |
218 | include "dev/pci/files.pci" | 235 | include "dev/pci/files.pci" | |
219 | include "dev/pci/files.agp" | 236 | include "dev/pci/files.agp" | |
220 | file arch/xen/xen/pciide_machdep.c pciide_common | 237 | file arch/xen/xen/pciide_machdep.c pciide_common | |
221 | 238 | |||
222 | device pciback {unit = -1} | 239 | device pciback {unit = -1} | |
223 | attach pciback at pci | 240 | attach pciback at pci | |
224 | file arch/xen/xen/pciback.c pciback | 241 | file arch/xen/xen/pciback.c pciback | |
225 | 242 | |||
226 | 243 | |||
227 | # x86 specific PCI hardware | 244 | # x86 specific PCI hardware | |
228 | include "arch/x86/pci/files.pci" | 245 | include "arch/x86/pci/files.pci" | |
229 | 246 | |||
230 | # | 247 | # | |
231 | # Machine-independent ISA devices | 248 | # Machine-independent ISA devices | |
232 | # | 249 | # | |
233 | include "dev/isa/files.isa" | 250 | include "dev/isa/files.isa" | |
234 | 251 | |||
235 | include "dev/usb/files.usb" | 252 | include "dev/usb/files.usb" | |
236 | 253 | |||
237 | include "dev/ieee1394/files.ieee1394" | 254 | include "dev/ieee1394/files.ieee1394" | |
238 | 255 | |||
239 | device fdc {drive = -1} #XXX | 256 | device fdc {drive = -1} #XXX | |
240 | 257 | |||
241 | include "dev/apm/files.apm" | 258 | include "dev/apm/files.apm" | |
242 | 259 | |||
243 | include "dev/acpi/files.acpi" | 260 | include "dev/acpi/files.acpi" | |
244 | file arch/xen/xen/xen_acpi_machdep.c acpi | 261 | file arch/xen/xen/xen_acpi_machdep.c acpi | |
245 | file arch/x86/x86/mpacpi.c acpi | 262 | file arch/x86/x86/mpacpi.c acpi | |
246 | file arch/x86/x86/acpi_machdep.c acpi | 263 | file arch/x86/x86/acpi_machdep.c acpi | |
247 | file arch/x86/x86/i8259.c | 264 | file arch/x86/x86/i8259.c | |
248 | 265 | |||
249 | # MP configuration using Intel SMP specification 1.4 | 266 | # MP configuration using Intel SMP specification 1.4 | |
250 | file arch/x86/x86/mpbios.c mpbios | 267 | file arch/x86/x86/mpbios.c mpbios | |
251 | 268 | |||
252 | # MP configuration using either ACPI or Intel SMP specification 1.4 | 269 | # MP configuration using either ACPI or Intel SMP specification 1.4 | |
253 | file arch/x86/x86/mp.c acpi | mpbios | 270 | file arch/x86/x86/mp.c acpi | mpbios | |
254 | 271 | |||
255 | file arch/x86/pci/pci_bus_fixup.c pci_bus_fixup | 272 | file arch/x86/pci/pci_bus_fixup.c pci_bus_fixup | |
256 | file arch/x86/pci/pci_addr_fixup.c pci_addr_fixup | 273 | file arch/x86/pci/pci_addr_fixup.c pci_addr_fixup | |
257 | 274 | |||
258 | file arch/x86/x86/apic.c ioapic | 275 | file arch/x86/x86/apic.c ioapic | |
259 | 276 | |||
260 | device ioapic | 277 | device ioapic | |
261 | attach ioapic at ioapicbus | 278 | attach ioapic at ioapicbus | |
262 | file arch/x86/x86/ioapic.c ioapic needs-flag | 279 | file arch/x86/x86/ioapic.c ioapic needs-flag | |
263 | 280 | |||
264 | #IPMI device | 281 | #IPMI device | |
265 | device ipmi : sysmon_envsys, sysmon_wdog | 282 | device ipmi : sysmon_envsys, sysmon_wdog | |
266 | attach ipmi at ipmibus | 283 | attach ipmi at ipmibus | |
267 | file arch/x86/x86/ipmi.c ipmi needs-flag | 284 | file arch/x86/x86/ipmi.c ipmi needs-flag | |
268 | 285 | |||
269 | # CPUS | 286 | # CPUS | |
270 | 287 | |||
271 | device cpu | 288 | device cpu | |
272 | attach cpu at cpubus | 289 | attach cpu at cpubus | |
273 | 290 | |||
274 | device vcpu | 291 | device vcpu | |
275 | attach vcpu at xendevbus | 292 | attach vcpu at xendevbus | |
276 | 293 | |||
277 | file arch/xen/x86/cpu.c cpu | vcpu | 294 | file arch/xen/x86/cpu.c cpu | vcpu | |
278 | 295 | |||
296 | file arch/x86/x86/msr_ipifuncs.c | |||
297 | ||||
279 | # | 298 | # | |
280 | # Compatibility modules | 299 | # Compatibility modules | |
281 | # | 300 | # | |
282 | 301 | |||
283 | ifdef i386 | 302 | ifdef i386 | |
284 | # VM86 mode | 303 | # VM86 mode | |
285 | file arch/i386/i386/vm86.c vm86 | 304 | file arch/i386/i386/vm86.c vm86 | |
286 | 305 | |||
287 | # VM86 in kernel | 306 | # VM86 in kernel | |
288 | file arch/i386/i386/kvm86.c kvm86 | 307 | file arch/i386/i386/kvm86.c kvm86 | |
289 | file arch/i386/i386/kvm86call.S kvm86 | 308 | file arch/i386/i386/kvm86call.S kvm86 | |
290 | 309 | |||
291 | # Binary compatibility with previous NetBSD releases (COMPAT_XX) | 310 | # Binary compatibility with previous NetBSD releases (COMPAT_XX) | |
292 | file arch/i386/i386/compat_13_machdep.c compat_13 | 311 | file arch/i386/i386/compat_13_machdep.c compat_13 | |
293 | file arch/i386/i386/compat_16_machdep.c compat_16 | compat_ibcs2 | 312 | file arch/i386/i386/compat_16_machdep.c compat_16 | compat_ibcs2 | |
294 | 313 | |||
295 | # SVR4 binary compatibility (COMPAT_SVR4) | 314 | # SVR4 binary compatibility (COMPAT_SVR4) | |
296 | include "compat/svr4/files.svr4" | 315 | include "compat/svr4/files.svr4" | |
297 | file arch/i386/i386/svr4_machdep.c compat_svr4 | 316 | file arch/i386/i386/svr4_machdep.c compat_svr4 | |
298 | file arch/i386/i386/svr4_sigcode.S compat_svr4 | 317 | file arch/i386/i386/svr4_sigcode.S compat_svr4 | |
299 | file arch/i386/i386/svr4_syscall.c compat_svr4 | 318 | file arch/i386/i386/svr4_syscall.c compat_svr4 | |
300 | 319 | |||
301 | # MACH binary compatibility (COMPAT_MACH) | 320 | # MACH binary compatibility (COMPAT_MACH) | |
302 | include "compat/mach/files.mach" | 321 | include "compat/mach/files.mach" | |
303 | file arch/i386/i386/mach_machdep.c compat_mach | compat_darwin | 322 | file arch/i386/i386/mach_machdep.c compat_mach | compat_darwin | |
304 | file arch/i386/i386/mach_sigcode.S compat_mach | compat_darwin | 323 | file arch/i386/i386/mach_sigcode.S compat_mach | compat_darwin | |
305 | file arch/i386/i386/mach_syscall.c compat_mach | compat_darwin | 324 | file arch/i386/i386/mach_syscall.c compat_mach | compat_darwin | |
306 | file arch/i386/i386/macho_machdep.c exec_macho | 325 | file arch/i386/i386/macho_machdep.c exec_macho | |
307 | 326 | |||
308 | # DARWIN binary compatibility (COMPAT_DARWIN) | 327 | # DARWIN binary compatibility (COMPAT_DARWIN) | |
309 | include "compat/darwin/files.darwin" | 328 | include "compat/darwin/files.darwin" | |
310 | file arch/i386/i386/darwin_machdep.c compat_darwin | 329 | file arch/i386/i386/darwin_machdep.c compat_darwin | |
311 | 330 | |||
312 | # iBCS-2 binary compatibility (COMPAT_IBCS2) | 331 | # iBCS-2 binary compatibility (COMPAT_IBCS2) | |
313 | include "compat/ibcs2/files.ibcs2" | 332 | include "compat/ibcs2/files.ibcs2" | |
314 | file arch/i386/i386/ibcs2_machdep.c compat_ibcs2 | 333 | file arch/i386/i386/ibcs2_machdep.c compat_ibcs2 | |
315 | file arch/i386/i386/ibcs2_sigcode.S compat_ibcs2 | 334 | file arch/i386/i386/ibcs2_sigcode.S compat_ibcs2 | |
316 | file arch/i386/i386/ibcs2_syscall.c compat_ibcs2 | 335 | file arch/i386/i386/ibcs2_syscall.c compat_ibcs2 | |
317 | 336 | |||
318 | # Linux binary compatibility (COMPAT_LINUX) | 337 | # Linux binary compatibility (COMPAT_LINUX) | |
319 | include "compat/linux/files.linux" | 338 | include "compat/linux/files.linux" | |
320 | include "compat/linux/arch/i386/files.linux_i386" | 339 | include "compat/linux/arch/i386/files.linux_i386" | |
321 | file arch/i386/i386/linux_sigcode.S compat_linux | 340 | file arch/i386/i386/linux_sigcode.S compat_linux | |
322 | file arch/i386/i386/linux_syscall.c compat_linux | 341 | file arch/i386/i386/linux_syscall.c compat_linux | |
323 | file arch/x86/x86/linux_trap.c compat_linux | 342 | file arch/x86/x86/linux_trap.c compat_linux | |
324 | 343 | |||
325 | # FreeBSD binary compatibility (COMPAT_FREEBSD) | 344 | # FreeBSD binary compatibility (COMPAT_FREEBSD) | |
326 | include "compat/freebsd/files.freebsd" | 345 | include "compat/freebsd/files.freebsd" | |
327 | file arch/i386/i386/freebsd_machdep.c compat_freebsd | 346 | file arch/i386/i386/freebsd_machdep.c compat_freebsd | |
328 | file arch/i386/i386/freebsd_sigcode.S compat_freebsd | 347 | file arch/i386/i386/freebsd_sigcode.S compat_freebsd | |
329 | file arch/i386/i386/freebsd_syscall.c compat_freebsd | 348 | file arch/i386/i386/freebsd_syscall.c compat_freebsd | |
330 | 349 | |||
331 | # Win32 binary compatibility (COMPAT_PECOFF) | 350 | # Win32 binary compatibility (COMPAT_PECOFF) | |
332 | include "compat/pecoff/files.pecoff" | 351 | include "compat/pecoff/files.pecoff" | |
333 | 352 | |||
334 | elifdef amd64 | 353 | elifdef amd64 | |
335 | # NetBSD/i386 32-bit binary compatibility (COMPAT_NETBSD32) | 354 | # NetBSD/i386 32-bit binary compatibility (COMPAT_NETBSD32) | |
336 | include "compat/netbsd32/files.netbsd32" | 355 | include "compat/netbsd32/files.netbsd32" | |
337 | file arch/amd64/amd64/netbsd32_machdep.c compat_netbsd32 | 356 | file arch/amd64/amd64/netbsd32_machdep.c compat_netbsd32 | |
338 | file arch/amd64/amd64/netbsd32_sigcode.S compat_netbsd32 & compat_16 | 357 | file arch/amd64/amd64/netbsd32_sigcode.S compat_netbsd32 & compat_16 | |
339 | file arch/amd64/amd64/netbsd32_syscall.c compat_netbsd32 | 358 | file arch/amd64/amd64/netbsd32_syscall.c compat_netbsd32 | |
340 | 359 | |||
341 | # Linux compatibility (COMPAT_LINUX) | 360 | # Linux compatibility (COMPAT_LINUX) | |
342 | include "compat/linux/files.linux" | 361 | include "compat/linux/files.linux" | |
343 | include "compat/linux/arch/amd64/files.linux_amd64" | 362 | include "compat/linux/arch/amd64/files.linux_amd64" | |
344 | file arch/amd64/amd64/linux_sigcode.S compat_linux | 363 | file arch/amd64/amd64/linux_sigcode.S compat_linux | |
345 | file arch/amd64/amd64/linux_syscall.c compat_linux | 364 | file arch/amd64/amd64/linux_syscall.c compat_linux | |
346 | file arch/x86/x86/linux_trap.c compat_linux | 365 | file arch/x86/x86/linux_trap.c compat_linux | |
347 | # Linux 32 bit compatibility (COMPAT_LINUX32) | 366 | # Linux 32 bit compatibility (COMPAT_LINUX32) | |
348 | include "compat/linux32/files.linux32" | 367 | include "compat/linux32/files.linux32" | |
349 | include "compat/linux32/arch/amd64/files.linux32_amd64" | 368 | include "compat/linux32/arch/amd64/files.linux32_amd64" | |
350 | file arch/amd64/amd64/linux32_sigcode.S compat_linux32 | 369 | file arch/amd64/amd64/linux32_sigcode.S compat_linux32 | |
351 | file arch/amd64/amd64/linux32_syscall.c compat_linux32 | 370 | file arch/amd64/amd64/linux32_syscall.c compat_linux32 | |
352 | endif | 371 | endif | |
353 | 372 | |||
354 | # OSS audio driver compatibility | 373 | # OSS audio driver compatibility | |
355 | include "compat/ossaudio/files.ossaudio" | 374 | include "compat/ossaudio/files.ossaudio" | |
356 | 375 | |||
357 | # Bluetooth | 376 | # Bluetooth | |
358 | include "dev/bluetooth/files.bluetooth" | 377 | include "dev/bluetooth/files.bluetooth" | |
359 | 378 | |||
360 | # | 379 | # | |
361 | # CARDBUS | 380 | # CARDBUS | |
362 | # | 381 | # | |
363 | include "dev/cardbus/files.cardbus" | 382 | include "dev/cardbus/files.cardbus" | |
364 | ifdef i386 | 383 | ifdef i386 | |
365 | file arch/i386/i386/rbus_machdep.c cardbus | 384 | file arch/i386/i386/rbus_machdep.c cardbus | |
366 | elifdef amd64 | 385 | elifdef amd64 | |
367 | file arch/amd64/amd64/rbus_machdep.c cardbus | 386 | file arch/amd64/amd64/rbus_machdep.c cardbus | |
368 | endif | 387 | endif | |
369 | 388 | |||
370 | # this wants to be probed as late as possible. | 389 | # this wants to be probed as late as possible. | |
371 | # | 390 | # | |
372 | # Machine-independent PCMCIA drivers | 391 | # Machine-independent PCMCIA drivers | |
373 | # | 392 | # | |
374 | include "dev/pcmcia/files.pcmcia" | 393 | include "dev/pcmcia/files.pcmcia" | |
375 | 394 | |||
376 | # Domain-0 operations | 395 | # Domain-0 operations | |
377 | defflag opt_xen.h DOM0OPS XEN_COMPAT_030001 | 396 | defflag opt_xen.h DOM0OPS XEN_COMPAT_030001 | |
378 | file arch/xen/xen/privcmd.c dom0ops | 397 | file arch/xen/xen/privcmd.c dom0ops | |
379 | file arch/xen/x86/xen_shm_machdep.c dom0ops | 398 | file arch/xen/x86/xen_shm_machdep.c dom0ops | |
380 | file arch/x86/pci/pci_machdep.c hypervisor & pci & dom0ops | 399 | file arch/x86/pci/pci_machdep.c hypervisor & pci & dom0ops | |
381 | file arch/xen/xen/pci_intr_machdep.c hypervisor & pci | 400 | file arch/xen/xen/pci_intr_machdep.c hypervisor & pci | |
382 | file arch/xen/xen/isa_machdep.c hypervisor & dom0ops | 401 | file arch/xen/xen/isa_machdep.c hypervisor & dom0ops | |
383 | file arch/xen/xen/xenevt.c xenevt & dom0ops | 402 | file arch/xen/xen/xenevt.c xenevt & dom0ops | |
384 | file arch/xen/xen/xennetback_xenbus.c xvif | 403 | file arch/xen/xen/xennetback_xenbus.c xvif | |
385 | file arch/xen/xen/xennet_checksum.c xvif | xennet | 404 | file arch/xen/xen/xennet_checksum.c xvif | xennet | |
386 | file arch/xen/xen/xbdback_xenbus.c xbdback | 405 | file arch/xen/xen/xbdback_xenbus.c xbdback | |
387 | 406 | |||
388 | ifdef i386 | 407 | ifdef i386 | |
389 | include "arch/i386/conf/majors.i386" | 408 | include "arch/i386/conf/majors.i386" | |
390 | elifdef amd64 | 409 | elifdef amd64 | |
391 | include "arch/amd64/conf/majors.amd64" | 410 | include "arch/amd64/conf/majors.amd64" | |
392 | endif | 411 | endif |