diff options
author | Yinghai Lu <yhlu.kernel@gmail.com> | 2008-06-01 13:17:38 -0700 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-06-03 13:26:27 +0200 |
commit | 2944e16b25e7fb8b5ee0dd9dc7197a0f9e523cfd (patch) | |
tree | 0114128fdb9d2f54188a1684758e0217eadae1e5 /include/asm-x86 | |
parent | e8c27ac9191ab9e6506ae5cbe70d87ac50f8e960 (diff) | |
download | blackbird-op-linux-2944e16b25e7fb8b5ee0dd9dc7197a0f9e523cfd.tar.gz blackbird-op-linux-2944e16b25e7fb8b5ee0dd9dc7197a0f9e523cfd.zip |
x86: update mptable
make mptable to be consistent with acpi routing, so we could:
1. kexec kernel with acpi=off
2. work around BIOSes where acpi routing is working, but mptable is
not right, so can use kernel/kexec to start other OSes that don't have
good acpi support.
command line: update_mptable
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-x86')
-rw-r--r-- | include/asm-x86/e820.h | 1 | ||||
-rw-r--r-- | include/asm-x86/mpspec.h | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/include/asm-x86/e820.h b/include/asm-x86/e820.h index 4266a2c5f2e8..ee8fe4c5da41 100644 --- a/include/asm-x86/e820.h +++ b/include/asm-x86/e820.h @@ -84,6 +84,7 @@ extern u64 find_e820_area_size(u64 start, u64 *sizep, u64 align); extern void reserve_early(u64 start, u64 end, char *name); extern void free_early(u64 start, u64 end); extern void early_res_to_bootmem(u64 start, u64 end); +extern u64 early_reserve_e820(u64 startt, u64 sizet, u64 align); #endif /* __ASSEMBLY__ */ diff --git a/include/asm-x86/mpspec.h b/include/asm-x86/mpspec.h index b785ddd8d761..6a34d6dfd042 100644 --- a/include/asm-x86/mpspec.h +++ b/include/asm-x86/mpspec.h @@ -39,6 +39,7 @@ extern unsigned long mp_lapic_addr; extern void find_smp_config(void); extern void get_smp_config(void); +extern void early_reserve_e820_mpc_new(void); void __cpuinit generic_processor_info(int apicid, int version); #ifdef CONFIG_ACPI @@ -47,6 +48,9 @@ extern void mp_override_legacy_irq(u8 bus_irq, u8 polarity, u8 trigger, u32 gsi); extern void mp_config_acpi_legacy_irqs(void); extern int mp_register_gsi(u32 gsi, int edge_level, int active_high_low); +extern void MP_intsrc_info(struct mpc_config_intsrc *m); +extern int mp_config_acpi_gsi(unsigned char number, unsigned int devfn, u8 pin, + u32 gsi, int triggering, int polarity); #endif /* CONFIG_ACPI */ #define PHYSID_ARRAY_SIZE BITS_TO_LONGS(MAX_APICS) |