From: Mostafa Saleh <smostafa@google.com>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-arm@nongnu.org, qemu-devel@nongnu.org,
Eric Auger <eric.auger@redhat.com>
Subject: Re: [PATCH 0/3] hw/arm/smmuv3: Advertise SMMUv3.1-XNX
Date: Fri, 22 Sep 2023 10:41:54 +0000 [thread overview]
Message-ID: <ZQ1vctP8rVPLY966@google.com> (raw)
In-Reply-To: <20230914145705.1648377-1-peter.maydell@linaro.org>
Hi Peter,
On Thu, Sep 14, 2023 at 03:57:02PM +0100, Peter Maydell wrote:
> The SMMUv3.1-XNX feature is mandatory for an SMMUv3.1 if S2P is
> supported, so we should theoretically have implemented it as part of
> the recent S2P work. Fortunately, for us the implementation is a
> no-op.
Oh, I missed that, thanks for spotting it.
> This feature is about interpretation of the stage 2 page table
> descriptor XN bits, which control execute permissions.
>
> For QEMU, the permission bits passed to an IOMMU (via MemTxAttrs and
> IOMMUAccessFlags) only indicate read and write; we do not distinguish
> data reads from instruction reads outside the CPU proper. In the
> SMMU architecture's terms, our interconnect between the client device
> and the SMMU doesn't have the ability to convey the INST attribute,
> and we therefore use the default value of "data" for this attribute.
>
> We also do not support the bits in the Stream Table Entry that can
> override the on-the-bus transaction attribute permissions (we do not
> set SMMU_IDR1.ATTR_PERMS_OVR=1).
>
> These two things together mean that for our implementation, it never
> has to deal with transactions with the INST attribute, and so it can
> correctly ignore the XN bits entirely. So we already implement
> FEAT_XNX's "XN field is now 2 bits, not 1" behaviour to the extent
> that we need to.
>
> Patches 1 and 2 in this series do a little bit of tidy up
> on the ID register bit code. Patch 3 is the one-liner to
> advertise SMMUv3.1-XNX in the ID register.
>
> thanks
> -- PMM
>
> Peter Maydell (3):
> hw/arm/smmuv3: Update ID register bit field definitions
> hw/arm/smmuv3: Sort ID register setting into field order
> hw/arm/smmuv3: Advertise SMMUv3.1-XNX feature
>
> hw/arm/smmuv3-internal.h | 38 ++++++++++++++++++++++++++++++++++++++
> hw/arm/smmuv3.c | 5 +++--
> 2 files changed, 41 insertions(+), 2 deletions(-)
>
> --
> 2.34.1
I left a comment/question on the last patch, otherwise
Reviewed-by: Mostafa Saleh <smostafa@google.com>
Thanks,
Mostafa
prev parent reply other threads:[~2023-09-22 10:42 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-14 14:57 [PATCH 0/3] hw/arm/smmuv3: Advertise SMMUv3.1-XNX Peter Maydell
2023-09-14 14:57 ` [PATCH 1/3] hw/arm/smmuv3: Update ID register bit field definitions Peter Maydell
2023-09-26 15:22 ` Eric Auger
2023-09-14 14:57 ` [PATCH 2/3] hw/arm/smmuv3: Sort ID register setting into field order Peter Maydell
2023-09-26 15:29 ` Eric Auger
2023-09-14 14:57 ` [PATCH 3/3] hw/arm/smmuv3: Advertise SMMUv3.1-XNX feature Peter Maydell
2023-09-22 10:34 ` Mostafa Saleh
2023-09-22 10:54 ` Peter Maydell
2023-09-22 13:39 ` Mostafa Saleh
2023-09-26 15:39 ` Eric Auger
2023-09-14 15:53 ` [PATCH 0/3] hw/arm/smmuv3: Advertise SMMUv3.1-XNX Richard Henderson
2023-09-22 10:41 ` Mostafa Saleh [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZQ1vctP8rVPLY966@google.com \
--to=smostafa@google.com \
--cc=eric.auger@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.