From: Yi Liu <yi.l.liu@intel.com>
To: CLEMENT MATHIEU--DRIF <clement.mathieu--drif@eviden.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: "jasowang@redhat.com" <jasowang@redhat.com>,
"zhenzhong.duan@intel.com" <zhenzhong.duan@intel.com>,
"kevin.tian@intel.com" <kevin.tian@intel.com>,
"joao.m.martins@oracle.com" <joao.m.martins@oracle.com>,
"peterx@redhat.com" <peterx@redhat.com>,
"mst@redhat.com" <mst@redhat.com>
Subject: Re: [PATCH v2 3/3] intel_iommu: Bypass barrier wait descriptor
Date: Fri, 5 Jul 2024 11:01:30 +0800 [thread overview]
Message-ID: <dfa4f446-52eb-4313-b74c-7e05ce9f7898@intel.com> (raw)
In-Reply-To: <20240704151220.1018104-4-clement.mathieu--drif@eviden.com>
On 2024/7/4 23:12, CLEMENT MATHIEU--DRIF wrote:
> From: Clément Mathieu--Drif <clement.mathieu--drif@eviden.com>
>
> wait_desc with SW=0,IF=0,FN=1 must not be considered as an
> invalid descriptor as it is used to implement section 7.10 of
> the VT-d spec
After a second thinking. t would be better to move this patch to the
PRI series [1]. Reason as below:
This wait descriptor is used to drain PRQ. While, the guest need not
to drain PRQ until the PRI series which advertises the PRI cap to the
guest. So QEMU won't get such a wait descriptor before that series.
[1]
https://lore.kernel.org/qemu-devel/713ece39-bc1e-4189-a1d9-f81f9cdbd03b@eviden.com/
> Signed-off-by: Clément Mathieu--Drif <clement.mathieu--drif@eviden.com>
> ---
> hw/i386/intel_iommu.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
> index be0cb39b5c..12ea3a9aa0 100644
> --- a/hw/i386/intel_iommu.c
> +++ b/hw/i386/intel_iommu.c
> @@ -2561,6 +2561,12 @@ static bool vtd_process_wait_desc(IntelIOMMUState *s, VTDInvDesc *inv_desc)
> } else if (inv_desc->lo & VTD_INV_DESC_WAIT_IF) {
> /* Interrupt flag */
> vtd_generate_completion_event(s);
> + } else if (inv_desc->lo & VTD_INV_DESC_WAIT_FN) {
> + /*
> + * SW = 0, IF = 0, FN = 1
> + * This kind of descriptor is defined in section 7.10 of VT-d
> + * Nothing to do as we process the events sequentially
> + */
> } else {
> error_report_once("%s: invalid wait desc: hi=%"PRIx64", lo=%"PRIx64
> " (unknown type)", __func__, inv_desc->hi,
--
Regards,
Yi Liu
prev parent reply other threads:[~2024-07-05 2:58 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-04 15:12 [PATCH v2 0/3] VT-d minor fixes CLEMENT MATHIEU--DRIF
2024-07-04 15:12 ` [PATCH v2 1/3] intel_iommu: fix FRCD construction macro CLEMENT MATHIEU--DRIF
2024-07-05 3:08 ` Yi Liu
2024-07-04 15:12 ` [PATCH v2 2/3] intel_iommu: make types match CLEMENT MATHIEU--DRIF
2024-07-04 22:13 ` Michael S. Tsirkin
2024-07-05 2:53 ` Yi Liu
2024-07-04 15:12 ` [PATCH v2 3/3] intel_iommu: Bypass barrier wait descriptor CLEMENT MATHIEU--DRIF
2024-07-05 3:01 ` Yi Liu [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=dfa4f446-52eb-4313-b74c-7e05ce9f7898@intel.com \
--to=yi.l.liu@intel.com \
--cc=clement.mathieu--drif@eviden.com \
--cc=jasowang@redhat.com \
--cc=joao.m.martins@oracle.com \
--cc=kevin.tian@intel.com \
--cc=mst@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=zhenzhong.duan@intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).