* [PATCH kvm-unit-tests v2] x86: setup segment registers before percpu areas
@ 2020-06-25 11:13 Paolo Bonzini
0 siblings, 0 replies; only message in thread
From: Paolo Bonzini @ 2020-06-25 11:13 UTC (permalink / raw)
To: kvm; +Cc: nadav.amit
The base of the percpu area is stored in the %gs base, and writing
to %gs destroys it. Move setup_segments earlier, before the %gs
base is written, and keep setup_percpu_area close so that the base
is updated close to the selector.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
x86/cstart.S | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/x86/cstart.S b/x86/cstart.S
index 6b5004e..deb08b7 100644
--- a/x86/cstart.S
+++ b/x86/cstart.S
@@ -109,21 +109,21 @@ MSR_GS_BASE = 0xc0000101
.globl start
start:
+ lgdtl gdt32_descr
+ setup_segments
mov $stacktop, %esp
+ setup_percpu_area
+
push %ebx
call setup_multiboot
call setup_libcflat
mov mb_cmdline(%ebx), %eax
mov %eax, __args
call __setup_args
- setup_percpu_area
call prepare_32
jmpl $8, $start32
prepare_32:
- lgdtl gdt32_descr
- setup_segments
-
mov %cr4, %eax
bts $4, %eax // pse
mov %eax, %cr4
--
2.26.2
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2020-06-25 11:13 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-25 11:13 [PATCH kvm-unit-tests v2] x86: setup segment registers before percpu areas Paolo Bonzini
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.