From: Jan Kiszka <[email protected]> We do not handle faults, e.g. by resuming them later on. Stalling failed transactions will soon lead to a stalled SMMU, blocking even valid transactions.
This could easily be reproduced by stealing a used StreamID from the root cell. On the Zynqmp, this lead to all transactions of the root cell to be blocked. Signed-off-by: Jan Kiszka <[email protected]> --- hypervisor/arch/arm64/smmu.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/hypervisor/arch/arm64/smmu.c b/hypervisor/arch/arm64/smmu.c index 349cd0fc..d63f91cc 100644 --- a/hypervisor/arch/arm64/smmu.c +++ b/hypervisor/arch/arm64/smmu.c @@ -177,7 +177,6 @@ #define ARM_SMMU_CB_CONTEXTIDR 0x34 #define ARM_SMMU_CB_FSR 0x58 -#define SCTLR_CFCFG (1 << 7) #define SCTLR_CFIE (1 << 6) #define SCTLR_CFRE (1 << 5) #define SCTLR_AFE (1 << 2) @@ -457,10 +456,8 @@ static void arm_smmu_write_context_bank(struct arm_smmu_device *smmu, int idx) } /* SCTLR */ - reg = SCTLR_CFCFG | SCTLR_CFIE | SCTLR_CFRE | SCTLR_AFE | SCTLR_TRE | - SCTLR_M; - - mmio_write32(cb_base + ARM_SMMU_CB_SCTLR, reg); + mmio_write32(cb_base + ARM_SMMU_CB_SCTLR, + SCTLR_CFIE | SCTLR_CFRE | SCTLR_AFE | SCTLR_TRE | SCTLR_M); } static int arm_smmu_device_reset(struct arm_smmu_device *smmu) -- 2.26.2 -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/aa93d7ee77e711b3b44135a0adfd9d3bdea9d619.1602664150.git.jan.kiszka%40siemens.com.
