diff options
-rw-r--r-- | src/sys/arch/amd64/boot/boot_chip.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/sys/arch/amd64/boot/boot_chip.c b/src/sys/arch/amd64/boot/boot_chip.c index 01d090c..679a759 100644 --- a/src/sys/arch/amd64/boot/boot_chip.c +++ b/src/sys/arch/amd64/boot/boot_chip.c @@ -33,6 +33,20 @@ #include <machine/boot.h> #include <machine/i8259.h> #include <machine/ioapic.h> +#include <stdbool.h> + +static void +chipset_init(void) +{ + static bool once = false; + + if (once) { + return; + } + + once = true; + ioapic_init(); +} void platform_boot(void) @@ -40,6 +54,6 @@ platform_boot(void) gdt_load(); i8259_disable(); - ioapic_init(); + chipset_init(); uart_init(); } |