summaryrefslogtreecommitdiff
path: root/payloads/libpayload/arch/x86/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/libpayload/arch/x86/main.c')
-rw-r--r--payloads/libpayload/arch/x86/main.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/payloads/libpayload/arch/x86/main.c b/payloads/libpayload/arch/x86/main.c
index f9a5e2cf83..05ffa0d83b 100644
--- a/payloads/libpayload/arch/x86/main.c
+++ b/payloads/libpayload/arch/x86/main.c
@@ -29,6 +29,7 @@
#include <exception.h>
#include <libpayload.h>
+#include <arch/apic.h>
unsigned long loader_eax; /**< The value of EAX passed from the loader */
unsigned long loader_ebx; /**< The value of EBX passed from the loader */
@@ -57,6 +58,12 @@ int start_main(void)
exception_init();
+ if (IS_ENABLED(CONFIG_LP_ENABLE_APIC)) {
+ apic_init();
+
+ enable_interrupts();
+ }
+
/*
* Any other system init that has to happen before the
* user gets control goes here.