vendorcode/amd/agesa: Tidy up gcccar.inc
Change register preservations and fix comments about register usage accordingly. Do this to avoid use of %mm0-2 registers inside macros defined in gcccar.inc, as future implementation of C_BOOTBLOCK_ENVIRONMENT will use them as well. Adjust caller side accordingly. Change-Id: Ic76fcc31ae714baf5259d17c41b62a3610aa947b Signed-off-by: Marshall Dawson <marshalldawson3rd@gmail.com> Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/20579 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Marc Jones <marc@marcjonesconsulting.com>
This commit is contained in:
		| @@ -32,7 +32,7 @@ | ||||
| cache_as_ram_setup: | ||||
|  | ||||
|   /* Preserve BIST. */ | ||||
|   movl %eax, %ebp | ||||
|   movd %eax, %mm0 | ||||
|  | ||||
|   post_code(0xa0) | ||||
|  | ||||
| @@ -45,7 +45,6 @@ cache_as_ram_setup: | ||||
|  | ||||
|   post_code(0xa1) | ||||
|  | ||||
|   /* NOTE: %ebx, %ebp are preserved in AMD_ENABLE_STACK. */ | ||||
|   AMD_ENABLE_STACK | ||||
|  | ||||
|   /* Align the stack. */ | ||||
| @@ -96,19 +95,18 @@ cache_as_ram_setup: | ||||
|  | ||||
| #endif | ||||
|  | ||||
|   /* Calling conventions preserve BIST in %ebp. */ | ||||
|  | ||||
|   call early_all_cores | ||||
|  | ||||
|   /* Must maintain 16-byte stack alignment here. */ | ||||
|   pushl $0x0 | ||||
|   pushl $0x0 | ||||
|   pushl $0x0 | ||||
|   pushl %ebp | ||||
|   movd  %mm0, %eax		/* bist */ | ||||
|   pushl %eax | ||||
|   call  romstage_main | ||||
|   movl  %eax, %ebx | ||||
|   movl  %eax, %esp | ||||
|  | ||||
| /* Register %ebx is new stacktop for remaining of romstage. | ||||
| /* Register %esp is new stacktop for remaining of romstage. | ||||
|  * It is the only register preserved in AMD_DISABLE_STACK. | ||||
|  */ | ||||
|  | ||||
| @@ -125,7 +123,6 @@ disable_cache_as_ram: | ||||
|   andl $0x9fffffff, %eax | ||||
|   movl %eax, %cr0 | ||||
|  | ||||
|   movl  %ebx, %esp | ||||
|   call  romstage_after_car | ||||
|  | ||||
|   /* Should never see this postcode */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user