Re: [PATCH v3 0/6] hw/arm/smmuv3: Correct stream ID and event address handling
On Tue, 17 Dec 2019 at 10:04, Auger Eric 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 Applied to target-arm.next, thanks. -- PMM
Re: [PATCH v3 0/6] hw/arm/smmuv3: Correct stream ID and event address handling
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 Thanks Eric > > hw/arm/smmuv3-internal.h | 6 +++--- > hw/arm/smmuv3.c | 28 +--- > 2 files changed, 24 insertions(+), 10 deletions(-) >
[PATCH v3 0/6] hw/arm/smmuv3: Correct stream ID and event address handling
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 hw/arm/smmuv3-internal.h | 6 +++--- hw/arm/smmuv3.c | 28 +--- 2 files changed, 24 insertions(+), 10 deletions(-) -- 2.7.4