diff options
-rw-r--r-- | src/arch/i386/boot/tables.c | 2 | ||||
-rw-r--r-- | src/arch/i386/include/arch/smp/mpspec.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/arch/i386/boot/tables.c b/src/arch/i386/boot/tables.c index 8abac2b748..e43d49d124 100644 --- a/src/arch/i386/boot/tables.c +++ b/src/arch/i386/boot/tables.c @@ -69,6 +69,7 @@ struct lb_memory *write_tables(void) /* The smp table must be in 0-1K, 639K-640K, or 960K-1M */ new_low_table_end = write_smp_table(low_table_end); +#if HAVE_MP_TABLE==1 /* Don't write anything in the traditional x86 BIOS data segment, * for example the linux kernel smp need to use 0x467 to pass reset vector */ @@ -93,6 +94,7 @@ struct lb_memory *write_tables(void) low_table_end = 0x500 + mptable_size; } } +#endif /* Don't write anything in the traditional x86 BIOS data segment */ if (low_table_end < 0x500) { diff --git a/src/arch/i386/include/arch/smp/mpspec.h b/src/arch/i386/include/arch/smp/mpspec.h index 32ed2d752a..600a584514 100644 --- a/src/arch/i386/include/arch/smp/mpspec.h +++ b/src/arch/i386/include/arch/smp/mpspec.h @@ -264,6 +264,8 @@ void smp_write_compatibility_address_space(struct mp_config_table *mc, unsigned int range_list); unsigned char smp_compute_checksum(void *v, int len); void *smp_write_floating_table(unsigned long addr); +void *smp_write_floating_table_physaddr(unsigned long addr, + unsigned long mpf_physptr); unsigned long write_smp_table(unsigned long addr); #else /* HAVE_MP_TABLE */ |