On Tue, 17 Dec 2019 at 10:04, Auger Eric <eric.auger@redhat.com> wrote:
>
> Hi,
>
> On 12/16/19 4:15 PM, Simon Veith wrote:
> > While working on the Linux SMMUv3 driver, I noticed a few cases where the QEMU
> > SMMUv3 behavior relating to stream tables was inconsistent with our hardware.
> >
> > Also, when debugging those differences, I found that the errors reported through
> > the QEMU SMMUv3 event queue contained the address fields in an incorrect
> > position.
> >
> > These patches correct the QEMU SMMUv3 behavior to match the specification (and
> > the behavior that I observed in our hardware). Linux guests normally will not
> > notice these issues, but other SMMUv3 driver implementations might.
> >
> > Changes in v2:
> >
> > * New patch "hw/arm/smmuv3: Correct SMMU_BASE_ADDR_MASK value" added
> > * Updated patch "hw/arm/smmuv3: Check stream IDs against actual table LOG2SIZE"
> > * Updated patch "hw/arm/smmuv3: Align stream table base address to table size"
> >
> > Changes in v3:
> >
> > * No changes, but sending again to correct a patch submission mishap that
> > confused Patchew
> >
> > Simon Veith (6):
> > hw/arm/smmuv3: Apply address mask to linear strtab base address
> > hw/arm/smmuv3: Correct SMMU_BASE_ADDR_MASK value
> > hw/arm/smmuv3: Check stream IDs against actual table LOG2SIZE
> > hw/arm/smmuv3: Align stream table base address to table size
> > hw/arm/smmuv3: Use correct bit positions in EVT_SET_ADDR2 macro
> > hw/arm/smmuv3: Report F_STE_FETCH fault address in correct word
> > position
>
> The series looks good to me. Also tested against non regression.
>
> Tested-by: Eric Auger <eric.auger@redhat.com>
Applied to target-arm.next, thanks.
-- PMM