qemu-e2k/hw
Igor Mammedov c2d2a81b41 pc: make sure that guest isn't able to unplug the first cpu
The first cpu unplug wasn't ever supported and corresponding
monitor/qmp commands refuse to unplug it. However guest is able
to issue eject request either using following command:
  # echo 1 >/sys/devices/system/cpu/cpu0/firmware_node/eject
or directly writing to cpu hotplug registers, which makes
qemu crash with SIGSEGV following back trace:

   kvm_flush_coalesced_mmio_buffer ()
       while (ring->first != ring->last)
   ...
   qemu_flush_coalesced_mmio_buffer
   prepare_mmio_access
   flatview_read_continue
   flatview_read
   address_space_read_full
   address_space_rw
   kvm_cpu_exec(cpu!0)
   qemu_kvm_cpu_thread_fn

the reason for which is that ring == KVMState::coalesced_mmio_ring
happens to be a part of 1st CPU that was uplugged by guest.

Fix it by forbidding 1st cpu unplug from guest side and in addition
remove CPU0._EJ0 ACPI method to make clear that unplug of the first
CPU is not supported.

Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2018-09-07 17:05:18 -04:00
..
9pfs
acpi pc: make sure that guest isn't able to unplug the first cpu 2018-09-07 17:05:18 -04:00
adc
alpha
arm hw/arm/mps2: Fix ID register errors on AN511 and AN385 2018-08-24 13:17:50 +01:00
audio fix "Missing break in switch" coverity reports 2018-08-23 13:32:50 +02:00
block block: Remove deprecated -drive option serial 2018-08-15 12:50:39 +02:00
bt
char imx_serial: Generate interrupt on receive data ready if enabled 2018-08-20 11:24:31 +01:00
core sysbus: always allow explicit_ofw_unit_address() to override address generation 2018-08-16 22:27:43 -03:00
cpu hw/cpu/a15mpcore: If CPU has EL2, enable it on the GIC and wire it up 2018-08-24 13:17:34 +01:00
cris
display hw/display/bcm2835_fb: Validate bcm2835_fb_mbox_push() config 2018-08-24 13:17:50 +01:00
dma hw/dma/pl080: Remove hw_error() if DMA is enabled 2018-08-20 11:24:33 +01:00
gpio
hppa
i2c i2c: pm_smbus: Add the ability to force block transfer enable 2018-08-23 18:46:25 +02:00
i386 pc: acpi: revert back to 1 SRAT entry for hotpluggable area 2018-09-07 17:05:18 -04:00
ide block: Remove deprecated -drive option serial 2018-08-15 12:50:39 +02:00
input
intc hw/intc/arm_gic: Make per-cpu GICH memory regions 0x200 bytes large 2018-08-24 13:17:31 +01:00
ipack
ipmi ipmi: Use proper struct reference for BT vmstate 2018-08-23 18:46:25 +02:00
isa i2c: pm_smbus: Add the ability to force block transfer enable 2018-08-23 18:46:25 +02:00
lm32
m68k
mem pc-dimm: assign and verify the "addr" property during pre_plug 2018-08-23 18:46:25 +02:00
microblaze
mips mips_malta: Fix semihosting argument passing for nanoMIPS bare metal 2018-08-24 17:51:59 +02:00
misc check/next for 20180822 2018-08-24 14:46:31 +01:00
moxie
net
nios2
nvram fw_cfg: ignore suffixes in the bootdevice list dependent on machine class 2018-08-16 22:27:43 -03:00
openrisc
pci hw/pci: factor PCI reserve resources to a separate structure 2018-09-07 17:05:18 -04:00
pci-bridge hw/pci: add PCI resource reserve capability to legacy PCI bridge 2018-09-07 17:05:18 -04:00
pci-host hw/pci-host/bonito: Move away from old_mmio accessors 2018-08-21 09:52:22 +02:00
pcmcia
ppc * x86 TCG fixes for 64-bit call gates (Andrew) 2018-08-23 19:03:54 +01:00
rdma config: split PVRDMA from RDMA 2018-08-18 18:01:34 +03:00
riscv
s390x s390x: remove 's390-squash-mcss' option 2018-08-20 14:18:49 +02:00
scsi vhost-scsi: expose 't10_pi' property for VIRTIO_SCSI_F_T10_PI 2018-08-23 18:46:25 +02:00
sd sdhci: add i.MX SD Stable Clock bit 2018-08-20 11:24:32 +01:00
sh4
smbios
sparc sun4m: don't use legacy fw_cfg_init_mem() function 2018-08-20 19:18:31 +01:00
sparc64 sun4u: ensure kernel_top is always initialised 2018-08-20 19:18:31 +01:00
ssi hw/ssi/pl022: Correct wrong DMACR and ICR handling 2018-08-24 13:17:46 +01:00
timer hw/timer/cmsdk-apb-dualtimer: Implement CMSDK dual timer module 2018-08-24 13:17:41 +01:00
tpm
tricore
unicore32
usb dev-mtp: rename x-root to rootdir 2018-08-21 10:27:59 +02:00
vfio vfio/pci: Fix failure to close file descriptor on error 2018-08-23 10:45:58 -06:00
virtio virtio: update MemoryRegionCaches when guest negotiates features 2018-09-07 17:05:18 -04:00
watchdog hw/watchdog/cmsdk_apb_watchdog: Implement CMSDK APB watchdog module 2018-08-20 11:24:33 +01:00
xen
xenpv
xtensa
Makefile.objs