[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PULL 22/49] hw/pci-host/raven.c: Mark raven_io_ops as implementing
From: |
Peter Maydell |
Subject: |
Re: [PULL 22/49] hw/pci-host/raven.c: Mark raven_io_ops as implementing unaligned accesses |
Date: |
Mon, 19 Feb 2024 14:55:13 +0000 |
On Mon, 19 Feb 2024 at 14:53, Cédric Le Goater <clg@kaod.org> wrote:
>
> On 2/19/24 15:49, BALATON Zoltan wrote:
> > On Mon, 19 Feb 2024, Nicholas Piggin wrote:
> >> From: Peter Maydell <peter.maydell@linaro.org>
> >>
> >> 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: 9a1839164c9c8f06 ("raven: Implement non-contiguous I/O region")
> >> Reviewed-by: Cédric Le Goater <clg@redhat.com>
> >> Tested-by: Cédric Le Goater <clg@redhat.com>
> >> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> >> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
> >
> > Hm, this seems to be missing the actual patch.
>
> It's merged already and git knows how to handle this.
Mmm, though this is the result of "rebased onto a tree that
already had the commit" rather than "two merges both contain
the commit", so we end up with a genuinely empty commit upstream,
which is a bit odd looking, though harmless.
-- PMM
- [PULL 14/49] hw/ppc/spapr_hcall: Allow elision of softmmu_resize_hpt_prep, (continued)
- [PULL 14/49] hw/ppc/spapr_hcall: Allow elision of softmmu_resize_hpt_prep, Nicholas Piggin, 2024/02/19
- [PULL 15/49] hw/ppc/spapr_hcall: Rename {softmmu -> vhyp_mmu}_resize_hpt_pr, Nicholas Piggin, 2024/02/19
- [PULL 16/49] hw/ppc/spapr: Rename 'softmmu' -> 'vhyp_mmu', Nicholas Piggin, 2024/02/19
- [PULL 18/49] ppc/spapr: Initialize max_cpus limit to SPAPR_IRQ_NR_IPIS., Nicholas Piggin, 2024/02/19
- [PULL 17/49] ppc/spapr: Introduce SPAPR_IRQ_NR_IPIS to refer IRQ range for CPU IPIs., Nicholas Piggin, 2024/02/19
- [PULL 19/49] ppc/spapr: change pseries machine default to POWER10 CPU, Nicholas Piggin, 2024/02/19
- [PULL 20/49] spapr: Tag pseries-2.1 - 2.11 machines as deprecated, Nicholas Piggin, 2024/02/19
- [PULL 22/49] hw/pci-host/raven.c: Mark raven_io_ops as implementing unaligned accesses, Nicholas Piggin, 2024/02/19
[PULL 23/49] misc/pca9552: Fix inverted input status, Nicholas Piggin, 2024/02/19
[PULL 24/49] misc/pca9552: Let external devices set pca9552 inputs, Nicholas Piggin, 2024/02/19
[PULL 21/49] ppc/pnv: Change powernv default to powernv10, Nicholas Piggin, 2024/02/19
[PULL 25/49] ppc/pnv: New powernv10-rainier machine type, Nicholas Piggin, 2024/02/19
[PULL 26/49] ppc/pnv: Add pca9552 to powernv10-rainier for PCIe hotplug power control, Nicholas Piggin, 2024/02/19
[PULL 27/49] ppc/pnv: Wire up pca9552 GPIO pins for PCIe hotplug power control, Nicholas Piggin, 2024/02/19
[PULL 28/49] ppc/pnv: Use resettable interface to reset child I2C buses, Nicholas Piggin, 2024/02/19
[PULL 30/49] ppc/pnv: Add a pca9554 I2C device to powernv10-rainier, Nicholas Piggin, 2024/02/19
[PULL 31/49] ppc/pnv: Test pnv i2c master and connected devices, Nicholas Piggin, 2024/02/19