qemu/target
Joao Martins 79b7067dc6 i386/xen: implement HYPERVISOR_sched_op, SCHEDOP_shutdown
It allows to shutdown itself via hypercall with any of the 3 reasons:
  1) self-reboot
  2) shutdown
  3) crash

Implementing SCHEDOP_shutdown sub op let us handle crashes gracefully rather
than leading to triple faults if it remains unimplemented.

In addition, the SHUTDOWN_soft_reset reason is used for kexec, to reset
Xen shared pages and other enlightenments and leave a clean slate for the
new kernel without the hypervisor helpfully writing information at
unexpected addresses.

Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
[dwmw2: Ditch sched_op_compat which was never available for HVM guests,
        Add SCHEDOP_soft_reset]
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: implement HYPERVISOR_sched_op, SCHEDOP_shutdown 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 hw/loongarch: Add support loongson3 virt machine type. 2022-06-06 18:09:03 +00:00
meson.build target/loongarch: Add target build suport 2022-06-06 18:09:03 +00:00