summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/i386/boot/tables.c2
-rw-r--r--src/arch/i386/include/arch/smp/mpspec.h2
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 */