mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 11:03:43 +02:00
x86/boot/compressed: Adhere to calling convention in get_sev_encryption_bit()
Make get_sev_encryption_bit() follow the ordinary i386 calling convention, and only call it if CONFIG_AMD_MEM_ENCRYPT is actually enabled. This clarifies the calling code, and makes it more maintainable. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lore.kernel.org/r/20221122161017.2426828-16-ardb@kernel.org
This commit is contained in:
parent
9d7eaae6a0
commit
30c9ca16a5
|
|
@ -180,12 +180,13 @@ SYM_FUNC_START(startup_32)
|
|||
*/
|
||||
/*
|
||||
* If SEV is active then set the encryption mask in the page tables.
|
||||
* This will insure that when the kernel is copied and decompressed
|
||||
* This will ensure that when the kernel is copied and decompressed
|
||||
* it will be done so encrypted.
|
||||
*/
|
||||
call get_sev_encryption_bit
|
||||
xorl %edx, %edx
|
||||
#ifdef CONFIG_AMD_MEM_ENCRYPT
|
||||
call get_sev_encryption_bit
|
||||
xorl %edx, %edx
|
||||
testl %eax, %eax
|
||||
jz 1f
|
||||
subl $32, %eax /* Encryption bit is always above bit 31 */
|
||||
|
|
|
|||
|
|
@ -18,12 +18,7 @@
|
|||
.text
|
||||
.code32
|
||||
SYM_FUNC_START(get_sev_encryption_bit)
|
||||
xor %eax, %eax
|
||||
|
||||
#ifdef CONFIG_AMD_MEM_ENCRYPT
|
||||
push %ebx
|
||||
push %ecx
|
||||
push %edx
|
||||
|
||||
movl $0x80000000, %eax /* CPUID to check the highest leaf */
|
||||
cpuid
|
||||
|
|
@ -54,12 +49,7 @@ SYM_FUNC_START(get_sev_encryption_bit)
|
|||
xor %eax, %eax
|
||||
|
||||
.Lsev_exit:
|
||||
pop %edx
|
||||
pop %ecx
|
||||
pop %ebx
|
||||
|
||||
#endif /* CONFIG_AMD_MEM_ENCRYPT */
|
||||
|
||||
RET
|
||||
SYM_FUNC_END(get_sev_encryption_bit)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user