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,33 +1,40 @@ | @@ -1,33 +1,40 @@ | |||
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 |
--- 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,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
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 | |||
@@ -19,26 +19,36 @@ options XEN | @@ -19,26 +19,36 @@ options XEN | |||
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 |
--- 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,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
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: | |
@@ -78,28 +78,28 @@ extern const struct cpu_functions mp_cpu | @@ -78,28 +78,28 @@ extern const struct cpu_functions mp_cpu | |||
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); |
--- 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,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
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 | |
@@ -21,27 +21,27 @@ | @@ -21,27 +21,27 @@ | |||
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> | |
@@ -120,29 +120,27 @@ check_pa_acc(paddr_t pa, vm_prot_t prot) | @@ -120,29 +120,27 @@ check_pa_acc(paddr_t pa, vm_prot_t prot) | |||
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); |
--- 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,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
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 | |
@@ -47,27 +47,18 @@ defflag opt_largepages.h XXXLARGEPAGES | @@ -47,27 +47,18 @@ 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,14 +1,14 @@ | @@ -1,14 +1,14 @@ | |||
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. | |
@@ -16,26 +16,38 @@ defparam CPURESET_DELAY | @@ -16,26 +16,38 @@ 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 | |
@@ -50,26 +62,31 @@ file arch/i386/i386/process_machdep.c | @@ -50,26 +62,31 @@ 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 | |
@@ -266,26 +283,28 @@ device ipmi : sysmon_envsys, sysmon_wdog | @@ -266,26 +283,28 @@ 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) |