diff options
Diffstat (limited to 'src/cpu/x86/lapic')
-rw-r--r-- | src/cpu/x86/lapic/lapic_cpu_init.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/cpu/x86/lapic/lapic_cpu_init.c b/src/cpu/x86/lapic/lapic_cpu_init.c index 0e2550fb6f..0e314fd108 100644 --- a/src/cpu/x86/lapic/lapic_cpu_init.c +++ b/src/cpu/x86/lapic/lapic_cpu_init.c @@ -58,13 +58,17 @@ int lowmem_backup_size; static inline void setup_secondary_gdt(void) { u16 *gdt_limit; +#ifdef __x86_64__ + u64 *gdt_base; +#else u32 *gdt_base; +#endif gdt_limit = (void *)&_secondary_gdt_addr; gdt_base = (void *)&gdt_limit[1]; - *gdt_limit = (u32)&gdt_end - (u32)&gdt - 1; - *gdt_base = (u32)&gdt; + *gdt_limit = (uintptr_t)&gdt_end - (uintptr_t)&gdt - 1; + *gdt_base = (uintptr_t)&gdt; } static void copy_secondary_start_to_lowest_1M(void) |