aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/common/block/cpu/car
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/common/block/cpu/car')
-rw-r--r--src/soc/intel/common/block/cpu/car/exit_car.S8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/soc/intel/common/block/cpu/car/exit_car.S b/src/soc/intel/common/block/cpu/car/exit_car.S
index 9480a5a9c6..191232a3b0 100644
--- a/src/soc/intel/common/block/cpu/car/exit_car.S
+++ b/src/soc/intel/common/block/cpu/car/exit_car.S
@@ -28,7 +28,11 @@ chipset_teardown_car:
* Retrieve return address from stack as it will get trashed below if
* execution is utilizing the cache-as-ram stack.
*/
+#if ENV_X86_64
+ pop %rbx
+#else
pop %ebx
+#endif
/* Disable MTRRs. */
mov $(MTRR_DEF_TYPE_MSR), %ecx
@@ -95,4 +99,8 @@ car_nem_enhanced_teardown:
#endif
/* Return to caller. */
+#if ENV_X86_64
+ jmp *%rbx
+#else
jmp *%ebx
+#endif