aboutsummaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorJia He <hejianet@gmail.com>2018-06-26 17:50:42 +0100
committerPeter Maydell <peter.maydell@linaro.org>2018-06-26 17:50:42 +0100
commit9122bea9862edc0e665c796f79d99319b6638929 (patch)
treeaf1d31d9b9b75c7fe77ea63c5b730fb9687aa2de /contrib
parent720424359917887c926a33d248131fbff84c9c28 (diff)
downloadqemu-9122bea9862edc0e665c796f79d99319b6638929.zip
qemu-9122bea9862edc0e665c796f79d99319b6638929.tar.gz
qemu-9122bea9862edc0e665c796f79d99319b6638929.tar.bz2
hw/arm/smmuv3: Fix translate error handling
In case the STE's config is "Bypass" we currently don't set the IOMMUTLBEntry perm flags and the access does not succeed. Also if the config is 0b0xx (Aborted/Reserved), decode_ste and smmuv3_decode_config currently returns -EINVAL and we don't enter the expected code path: we record an event whereas we should not. This patch fixes those bugs and simplifies the error handling. decode_ste and smmuv3_decode_config now return 0 if aborted or bypassed config was found. Only bad config info produces negative error values. In smmuv3_translate we more clearly differentiate errors, bypass/smmu disabled, aborted and success cases. Also trace points are differentiated. Fixes: 9bde7f0674fe ("hw/arm/smmuv3: Implement translate callback") Reported-by: jia.he@hxt-semitech.com Signed-off-by: jia.he@hxt-semitech.com Signed-off-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Message-id: 1529653501-15358-2-git-send-email-eric.auger@redhat.com Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'contrib')
0 files changed, 0 insertions, 0 deletions