aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPan, Jacob jun <jacob.jun.pan@intel.com>2009-08-28 17:52:47 -0400
committerThomas Gleixner <tglx@linutronix.de>2009-08-31 05:09:40 -0400
commit162bc7ab01a00eba1c5d614e64a51e1268ee3f96 (patch)
tree50bc4b6019cb272e2f3de6253a9ce68c8a7f483e
parent47a3d5da70f411bc044ecd3c0593b158b09d0efa (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.txt1
-rw-r--r--arch/x86/include/asm/bootparam.h10
-rw-r--r--arch/x86/kernel/head_32.S1
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
603Field name: hardware_subarch_data 604Field name: hardware_subarch_data
604Type: write (subarch-dependent) 605Type: 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
112enum {
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 */
160num_subarch_entries = (. - subarch_entries) / 4 161num_subarch_entries = (. - subarch_entries) / 4
161.previous 162.previous
162#endif /* CONFIG_PARAVIRT */ 163#endif /* CONFIG_PARAVIRT */