qemu-e2k/target
David Woodhouse 110a0ea59f i386/xen: manage and save/restore Xen guest long_mode setting
Xen will "latch" the guest's 32-bit or 64-bit ("long mode") setting when
the guest writes the MSR to fill in the hypercall page, or when the guest
sets the event channel callback in HVM_PARAM_CALLBACK_IRQ.

KVM handles the former and sets the kernel's long_mode flag accordingly.
The latter will be handled in userspace. Keep them in sync by noticing
when a hypercall is made in a mode that doesn't match qemu's idea of
the guest mode, and resyncing from the kernel. Do that same sync right
before serialization too, in case the guest has set the hypercall page
but hasn't yet made a system call.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
2023-03-01 08:22:49 +00:00
..
alpha target/alpha: Remove obsolete STATUS document 2023-02-27 22:29:01 +01:00
arm target/cpu: Restrict do_transaction_failed() handlers to sysemu 2023-02-27 22:29:01 +01:00
avr target/avr: Convert to 3-phase reset 2022-12-16 15:58:15 +00:00
cris target/cpu: Restrict cpu_get_phys_page_debug() handlers to sysemu 2023-02-27 22:29:01 +01:00
hexagon target/hexagon: Clean up includes 2023-02-08 07:28:05 +01:00
hppa target/hppa: Extract system helpers to sys_helper.c 2023-02-27 22:29:01 +01:00
i386 i386/xen: manage and save/restore Xen guest long_mode setting 2023-03-01 08:22:49 +00:00
loongarch target/loongarch/cpu: Restrict "memory.h" header to sysemu 2023-02-27 22:29:01 +01:00
m68k target/cpu: Restrict do_transaction_failed() handlers to sysemu 2023-02-27 22:29:01 +01:00
microblaze target/cpu: Restrict cpu_get_phys_page_debug() handlers to sysemu 2023-02-27 22:29:01 +01:00
mips Drop duplicate #include 2023-02-08 07:28:05 +01:00
nios2 target/cpu: Restrict cpu_get_phys_page_debug() handlers to sysemu 2023-02-27 22:29:01 +01:00
openrisc target/cpu: Restrict cpu_get_phys_page_debug() handlers to sysemu 2023-02-27 22:29:01 +01:00
ppc target/ppc: Fix warning with clang-15 2023-02-27 22:29:01 +01:00
riscv target/riscv/cpu: Move Floating-Point fields closer 2023-02-27 22:29:01 +01:00
rx target/cpu: Restrict cpu_get_phys_page_debug() handlers to sysemu 2023-02-27 22:29:01 +01:00
s390x target/s390x: Use tcg_constant_* in translate_vx.c.inc 2023-02-27 09:15:39 +01:00
sh4 target/cpu: Restrict cpu_get_phys_page_debug() handlers to sysemu 2023-02-27 22:29:01 +01:00
sparc target/sparc/sysemu: Remove pointless CONFIG_USER_ONLY guard 2023-02-27 22:29:01 +01:00
tricore target/tricore: Remove unused fields from CPUTriCoreState 2023-02-27 22:29:01 +01:00
xtensa target/xtensa/cpu: Include missing "memory.h" header 2023-02-27 22:29:01 +01:00
Kconfig
meson.build