Attention is currently required from: Felix Singer, Patrick Rudolph. Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/59873 )
Change subject: src/arch/x86/exit_car: Add proper x86_64 code ......................................................................
Patch Set 2:
(1 comment)
File src/arch/x86/exit_car.S:
https://review.coreboot.org/c/coreboot/+/59873/comment/fedaf0c4_56185713 PS2, Line 112: #if CONFIG(SOC_SETS_MSRS) : : #if ENV_X86_64 : mov %rsp, %rbp : : /* Need to align stack to 16 bytes at the call instruction. Therefore : account for the 1 push. */ : movq $0xfffffffffffffff0, %rax : and %rax, %rsp : mov %rbp, %rdi : #else : mov %esp, %ebp : /* Need to align stack to 16 bytes at the call instruction. Therefore : account for the 1 push. */ : andl $0xfffffff0, %esp : : sub $12, %esp : push %ebp : #endif : : call soc_set_mtrrs : /* Ignore fixing up %esp since we're setting it a new value. */ : : #if ENV_X86_64 : /* rax: new top_of_stack with setup_stack_and_mtrrs data removed */ : mov %rax, %rsp : /* Align stack to 16 bytes at call instruction. */ : movq $0xfffffffffffffff0, %rax : and %rax, %rsp : #else : /* eax: new top_of_stack with setup_stack_and_mtrrs data removed */ : movl %eax, %esp : /* Align stack to 16 bytes at call instruction. */ : andl $0xfffffff0, %esp : #endif : call soc_enable_mtrrs : #else /* CONFIG_SOC_SETS_MSRS */ `soc/intel/quark` is the only user of `SOC_SETS_MSRS`, and Quark is 32-bit.