summaryrefslogtreecommitdiff
path: root/src/arch/x86/exit_car.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86/exit_car.S')
-rw-r--r--src/arch/x86/exit_car.S8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/arch/x86/exit_car.S b/src/arch/x86/exit_car.S
index 679e335eb3..8c2878481b 100644
--- a/src/arch/x86/exit_car.S
+++ b/src/arch/x86/exit_car.S
@@ -31,6 +31,14 @@ _start:
/* Migrate GDT to this text segment */
call gdt_init
+#ifdef __x86_64__
+ mov %rdi, _cbmem_top_ptr
+#else
+ /* The return argument is at 0(%esp), the calling argument at 4(%esp) */
+ movl 4(%esp), %eax
+ movl %eax, _cbmem_top_ptr
+#endif
+
/* chipset_teardown_car() is expected to disable cache-as-ram. */
call chipset_teardown_car