diff options
author | Zachary Amsden <zach@vmware.com> | 2008-12-13 12:36:58 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-12-18 09:13:36 -0800 |
commit | feb374144807f9d83d48930c3bae32005441230f (patch) | |
tree | 4dfb87b2edaf5fe7d73589b8eac0492975219384 /include/asm-x86 | |
parent | d9a888b061f55534016d2d86a21639948312a117 (diff) |
x86 Fix VMI crash on boot in 2.6.28-rc8
commit ae8d04e2ecbb233926860e9ce145eac19c7835dc upstream.
VMI initialiation can relocate the fixmap, causing early_ioremap to
malfunction if it is initialized before the relocation. To fix this,
VMI activation is split into two phases; the detection, which must
happen before setting up ioremap, and the activation, which must happen
after parsing early boot parameters.
This fixes a crash on boot when VMI is enabled under VMware.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/asm-x86')
-rw-r--r-- | include/asm-x86/vmi.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/asm-x86/vmi.h b/include/asm-x86/vmi.h index b7c0dea119f..61e08c0a290 100644 --- a/include/asm-x86/vmi.h +++ b/include/asm-x86/vmi.h @@ -223,9 +223,15 @@ struct pci_header { } __attribute__((packed)); /* Function prototypes for bootstrapping */ +#ifdef CONFIG_VMI extern void vmi_init(void); +extern void vmi_activate(void); extern void vmi_bringup(void); -extern void vmi_apply_boot_page_allocations(void); +#else +static inline void vmi_init(void) {} +static inline void vmi_activate(void) {} +static inline void vmi_bringup(void) {} +#endif /* State needed to start an application processor in an SMP system. */ struct vmi_ap_state { |