diff options
Diffstat (limited to 'src/arch/x86/mpspec.c')
-rw-r--r-- | src/arch/x86/mpspec.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/arch/x86/mpspec.c b/src/arch/x86/mpspec.c index fa29e800c3..ba0c4f70ee 100644 --- a/src/arch/x86/mpspec.c +++ b/src/arch/x86/mpspec.c @@ -3,6 +3,7 @@ #include <console/console.h> #include <device/path.h> #include <device/pci_ids.h> +#include <arch/ioapic.h> #include <arch/smp/mpspec.h> #include <string.h> #include <arch/cpu.h> @@ -221,6 +222,14 @@ void smp_write_ioapic(struct mp_config_table *mc, smp_add_mpc_entry(mc, sizeof(*mpc)); } +u8 smp_write_ioapic_from_hw(struct mp_config_table *mc, void *apicaddr) +{ + u8 id = get_ioapic_id(apicaddr); + u8 ver = get_ioapic_version(apicaddr); + smp_write_ioapic(mc, id, ver, apicaddr); + return id; +} + /* * Type 3: I/O Interrupt Table Entries: * Entry Type, Int Type, Int Polarity, Int Level, |