summaryrefslogtreecommitdiff
path: root/src/device/oprom/realmode
diff options
context:
space:
mode:
authorArthur Heymans <arthur@aheymans.xyz>2021-11-25 09:39:02 +0100
committerNico Huber <nico.h@gmx.de>2022-01-17 13:43:27 +0000
commit15c9c78057f35c05af4ebf348b1f737baf3ef5c8 (patch)
tree2037286b5d92eb2f343f663510856210dae7657f /src/device/oprom/realmode
parente74ebcde38c78a4b81f621211d58c618ae1ad3a7 (diff)
oprom/realmode/x86.c: Fix building for ENV_X86_64
Not tested on hardware. Change-Id: I8ce8d56da326aeff5ff9b400ded02d4309372519 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr> Reviewed-on: https://review.coreboot.org/c/coreboot/+/59660 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'src/device/oprom/realmode')
-rw-r--r--src/device/oprom/realmode/x86.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/device/oprom/realmode/x86.c b/src/device/oprom/realmode/x86.c
index 224e49b97d..b391b92ee0 100644
--- a/src/device/oprom/realmode/x86.c
+++ b/src/device/oprom/realmode/x86.c
@@ -10,6 +10,7 @@
#include <device/pci_ids.h>
#include <pc80/i8259.h>
#include <pc80/i8254.h>
+#include <stdint.h>
#include <string.h>
#include <vbe.h>
#include <framebuffer_info.h>
@@ -89,14 +90,19 @@ static int intXX_exception_handler(void)
.edi=X86_EDI,
.vector=M.x86.intno,
.error_code=0, // FIXME: fill in
- .eip=X86_EIP,
.cs=X86_CS,
+#if ENV_X86_64
+ .rip=X86_EIP,
+ .rflags=X86_EFLAGS
+#else
+ .eip=X86_EIP,
.eflags=X86_EFLAGS
+#endif
};
struct eregs *regs = &reg_info;
printk(BIOS_INFO, "Oops, exception %d while executing option rom\n",
- regs->vector);
+ (uint32_t)regs->vector);
x86_exception(regs); // Call coreboot exception handler
return 0; // Never really returns