summaryrefslogtreecommitdiffstats
path: root/bsps/x86_64/amd64/start/bspstart.c
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/x86_64/amd64/start/bspstart.c')
-rw-r--r--bsps/x86_64/amd64/start/bspstart.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/bsps/x86_64/amd64/start/bspstart.c b/bsps/x86_64/amd64/start/bspstart.c
index d1e1e4b2f2..e0e70f97bb 100644
--- a/bsps/x86_64/amd64/start/bspstart.c
+++ b/bsps/x86_64/amd64/start/bspstart.c
@@ -28,9 +28,21 @@
#include <bsp/bootcard.h>
#include <libcpu/page.h>
#include <bsp/irq-generic.h>
+#include <multiboot2impl.h>
+
+#if defined(BSP_USE_EFI_BOOT_SERVICES) && !defined(BSP_MULTIBOOT_SUPPORT)
+#error "RTEMS amd64efi BSP requires multiboot2 support!"
+#endif
void bsp_start(void)
{
- paging_init();
- bsp_interrupt_initialize();
+#ifdef BSP_MULTIBOOT_SUPPORT
+ process_multiboot2_info();
+ if (!uefi_bootservices_running()) {
+#endif
+ paging_init();
+ bsp_interrupt_initialize();
+#ifdef BSP_MULTIBOOT_SUPPORT
+ }
+#endif
}