From: Lu Baolu <baolu.lu@linux.intel.com> To: "Prakhya, Sai Praneeth" <sai.praneeth.prakhya@intel.com>, Joerg Roedel <joro@8bytes.org>, David Woodhouse <dwmw2@infradead.org> Cc: baolu.lu@linux.intel.com, "Raj, Ashok" <ashok.raj@intel.com>, "Pan, Jacob jun" <jacob.jun.pan@intel.com>, "Tian, Kevin" <kevin.tian@intel.com>, "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Jacob Pan <jacob.jun.pan@linux.intel.com> Subject: Re: [PATCH 1/1] iommu/vt-d: Correctly check format of page table in debugfs Date: Thu, 25 Jul 2019 09:40:10 +0800 [thread overview] Message-ID: <8d09da43-d0dd-9dff-0cb3-aa93448a7e60@linux.intel.com> (raw) In-Reply-To: <FFF73D592F13FD46B8700F0A279B802F4F9354AF@ORSMSX114.amr.corp.intel.com> Hi Sai, On 7/22/19 1:21 PM, Prakhya, Sai Praneeth wrote: > Hi Allen, > >> diff --git a/drivers/iommu/intel-iommu-debugfs.c b/drivers/iommu/intel- >> iommu-debugfs.c >> index 73a552914455..e31c3b416351 100644 >> --- a/drivers/iommu/intel-iommu-debugfs.c >> +++ b/drivers/iommu/intel-iommu-debugfs.c >> @@ -235,7 +235,7 @@ static void ctx_tbl_walk(struct seq_file *m, struct >> intel_iommu *iommu, u16 bus) >> tbl_wlk.ctx_entry = context; >> m->private = &tbl_wlk; >> >> - if (pasid_supported(iommu) && is_pasid_enabled(context)) { >> + if (dmar_readq(iommu->reg + DMAR_RTADDR_REG) & >> DMA_RTADDR_SMT) { > > Thanks for adding this, I do believe this is a good addition but I also think that we might > need "is_pasid_enabled()" as well. It checks if PASIDE bit in context entry is enabled or not. > > I am thinking that even though DMAR might be using scalable root and context table, the entry > itself should have PASIDE bit set. Did I miss something here? No matter the PASIDE bit set or not, IOMMU always uses the scalable mode page table if scalable mode is enabled. If PASIDE is set, requests with PASID will be handled. Otherwise, requests with PASID will be blocked (but request without PASID will always be handled). We are dumpling the page table of the IOMMU, so we only care about what page table format it is using. Do I understand it right> Best regards, Baolu > > And I also think a macro would be better so that it could reused elsewhere (if need be). > > Regards, > Sai >
WARNING: multiple messages have this Message-ID (diff)
From: Lu Baolu <baolu.lu@linux.intel.com> To: "Prakhya, Sai Praneeth" <sai.praneeth.prakhya@intel.com>, Joerg Roedel <joro@8bytes.org>, David Woodhouse <dwmw2@infradead.org> Cc: "Tian, Kevin" <kevin.tian@intel.com>, "Raj, Ashok" <ashok.raj@intel.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "iommu@lists.linux-foundation.org" <iommu@lists.linux-foundation.org>, "Pan, Jacob jun" <jacob.jun.pan@intel.com> Subject: Re: [PATCH 1/1] iommu/vt-d: Correctly check format of page table in debugfs Date: Thu, 25 Jul 2019 09:40:10 +0800 [thread overview] Message-ID: <8d09da43-d0dd-9dff-0cb3-aa93448a7e60@linux.intel.com> (raw) In-Reply-To: <FFF73D592F13FD46B8700F0A279B802F4F9354AF@ORSMSX114.amr.corp.intel.com> Hi Sai, On 7/22/19 1:21 PM, Prakhya, Sai Praneeth wrote: > Hi Allen, > >> diff --git a/drivers/iommu/intel-iommu-debugfs.c b/drivers/iommu/intel- >> iommu-debugfs.c >> index 73a552914455..e31c3b416351 100644 >> --- a/drivers/iommu/intel-iommu-debugfs.c >> +++ b/drivers/iommu/intel-iommu-debugfs.c >> @@ -235,7 +235,7 @@ static void ctx_tbl_walk(struct seq_file *m, struct >> intel_iommu *iommu, u16 bus) >> tbl_wlk.ctx_entry = context; >> m->private = &tbl_wlk; >> >> - if (pasid_supported(iommu) && is_pasid_enabled(context)) { >> + if (dmar_readq(iommu->reg + DMAR_RTADDR_REG) & >> DMA_RTADDR_SMT) { > > Thanks for adding this, I do believe this is a good addition but I also think that we might > need "is_pasid_enabled()" as well. It checks if PASIDE bit in context entry is enabled or not. > > I am thinking that even though DMAR might be using scalable root and context table, the entry > itself should have PASIDE bit set. Did I miss something here? No matter the PASIDE bit set or not, IOMMU always uses the scalable mode page table if scalable mode is enabled. If PASIDE is set, requests with PASID will be handled. Otherwise, requests with PASID will be blocked (but request without PASID will always be handled). We are dumpling the page table of the IOMMU, so we only care about what page table format it is using. Do I understand it right> Best regards, Baolu > > And I also think a macro would be better so that it could reused elsewhere (if need be). > > Regards, > Sai > _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
next prev parent reply other threads:[~2019-07-25 1:40 UTC|newest] Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-07-20 2:01 [PATCH 1/1] iommu/vt-d: Correctly check format of page table in debugfs Lu Baolu 2019-07-20 2:01 ` Lu Baolu 2019-07-22 5:21 ` Prakhya, Sai Praneeth 2019-07-22 5:21 ` Prakhya, Sai Praneeth 2019-07-25 1:40 ` Lu Baolu [this message] 2019-07-25 1:40 ` Lu Baolu 2019-07-26 17:17 ` Prakhya, Sai Praneeth 2019-07-26 17:17 ` Prakhya, Sai Praneeth 2019-08-09 5:36 ` Lu Baolu 2019-08-09 5:36 ` Lu Baolu 2019-08-09 15:29 ` Joerg Roedel 2019-08-09 15:29 ` Joerg Roedel
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=8d09da43-d0dd-9dff-0cb3-aa93448a7e60@linux.intel.com \ --to=baolu.lu@linux.intel.com \ --cc=ashok.raj@intel.com \ --cc=dwmw2@infradead.org \ --cc=iommu@lists.linux-foundation.org \ --cc=jacob.jun.pan@intel.com \ --cc=jacob.jun.pan@linux.intel.com \ --cc=joro@8bytes.org \ --cc=kevin.tian@intel.com \ --cc=linux-kernel@vger.kernel.org \ --cc=sai.praneeth.prakhya@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: linkBe 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.