Patrick Rudolph has uploaded this change for review.

View Change

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;


To view, visit change 47711. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ifc60e1efa6fe6a3029ef9e5e63ce50afa8c8c51c
Gerrit-Change-Number: 47711
Gerrit-PatchSet: 1
Gerrit-Owner: Patrick Rudolph <patrick.rudolph@9elements.com>
Gerrit-MessageType: newchange