aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/xen/xen-head.S
diff options
context:
space:
mode:
authorJuergen Gross <jgross@suse.com>2022-06-30 09:14:39 +0200
committerBorislav Petkov <bp@suse.de>2022-07-01 10:57:52 +0200
commit96e8fc5818686d4a1591bb6907e7fdb64ef29884 (patch)
tree52cac6393567e532ed0bf7aa5ceafbeebe5b1b52 /arch/x86/xen/xen-head.S
parentLinux 5.19-rc4 (diff)
downloadlinux-dev-96e8fc5818686d4a1591bb6907e7fdb64ef29884.tar.xz
linux-dev-96e8fc5818686d4a1591bb6907e7fdb64ef29884.zip
x86/xen: Use clear_bss() for Xen PV guests
Instead of clearing the bss area in assembly code, use the clear_bss() function. This requires to pass the start_info address as parameter to xen_start_kernel() in order to avoid the xen_start_info being zeroed again. Signed-off-by: Juergen Gross <jgross@suse.com> Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Link: https://lore.kernel.org/r/20220630071441.28576-2-jgross@suse.com
Diffstat (limited to 'arch/x86/xen/xen-head.S')
-rw-r--r--arch/x86/xen/xen-head.S10
1 files changed, 1 insertions, 9 deletions
diff --git a/arch/x86/xen/xen-head.S b/arch/x86/xen/xen-head.S
index 3a2cd93bf059..13af6fe453e3 100644
--- a/arch/x86/xen/xen-head.S
+++ b/arch/x86/xen/xen-head.S
@@ -48,15 +48,6 @@ SYM_CODE_START(startup_xen)
ANNOTATE_NOENDBR
cld
- /* Clear .bss */
- xor %eax,%eax
- mov $__bss_start, %rdi
- mov $__bss_stop, %rcx
- sub %rdi, %rcx
- shr $3, %rcx
- rep stosq
-
- mov %rsi, xen_start_info
mov initial_stack(%rip), %rsp
/* Set up %gs.
@@ -71,6 +62,7 @@ SYM_CODE_START(startup_xen)
cdq
wrmsr
+ mov %rsi, %rdi
call xen_start_kernel
SYM_CODE_END(startup_xen)
__FINIT