qemu/hw/pci-host
Peter Maydell f94d58f260 hw/pci-host/raven.c: Mark raven_io_ops as implementing unaligned accesses
The raven_io_ops MemoryRegionOps is the only one in the source tree
which sets .valid.unaligned to indicate that it should support
unaligned accesses and which does not also set .impl.unaligned to
indicate that its read and write functions can do the unaligned
handling themselves.  This is a problem, because at the moment the
core memory system does not implement the support for handling
unaligned accesses by doing a series of aligned accesses and
combining them (system/memory.c:access_with_adjusted_size() has a
TODO comment noting this).

Fortunately raven_io_read() and raven_io_write() will correctly deal
with the case of being passed an unaligned address, so we can fix the
missing unaligned access support by setting .impl.unaligned in the
MemoryRegionOps struct.

Fixes: 9a1839164c ("raven: Implement non-contiguous I/O region")
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Tested-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Message-id: 20240112134640.1775041-1-peter.maydell@linaro.org
2024-02-15 11:30:45 +00:00
..
articia.c hw/pci-host: Add emulation of Mai Logic Articia S 2023-11-07 12:59:29 -03:00
astro.c hw/pci-host/astro: Implement Hard Fail and Soft Fail mode 2024-02-11 13:20:23 +01:00
bonito.c hw/pci-host: Constify VMState 2023-12-30 07:38:06 +11:00
designware.c pci-host: designware: Limit value range of iATU viewport register 2024-02-02 13:51:58 +00:00
dino.c hw/pci-host: Constify VMState 2023-12-30 07:38:06 +11:00
gpex-acpi.c hw/pci-host/gpex: Define properties for MMIO ranges 2024-01-10 18:47:47 +10:00
gpex.c hw/pci-host/gpex: Define properties for MMIO ranges 2024-01-10 18:47:47 +10:00
grackle.c hw/pci-host: Use register definitions from PCI standard 2023-01-27 11:47:02 -05:00
gt64120.c hw/pci-host: Constify VMState 2023-12-30 07:38:06 +11:00
i440fx.c hw/pci-host: Constify VMState 2023-12-30 07:38:06 +11:00
Kconfig hw/pci-host: Add emulation of Mai Logic Articia S 2023-11-07 12:59:29 -03:00
meson.build hw/pci-host/astro: Fix boot for C3700 machine 2023-11-13 09:21:32 -08:00
mv643xx.h mv64361: Add dummy gigabit ethernet PHY access registers 2023-07-07 04:18:26 -03:00
mv64361.c mv64361: Add dummy gigabit ethernet PHY access registers 2023-07-07 04:18:26 -03:00
pam.c hw/pci-host/pam: Make init_pam() usage more readable 2023-05-19 10:30:46 -04:00
pnv_phb3_msi.c hw/pci: spelling fixes 2023-09-20 07:54:34 +03:00
pnv_phb3_pbcq.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
pnv_phb3.c hw/pci: modify pci_setup_iommu() to set PCIIOMMUOps 2023-11-03 09:20:31 +01:00
pnv_phb4_pec.c hw/pci-host: Update PHB5 XSCOM registers 2023-11-07 15:49:41 -03:00
pnv_phb4.c hw/pci-host: Update PHB5 XSCOM registers 2023-11-07 15:49:41 -03:00
pnv_phb.c hw/pci: spelling fixes 2023-09-20 07:54:34 +03:00
pnv_phb.h include/hw/ppc include/hw/pci-host: Drop extra typedefs 2023-01-20 07:25:22 +01:00
ppce500.c hw/pci-host: Constify VMState 2023-12-30 07:38:06 +11:00
q35.c hw/pci-host: Constify VMState 2023-12-30 07:38:06 +11:00
raven.c hw/pci-host/raven.c: Mark raven_io_ops as implementing unaligned accesses 2024-02-15 11:30:45 +00:00
remote.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
sabre.c hw/pci: modify pci_setup_iommu() to set PCIIOMMUOps 2023-11-03 09:20:31 +01:00
sh_pci.c hw/pci-host/sh_pcic: Replace magic value by proper definition 2023-10-19 23:13:28 +02:00
trace-events hw/pci-host: Add Astro system bus adapter found on PA-RISC machines 2023-10-20 00:47:38 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
uninorth.c hw/pci-host: Use register definitions from PCI standard 2023-01-27 11:47:02 -05:00
versatile.c hw/pci-host: Constify VMState 2023-12-30 07:38:06 +11:00
xen_igd_pt.c xen: Use ERRP_GUARD() 2020-07-10 15:18:09 +02:00
xilinx-pcie.c pci: drop redundant PCIDeviceClass::is_bridge field 2022-12-21 07:32:24 -05:00