qemu-e2k/hw/char
Philippe Mathieu-Daudé 3059344f01 hw/char/bcm2835_aux: Allow less than 32-bit accesses
The "BCM2835 ARM Peripherals" datasheet [*] chapter 2
("Auxiliaries: UART1 & SPI1, SPI2"), list the register
sizes as 3/8/16/32 bits. We assume this means this
peripheral allows 8-bit accesses.

This was not an issue until commit 5d971f9e67 which reverted
("memory: accept mismatching sizes in memory_region_access_valid").

The model is implemented as 32-bit accesses (see commit 97398d900c,
all registers are 32-bit) so replace MemoryRegionOps.valid as
MemoryRegionOps.impl, and re-introduce MemoryRegionOps.valid
with a 8/32-bit range.

[*] https://www.raspberrypi.org/app/uploads/2012/02/BCM2835-ARM-Peripherals.pdf

Fixes: 97398d900c ("bcm2835_aux: add emulation of BCM2835 AUX (aka UART1) block")
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20201002181032.1899463-1-f4bug@amsat.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-10-08 15:24:32 +01:00
..
avr_usart.c
bcm2835_aux.c hw/char/bcm2835_aux: Allow less than 32-bit accesses 2020-10-08 15:24:32 +01:00
cadence_uart.c
cmsdk-apb-uart.c
debugcon.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
digic-uart.c
escc.c
etraxfs_ser.c
exynos4210_uart.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
grlib_apbuart.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
ibex_uart.c
imx_serial.c
ipoctal232.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
Kconfig
lm32_juart.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
lm32_uart.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
mcf_uart.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
mchp_pfsoc_mmuart.c
meson.build
milkymist-uart.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
nrf51_uart.c
omap_uart.c
parallel-isa.c
parallel.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
pl011.c
renesas_sci.c
riscv_htif.c
sclpconsole-lm.c
sclpconsole.c
serial-isa.c hw/char/serial-{isa, pci}: Alias QDEV properties from generic serial object 2020-09-30 19:09:20 +02:00
serial-pci-multi.c
serial-pci.c hw/char/serial-{isa, pci}: Alias QDEV properties from generic serial object 2020-09-30 19:09:20 +02:00
serial.c hw/char/serial: Make 'wakeup' property boolean 2020-09-30 19:09:20 +02:00
sh_serial.c
sifive_uart.c
spapr_vty.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
stm32f2xx_usart.c
terminal3270.c
trace-events hw/char/serial: Rename I/O read/write trace events 2020-09-30 19:09:20 +02:00
trace.h
virtio-console.c
virtio-serial-bus.c
xen_console.c
xilinx_uartlite.c Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00