xemu/hw
Nathan Chancellor ab3d207fe8 riscv: sifive_test: Allow 16-bit writes to memory region
When shutting down the machine running a mainline Linux kernel, the
following error happens:

$ build/riscv64-softmmu/qemu-system-riscv64 -bios default -M virt \
    -display none -initrd rootfs.cpio -kernel Image -m 512m \
    -nodefaults -serial mon:stdio
...
Requesting system poweroff
[    4.999630] reboot: Power down
sbi_trap_error: hart0: trap handler failed (error -2)
sbi_trap_error: hart0: mcause=0x0000000000000007 mtval=0x0000000000100000
sbi_trap_error: hart0: mepc=0x000000008000d4cc mstatus=0x0000000000001822
sbi_trap_error: hart0: ra=0x000000008000999e sp=0x0000000080015c78
sbi_trap_error: hart0: gp=0xffffffe000e76610 tp=0xffffffe0081b89c0
sbi_trap_error: hart0: s0=0x0000000080015c88 s1=0x0000000000000040
sbi_trap_error: hart0: a0=0x0000000000000000 a1=0x0000000080004024
sbi_trap_error: hart0: a2=0x0000000080004024 a3=0x0000000080004024
sbi_trap_error: hart0: a4=0x0000000000100000 a5=0x0000000000005555
sbi_trap_error: hart0: a6=0x0000000000004024 a7=0x0000000080011158
sbi_trap_error: hart0: s2=0x0000000000000000 s3=0x0000000080016000
sbi_trap_error: hart0: s4=0x0000000000000000 s5=0x0000000000000000
sbi_trap_error: hart0: s6=0x0000000000000001 s7=0x0000000000000000
sbi_trap_error: hart0: s8=0x0000000000000000 s9=0x0000000000000000
sbi_trap_error: hart0: s10=0x0000000000000000 s11=0x0000000000000008
sbi_trap_error: hart0: t0=0x0000000000000000 t1=0x0000000000000000
sbi_trap_error: hart0: t2=0x0000000000000000 t3=0x0000000000000000
sbi_trap_error: hart0: t4=0x0000000000000000 t5=0x0000000000000000
sbi_trap_error: hart0: t6=0x0000000000000000

The kernel does a 16-bit write when powering off the machine, which
was allowed before commit 5d971f9e67 ("memory: Revert "memory: accept
mismatching sizes in memory_region_access_valid""). Make min_access_size
match reality so that the machine can shut down properly now.

Cc: qemu-stable@nongnu.org
Fixes: 88a07990fa ("SiFive RISC-V Test Finisher")
Fixes: 5d971f9e67 ("memory: Revert "memory: accept mismatching sizes in memory_region_access_valid"")
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Message-Id: <20200901055822.2721209-1-natechancellor@gmail.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
2020-09-09 15:54:18 -07:00
..
9pfs 9pfs: Fix severe performance issue of Treaddir requests. 2020-08-24 16:39:53 +01:00
acpi Introduce a new flag for i440fx to disable PCI hotplug on the root bus 2020-08-27 08:29:08 -04:00
adc meson: convert hw/adc 2020-08-21 06:30:32 -04:00
alpha meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
arm configure: do not include dependency flags in QEMU_CFLAGS and LIBS 2020-09-08 11:43:16 +02:00
audio hda-audio: Set instance_size at base class 2020-09-02 07:29:25 -04:00
avr meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
block Various fixes of Aspeed machines : 2020-09-03 14:12:48 +01:00
char sclpconsole: Use TYPE_* constants 2020-08-27 14:21:48 -04:00
core target/arm: Move setting of CPU halted state to generic code 2020-09-08 10:08:42 +10:00
cpu hw/cpu/a9mpcore: Verify the machine use Cortex-A9 cores 2020-08-24 10:01:40 +01:00
cris meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
display hppa power button support, graphics updates and firmware fixes 2020-09-07 21:50:29 +01:00
dma i8257: Move QOM macro to header 2020-08-27 14:04:54 -04:00
gpio hw: Remove superfluous breaks 2020-09-01 08:38:00 +02:00
hppa hw/hppa: Add power button emulation 2020-09-02 23:16:52 +02:00
hyperv vmbus: Move QOM macros to vmbus.h 2020-08-27 14:04:54 -04:00
i2c meson: convert hw/i2c 2020-08-21 06:30:30 -04:00
i386 Revert "hw/i386: Update structures to save the number of nodes per package" 2020-09-02 07:29:26 -04:00
ide hw/ide/pci: Replace magic '512' value by BDRV_SECTOR_SIZE 2020-09-01 11:27:26 +02:00
input adb: Correct class size on TYPE_ADB_DEVICE 2020-09-08 10:08:42 +10:00
intc spapr/xive: Allocate vCPU IPIs from the vCPU contexts 2020-09-08 10:08:42 +10:00
ipack meson: convert hw/ipack 2020-08-21 06:30:30 -04:00
ipmi meson: convert hw/ipmi 2020-08-21 06:30:29 -04:00
isa hw/isa/isa-superio: Fix IDE controller realization 2020-09-01 09:02:37 +02:00
lm32 hw/sd/milkymist: Do not create SD card within the SD host controller 2020-08-21 16:22:43 +02:00
m68k hw/m68k: QOMify the mcf5206 system integration module 2020-09-03 12:47:33 +02:00
mem meson: convert hw/mem 2020-08-21 06:30:26 -04:00
microblaze target/microblaze: Move pvr regs to MicroBlazeCPUConfig 2020-09-07 12:58:08 -07:00
mips ppc patch queue 2020-09-08 2020-09-08 16:18:48 +01:00
misc Various fixes of Aspeed machines : 2020-09-03 14:12:48 +01:00
moxie meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
net Various fixes of Aspeed machines : 2020-09-03 14:12:48 +01:00
nios2 meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
nubus meson: convert hw/nubus 2020-08-21 06:30:25 -04:00
nvram ppc patch queue 2020-08-18 2020-08-24 09:35:21 +01:00
openrisc meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
pci meson: convert hw/pci 2020-08-21 06:30:28 -04:00
pci-bridge meson: convert hw/pci-bridge 2020-08-21 06:30:28 -04:00
pci-host ppce500: Use TYPE_PPC_E500_PCI_BRIDGE constant 2020-08-27 14:21:48 -04:00
pcmcia pxa2xx: Move QOM macros to header 2020-08-27 14:04:55 -04:00
ppc spapr_numa: use spapr_numa_get_vcpu_assoc() in home_node hcall 2020-09-08 11:34:30 +10:00
rdma rdma: Rename INTERFACE_RDMA_PROVIDER_CLASS macro 2020-09-02 07:29:25 -04:00
riscv riscv: sifive_test: Allow 16-bit writes to memory region 2020-09-09 15:54:18 -07:00
rtc meson: convert hw/rtc 2020-08-21 06:30:27 -04:00
rx rx: Rename QOM type check macros 2020-09-02 07:29:25 -04:00
s390x virtio: add Virtio*BusClass sizes 2020-09-02 07:29:26 -04:00
scsi spapr_vscsi: do not allow device hotplug 2020-09-08 10:08:42 +10:00
sd aspeed/sdhci: Fix reset sequence 2020-09-01 14:21:50 +02:00
semihosting meson: convert hw/semihosting 2020-08-21 06:30:25 -04:00
sh4 meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
smbios hw/smbios: add options for type 4 max-speed and current-speed 2020-08-27 08:29:13 -04:00
sparc sparc/sun4m: Use start-powered-off CPUState property 2020-09-08 10:08:43 +10:00
sparc64 ppc patch queue 2020-08-18 2020-08-24 09:35:21 +01:00
ssi aspeed/smc: Open AHB window of the second chip of the AST2600 FMC controller 2020-09-01 14:21:51 +02:00
timer meson: convert hw/timer 2020-08-21 06:30:27 -04:00
tpm meson: convert hw/tpm 2020-08-21 06:30:27 -04:00
tricore meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
unicore32 meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
usb Pull request trivial patches 20200901 2020-09-01 15:19:33 +01:00
vfio vfio/platform: Remove dead assignment in vfio_intp_interrupt() 2020-09-01 12:02:48 +02:00
virtio virtio: add Virtio*BusClass sizes 2020-09-02 07:29:26 -04:00
watchdog meson: convert hw/watchdog 2020-08-21 06:30:26 -04:00
xen meson: convert hw/xen 2020-08-21 06:30:24 -04:00
xenpv meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
xtensa target/xtensa: implement NMI support 2020-08-21 12:48:14 -07:00
Kconfig hw/avr: Add limited support for some Arduino boards 2020-07-11 11:02:05 +02:00
meson.build meson: convert hw/arch* 2020-08-21 06:30:33 -04:00