Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/47711 )
Change subject: cpu/x86/sipi_vector: Properly use uintptr_t ......................................................................
cpu/x86/sipi_vector: Properly use uintptr_t
Change-Id: Ifc60e1efa6fe6a3029ef9e5e63ce50afa8c8c51c Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com --- M src/cpu/x86/sipi_vector.S M src/include/cpu/x86/mp.h 2 files changed, 13 insertions(+), 8 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/11/47711/1
diff --git a/src/cpu/x86/sipi_vector.S b/src/cpu/x86/sipi_vector.S index ad614ae..cb5641a 100644 --- a/src/cpu/x86/sipi_vector.S +++ b/src/cpu/x86/sipi_vector.S @@ -15,6 +15,11 @@ * C code. The C handler loads microcode, sets up MSRs, and enables caching * before calling into the MP init provided 'c_handler' */ +#if ENV_X86_64 +#define uintptr_t quad +#else +#define uintptr_t long +#endif
.section ".module_parameters", "aw", @progbits ap_start_params: @@ -25,19 +30,19 @@ idt_ptr: .long 0 stack_top: -.long 0 +.uintptr_t 0 stack_size: .long 0 microcode_lock: .long 0 microcode_ptr: -.long 0 +.uintptr_t 0 msr_table_ptr: -.long 0 +.uintptr_t 0 msr_count: .long 0 c_handler: -.long 0 +.uintptr_t 0 ap_count: .long 0
diff --git a/src/include/cpu/x86/mp.h b/src/include/cpu/x86/mp.h index b55e2e7..ed6e91f 100644 --- a/src/include/cpu/x86/mp.h +++ b/src/include/cpu/x86/mp.h @@ -149,13 +149,13 @@ uint32_t gdt; uint16_t unused; uint32_t idt_ptr; - uint32_t stack_top; + uintptr_t stack_top; uint32_t stack_size; uint32_t microcode_lock; /* 0xffffffff means parallel loading. */ - uint32_t microcode_ptr; - uint32_t msr_table_ptr; + uintptr_t microcode_ptr; + uintptr_t msr_table_ptr; uint32_t msr_count; - uint32_t c_handler; + uintptr_t c_handler; atomic_t ap_count; } __packed;