From patchwork Fri Apr 22 10:04:32 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 564833 Delivered-To: patch@linaro.org Received: by 2002:a05:7000:6886:0:0:0:0 with SMTP id m6csp389877map; Fri, 22 Apr 2022 04:44:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx1bdzmW292N+VW4tb8AvovfyTyrY3yk+lKVzlbAsPElodnnbyZsLKxgrXgwi1276O21eZe X-Received: by 2002:ac8:4e1b:0:b0:2f1:eabf:e3de with SMTP id c27-20020ac84e1b000000b002f1eabfe3demr2733453qtw.415.1650627866492; Fri, 22 Apr 2022 04:44:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1650627866; cv=none; d=google.com; s=arc-20160816; b=zscxyRQlhbkcCVszSOBYBs3+AL3OMXROz30g5sbpwTAQhFcr3StofHwu18QQSOcR7a L8MsUoMhkzOfG5IgVja2LG19qWhplGEcT0uI2GSlNzgq/g/gig+ONi6Ksjui/NBd0ABc 8eRj32GCQXTgiTIquMwaSfXw4JXqmqSEtzKDzOYDMI1FaHlYGdg3r8AITV+K8/RYOW3s 2zh/AJzsYMGCvEkF0zUmd3oZDOKhdAMhq4LJbdFxU6hGjRmO+kIjyl6YqrurQNSFIGtv 2kdtwlGgDyX29bOWASLbrBtU65UNNLxwKEj9s54f87TftlrgADxQdSMA+3AhLBfGxfei 62jA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=F5JxzY641qwLK/UV9n1xJjYcWBo1utd1eisOSylOdzc=; b=l10l1e9pYIUzP1Vw3gDZUhhN8wHy1HLg2J2nTv5XbRIsrTYVpj+mHD9AriHSZaLj/U XuurqGA8k0HAql0/m7mG7K0cz6pRgKTbR96CcwFS1IEKalBe/cEVkEqw7LeqMMVKPSPX LyiIeqfdpuXXZHhaQMmr0dIA187ONJPxxnIFUR8+bnW6HvylfbP604jCfHkJbKIvcK6+ rsjyyD0RGtpPAtBCWidEtr5pGkQ3h3ptaGA40kdhZejCE47oJKJmJ966qZN3SkWU5KSa rzQnFRmHLyHV8ts+oXoTtYQ30mj7Ta4gzPJCovXEzK7MabDzUHRXv9I2qUcA7UJo2hzu L1+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=IbkzBmU8; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id o13-20020ac85a4d000000b002e1fbf3bfdesi2216989qta.463.2022.04.22.04.44.26 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Apr 2022 04:44:26 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=IbkzBmU8; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:59130 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nhri6-0003gj-3i for patch@linaro.org; Fri, 22 Apr 2022 07:44:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59374) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nhqAS-0005dj-KS for qemu-devel@nongnu.org; Fri, 22 Apr 2022 06:05:36 -0400 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:36806) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nhqAQ-0002zh-SM for qemu-devel@nongnu.org; Fri, 22 Apr 2022 06:05:36 -0400 Received: by mail-wm1-x329.google.com with SMTP id u17-20020a05600c211100b0038eaf4cdaaeso7632256wml.1 for ; Fri, 22 Apr 2022 03:05:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=F5JxzY641qwLK/UV9n1xJjYcWBo1utd1eisOSylOdzc=; b=IbkzBmU8ns9+Kr9vM+cGnoJpbNjXCiI5a2t+w1oC+u2vfERwiiTFn5+2S16VH1to+g XY3J9I5N2+uuV4/XvaTQz72qskARdO7yws+DCY8zBgPW5ZdPqleagDxKZz0z1p2cL0cc qkSB2T6epdcZUwjdII4JBjeuph0SxIEP4Hp3155dERIydsaXVX3THoCnmauJrnAwDwuS sGnR1HCg8PuaLrf9uLtmL0bQMg7+/A9RRFBjkRV/3Xr/M3qQqPCI8SNHQQ5zvBb1RXyD zeaqgGFU9eulz5Lj8TSEXgDb5vlqMr+eGxlRgP0oGO2MSwWl2yWlGJFha2xg+QgZ0cHx fzdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=F5JxzY641qwLK/UV9n1xJjYcWBo1utd1eisOSylOdzc=; b=ewKAvhNI+3GwDSVQ+EjVo/+6be+4a5LduGJXv2iRHUaLQaKRbB/LmOd3E2zg4pBbfq a7t1bSN2ItTPxV3/kKIkae8tcvb4OU9HI0D9Kk55CW1T7IN/svhuhrfnhTT6c4grjEp0 5W8wA2/RMW3SbJ20PIjbSrTCl2mpUbphQpM6hwZ0fNM5BR6GQ8yzdn2EzF0Ffo6tPi4T eJ4pxgVg9VAWogiK+yTRjYR3mV6Los4HafutB2CiYzl3JJsSugUUZD6rmcxUtYGAzEmd 4GHvoWcqN8GQa14tFNfa4oqkr/B36Rr6TWYVRWK3vEt3nddzJz4z6kNtpwFmF8vYnnJ4 q1DQ== X-Gm-Message-State: AOAM533iCPqAzxuY+BaRtdUAKenr5f6YSCDicfSA1HbDjBWktDYYEyJA OX/42/NsF/ksqR/mhsjNYMQHagWETXVbDw== X-Received: by 2002:a05:600c:240a:b0:38e:af6f:510f with SMTP id 10-20020a05600c240a00b0038eaf6f510fmr12558318wmp.46.1650621933367; Fri, 22 Apr 2022 03:05:33 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by smtp.gmail.com with ESMTPSA id e16-20020a05600c2dd000b0038ed449cbdbsm4312148wmh.3.2022.04.22.03.05.32 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Apr 2022 03:05:32 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 61/61] hw/arm/smmuv3: Pass the actual perm to returned IOMMUTLBEntry in smmuv3_translate() Date: Fri, 22 Apr 2022 11:04:32 +0100 Message-Id: <20220422100432.2288247-62-peter.maydell@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220422100432.2288247-1-peter.maydell@linaro.org> References: <20220422100432.2288247-1-peter.maydell@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::329; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x329.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Xiang Chen It always calls the IOMMU MR translate() callback with flag=IOMMU_NONE in memory_region_iommu_replay(). Currently, smmuv3_translate() return an IOMMUTLBEntry with perm set to IOMMU_NONE even if the translation success, whereas it is expected to return the actual permission set in the table entry. So pass the actual perm to returned IOMMUTLBEntry in the table entry. Signed-off-by: Xiang Chen Reviewed-by: Eric Auger Message-id: 1650094695-121918-1-git-send-email-chenxiang66@hisilicon.com Signed-off-by: Peter Maydell --- hw/arm/smmuv3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c index 674623aabea..707eb430c23 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -760,7 +760,7 @@ epilogue: qemu_mutex_unlock(&s->mutex); switch (status) { case SMMU_TRANS_SUCCESS: - entry.perm = flag; + entry.perm = cached_entry->entry.perm; entry.translated_addr = cached_entry->entry.translated_addr + (addr & cached_entry->entry.addr_mask); entry.addr_mask = cached_entry->entry.addr_mask;