summaryrefslogtreecommitdiff
path: root/src/drivers/amd/agesa/cache_as_ram.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/amd/agesa/cache_as_ram.S')
-rw-r--r--src/drivers/amd/agesa/cache_as_ram.S25
1 files changed, 11 insertions, 14 deletions
diff --git a/src/drivers/amd/agesa/cache_as_ram.S b/src/drivers/amd/agesa/cache_as_ram.S
index e86830f5f7..4417e64595 100644
--- a/src/drivers/amd/agesa/cache_as_ram.S
+++ b/src/drivers/amd/agesa/cache_as_ram.S
@@ -30,9 +30,6 @@
_cache_as_ram_setup:
- /* Preserve BIST. */
- movd %eax, %mm0
-
post_code(0xa0)
AMD_ENABLE_STACK
@@ -50,16 +47,16 @@ _cache_as_ram_setup:
mov $_ecar_stack, %esp
- /* Align the stack. */
- and $0xFFFFFFF0, %esp
+ /* Align the stack and keep aligned for call to bootblock_c_entry() */
+ and $0xfffffff0, %esp
+ sub $8, %esp
+
+ pushl $0 /* tsc[63:32] */
+ pushl $0 /* tsc[31:0] */
+
+ post_code(0xa2)
- /* Must maintain 16-byte stack alignment here. */
- pushl $0x0
- pushl $0x0
- pushl $0x0
- movd %mm0, %eax /* bist */
- pushl %eax
- call romstage_main
+ call bootblock_c_entry
/* Never reached. */
@@ -69,9 +66,9 @@ stop:
jmp stop
ap_entry:
- /* Align the stack for call to ap_romstage_main() */
+ /* Align the stack for call to ap_bootblock_c_entry() */
and $0xfffffff0, %esp
- call ap_romstage_main
+ call ap_bootblock_c_entry
/* Never reached. */
jmp stop