All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Xu <peterx@redhat.com>
To: Alexander Gordeev <agordeev@redhat.com>
Cc: kvm@vger.kernel.org, drjones@redhat.com, jan.kiszka@web.de,
	rkrcmar@redhat.com, pbonzini@redhat.com
Subject: Re: [PATCH v7 04/14] x86: intel-iommu: add vt-d init test
Date: Mon, 5 Dec 2016 10:31:35 +0800	[thread overview]
Message-ID: <20161205023135.GI21601@pxdev.xzpeter.org> (raw)
In-Reply-To: <20161202075017.GF323@agordeev.lab.eng.brq.redhat.com>

On Fri, Dec 02, 2016 at 08:50:17AM +0100, Alexander Gordeev wrote:

[...]

> > > > +	vtd_dump_init_info();
> > > 
> > > Should we check an iommu is there indeed? My environment
> > > returns all zeroes (which is wrong I guess) and attempts
> > > to proceed.
> > 
> > How about an assertion on the version? We just let it quit with error
> > if with a wrong version (in this case, version is all zeros).
> 
> Yep. I guess (!max && max >= min) should fit?

>From vt-d spec 10.4.1, "MAX" is "Major Version number", and "MIN" is
"Minor Version number". So looks like it is possible we have max=1 and
min>1 - minor version increases, while major version keeps. To make it
simpler, I'll use (max >= 1) directly.

> 
> > [...]
> > 
> > > > +static inline uint64_t vtd_readq(unsigned int reg)
> > > > +{
> > > > +	return __raw_readq(vtd_reg(reg));
> > > > +}
> > > 
> > > The accessors above should use ioremap'ped pointer, not direct
> > > access to Q35_HOST_BRIDGE_IOMMU_ADDR.
> > 
> > Hmm... This issue applies to EDU device register accesses as well.
> > Will fix.
> > 
> > Here I think I can use phys_to_virt() directly since x86_64 has
> > already mapped the first 4G memory as 1:1. However for EDU register
> > access I'd better use ioremap() since it might be used outside x86_64
> > in the future.
> 
> Actually, I think for x86_64 you need to ioremap as well. Because (a)
> accessing MMIO with no prior call to ioremap() is rather confusing
> and (b) we never know what machine this code might run in, let's say
> 10 years ;)

Ok. Let me fix. Thanks!

-- peterx

  reply	other threads:[~2016-12-05  2:31 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-29  4:25 [PATCH v7 00/14] VT-d unit test Peter Xu
2016-11-29  4:25 ` [PATCH v7 01/14] pci: fix missing extern for pci_testdev() Peter Xu
2016-11-29  4:25 ` [PATCH v7 02/14] x86/asm: add cpu_relax() Peter Xu
2016-11-29  4:25 ` [PATCH v7 03/14] libcflat: introduce is_power_of_2() Peter Xu
2016-11-29  4:25 ` [PATCH v7 04/14] x86: intel-iommu: add vt-d init test Peter Xu
2016-12-01 13:14   ` Alexander Gordeev
2016-12-01 19:37     ` Alexander Gordeev
2016-12-02  3:12     ` Peter Xu
2016-12-02  7:50       ` Alexander Gordeev
2016-12-05  2:31         ` Peter Xu [this message]
2016-11-29  4:25 ` [PATCH v7 05/14] libcflat: add IS_ALIGNED() macro, and page sizes Peter Xu
2016-11-29  4:25 ` [PATCH v7 06/14] libcflat: moving MIN/MAX here Peter Xu
2016-11-29  4:25 ` [PATCH v7 07/14] vm/page: provide PGDIR_OFFSET() macro Peter Xu
2016-11-29  4:25 ` [PATCH v7 08/14] pci: introduce struct pci_dev Peter Xu
2016-11-29  4:25 ` [PATCH v7 09/14] pci: provide pci_scan_bars() Peter Xu
2016-11-29  4:25 ` [PATCH v7 10/14] pci: provide pci_enable_defaults() Peter Xu
2016-11-29  4:25 ` [PATCH v7 11/14] pci: edu: introduce pci-edu helpers Peter Xu
2016-11-29  4:25 ` [PATCH v7 12/14] x86: intel-iommu: add dmar test Peter Xu
2016-12-05  9:32   ` Alexander Gordeev
2016-12-07  5:09     ` Peter Xu
2016-11-29  4:25 ` [PATCH v7 13/14] pci: add msi support for 32/64bit address Peter Xu
2016-11-29  4:25 ` [PATCH v7 14/14] x86: intel-iommu: add IR MSI test Peter Xu

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=20161205023135.GI21601@pxdev.xzpeter.org \
    --to=peterx@redhat.com \
    --cc=agordeev@redhat.com \
    --cc=drjones@redhat.com \
    --cc=jan.kiszka@web.de \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=rkrcmar@redhat.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 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.