diff options
author | Pan, Jacob jun <jacob.jun.pan@intel.com> | 2009-08-28 17:52:47 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-08-31 05:09:40 -0400 |
commit | 162bc7ab01a00eba1c5d614e64a51e1268ee3f96 (patch) | |
tree | 50bc4b6019cb272e2f3de6253a9ce68c8a7f483e | |
parent | 47a3d5da70f411bc044ecd3c0593b158b09d0efa (diff) |
x86: Add hardware_subarch ID for Moorestown
x86 bootprotocol 2.07 has introduced hardware_subarch ID in the boot
parameters provided by FW. We use it to identify Moorestown platforms.
[ tglx: Cleanup and paravirt fix ]
Signed-off-by: Jacob Pan <jacob.jun.pan@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r-- | Documentation/x86/boot.txt | 1 | ||||
-rw-r--r-- | arch/x86/include/asm/bootparam.h | 10 | ||||
-rw-r--r-- | arch/x86/kernel/head_32.S | 1 |
3 files changed, 12 insertions, 0 deletions
diff --git a/Documentation/x86/boot.txt b/Documentation/x86/boot.txt index 8da3a795083f..30b43e1b2697 100644 --- a/Documentation/x86/boot.txt +++ b/Documentation/x86/boot.txt | |||
@@ -599,6 +599,7 @@ Protocol: 2.07+ | |||
599 | 0x00000000 The default x86/PC environment | 599 | 0x00000000 The default x86/PC environment |
600 | 0x00000001 lguest | 600 | 0x00000001 lguest |
601 | 0x00000002 Xen | 601 | 0x00000002 Xen |
602 | 0x00000003 Moorestown MID | ||
602 | 603 | ||
603 | Field name: hardware_subarch_data | 604 | Field name: hardware_subarch_data |
604 | Type: write (subarch-dependent) | 605 | Type: write (subarch-dependent) |
diff --git a/arch/x86/include/asm/bootparam.h b/arch/x86/include/asm/bootparam.h index 1724e8de317c..283a9a1b3efd 100644 --- a/arch/x86/include/asm/bootparam.h +++ b/arch/x86/include/asm/bootparam.h | |||
@@ -109,4 +109,14 @@ struct boot_params { | |||
109 | __u8 _pad9[276]; /* 0xeec */ | 109 | __u8 _pad9[276]; /* 0xeec */ |
110 | } __attribute__((packed)); | 110 | } __attribute__((packed)); |
111 | 111 | ||
112 | enum { | ||
113 | X86_SUBARCH_PC = 0, | ||
114 | X86_SUBARCH_LGUEST, | ||
115 | X86_SUBARCH_XEN, | ||
116 | X86_SUBARCH_MRST, | ||
117 | X86_NR_SUBARCHS, | ||
118 | }; | ||
119 | |||
120 | |||
121 | |||
112 | #endif /* _ASM_X86_BOOTPARAM_H */ | 122 | #endif /* _ASM_X86_BOOTPARAM_H */ |
diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S index cc827ac9e8d3..304e3f3d747b 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S | |||
@@ -157,6 +157,7 @@ subarch_entries: | |||
157 | .long default_entry /* normal x86/PC */ | 157 | .long default_entry /* normal x86/PC */ |
158 | .long lguest_entry /* lguest hypervisor */ | 158 | .long lguest_entry /* lguest hypervisor */ |
159 | .long xen_entry /* Xen hypervisor */ | 159 | .long xen_entry /* Xen hypervisor */ |
160 | .long default_entry /* Moorestown MID */ | ||
160 | num_subarch_entries = (. - subarch_entries) / 4 | 161 | num_subarch_entries = (. - subarch_entries) / 4 |
161 | .previous | 162 | .previous |
162 | #endif /* CONFIG_PARAVIRT */ | 163 | #endif /* CONFIG_PARAVIRT */ |