From: "Michael S. Tsirkin" <mst@redhat.com>
To: Jason Wang <jasowang@redhat.com>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
Eduardo Habkost <ehabkost@redhat.com>,
Peter Xu <peterx@redhat.com>,
Prasad Singamsetty <prasad.singamsety@oracle.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Marcel Apfelbaum <marcel@redhat.com>,
Igor Mammedov <imammedo@redhat.com>,
Richard Henderson <rth@twiddle.net>,
Prasad Singamsetty <prasad.singamsetty@oracle.com>
Subject: Re: [Qemu-devel] [PULL v4 12/29] intel-iommu: Extend address width to 48 bits
Date: Fri, 19 Jan 2018 05:39:25 +0200 [thread overview]
Message-ID: <20180119053846-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <d0bac25d-6735-f83d-2bc6-44b36dd93dce@redhat.com>
On Fri, Jan 19, 2018 at 11:34:57AM +0800, Jason Wang wrote:
>
>
> On 2018年01月19日 04:45, Michael S. Tsirkin wrote:
> > From: Prasad Singamsetty<prasad.singamsetty@oracle.com>
> >
> > The current implementation of Intel IOMMU code only supports 39 bits
> > iova address width. This patch provides a new parameter (x-aw-bits)
> > for intel-iommu to extend its address width to 48 bits but keeping the
> > default the same (39 bits). The reason for not changing the default
> > is to avoid potential compatibility problems with live migration of
> > intel-iommu enabled QEMU guest. The only valid values for 'x-aw-bits'
> > parameter are 39 and 48.
> >
> > After enabling larger address width (48), we should be able to map
> > larger iova addresses in the guest. For example, a QEMU guest that
> > is configured with large memory ( >=1TB ). To check whether 48 bits
> > aw is enabled, we can grep in the guest dmesg output with line:
> > "DMAR: Host address width 48".
> >
> > Signed-off-by: Prasad Singamsetty<prasad.singamsety@oracle.com>
> > Reviewed-by: Peter Xu<peterx@redhat.com>
> > Reviewed-by: Michael S. Tsirkin<mst@redhat.com>
> > Signed-off-by: Michael S. Tsirkin<mst@redhat.com>
> > ---
> > hw/i386/intel_iommu_internal.h | 9 ++--
> > include/hw/i386/intel_iommu.h | 1 +
> > hw/i386/acpi-build.c | 3 +-
> > hw/i386/intel_iommu.c | 101 ++++++++++++++++++++++++-----------------
> > 4 files changed, 65 insertions(+), 49 deletions(-)
> >
>
> [...]
>
> > /* DMA Remapping Fault Conditions */
> > typedef enum VTDFaultReason {
> > @@ -360,8 +358,7 @@ typedef union VTDInvDesc VTDInvDesc;
> > #define VTD_INV_DESC_IOTLB_DOMAIN (2ULL << 4)
> > #define VTD_INV_DESC_IOTLB_PAGE (3ULL << 4)
> > #define VTD_INV_DESC_IOTLB_DID(val) (((val) >> 16) & VTD_DOMAIN_ID_MASK)
> > -#define VTD_INV_DESC_IOTLB_ADDR(val) ((val) & ~0xfffULL & \
> > - ((1ULL << VTD_MGAW) - 1))
> > +#define VTD_INV_DESC_IOTLB_ADDR(val) ((val) & ~0xfffULL)
> > #define VTD_INV_DESC_IOTLB_AM(val) ((val) & 0x3fULL)
> > #define VTD_INV_DESC_IOTLB_RSVD_LO 0xffffffff0000ff00ULL
> > #define VTD_INV_DESC_IOTLB_RSVD_HI 0xf80ULL
> > diff --git a/include/hw/i386/intel_iommu.h b/include/hw/i386/intel_iommu.h
> > index 372b06d..45ec891 100644
> > --- a/include/hw/i386/intel_iommu.h
> > +++ b/include/hw/i386/intel_iommu.h
> > @@ -304,6 +304,7 @@ struct IntelIOMMUState {
> > bool intr_eime; /* Extended interrupt mode enabled */
> > OnOffAuto intr_eim; /* Toggle for EIM cabability */
> > bool buggy_eim; /* Force buggy EIM unless eim=off */
> > + uint8_t aw_bits; /* Host/IOVA address width (in bits) */
> > };
>
> Consider it's guest visible, do we need to migrate this ?
>
> Thanks
I think it's a read-only constant so I guess no.
--
MST
next prev parent reply other threads:[~2018-01-19 3:39 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-18 20:44 [Qemu-devel] [PULL v4 00/29] pc, pci, virtio: features, fixes, cleanups Michael S. Tsirkin
2018-01-18 20:44 ` [Qemu-devel] [PULL v4 01/29] MAINTAINERS: Add myself as maintainer to X86 machines Michael S. Tsirkin
2018-01-18 20:44 ` [Qemu-devel] [PULL v4 02/29] vhost-user: add new vhost user messages to support virtio config space Michael S. Tsirkin
2018-03-28 10:03 ` Maxime Coquelin
2018-03-28 14:24 ` Michael S. Tsirkin
2018-01-18 20:44 ` [Qemu-devel] [PULL v4 03/29] vhost-user-blk: introduce a new vhost-user-blk host device Michael S. Tsirkin
2018-01-18 20:44 ` [Qemu-devel] [PULL v4 04/29] contrib/libvhost-user: enable virtio config space messages Michael S. Tsirkin
2018-01-18 20:44 ` [Qemu-devel] [PULL v4 05/29] contrib/vhost-user-blk: introduce a vhost-user-blk sample application Michael S. Tsirkin
2018-01-18 20:44 ` [Qemu-devel] [PULL v4 06/29] qemu: add a cleanup callback function to EventNotifier Michael S. Tsirkin
2018-01-18 20:44 ` [PULL v4 07/29] virtio: postpone the execution of event_notifier_cleanup function Michael S. Tsirkin
2018-01-18 20:44 ` [Qemu-devel] " Michael S. Tsirkin
2018-01-18 20:44 ` [Qemu-devel] [PULL v4 08/29] virtio: improve virtio devices initialization time Michael S. Tsirkin
2018-01-18 20:44 ` [Qemu-devel] [PULL v4 09/29] pci/shpc: Move function to generic header file Michael S. Tsirkin
2018-01-18 21:51 ` Eric Blake
2018-01-22 7:30 ` Yuval Shaia
2018-01-18 20:44 ` [Qemu-devel] [PULL v4 10/29] vhost-user: fix multiple queue specification Michael S. Tsirkin
2018-01-18 20:45 ` [Qemu-devel] [PULL v4 11/29] intel-iommu: Redefine macros to enable supporting 48 bit address width Michael S. Tsirkin
2018-01-18 20:45 ` [Qemu-devel] [PULL v4 12/29] intel-iommu: Extend address width to 48 bits Michael S. Tsirkin
2018-01-19 3:34 ` Jason Wang
2018-01-19 3:39 ` Michael S. Tsirkin [this message]
2018-01-18 20:45 ` [Qemu-devel] [PULL v4 13/29] hw/pci-bridge: fix QEMU crash because of pcie-root-port Michael S. Tsirkin
2018-01-18 20:45 ` [Qemu-devel] [PULL v4 14/29] ACPI/unit-test: Add a testcase for RAM allocation in numa node Michael S. Tsirkin
2018-01-18 20:45 ` [Qemu-devel] [PULL v4 15/29] hw/acpi-build: Make next_base easy to follow Michael S. Tsirkin
2018-01-18 20:45 ` [Qemu-devel] [PULL v4 16/29] vhost-user-test: fix features mask Michael S. Tsirkin
2018-01-18 20:45 ` [Qemu-devel] [PULL v4 17/29] vhost-user-test: extract read-guest-mem test from main loop Michael S. Tsirkin
2018-01-18 20:45 ` [Qemu-devel] [PULL v4 18/29] vhost-user-test: setup virtqueues in all tests Michael S. Tsirkin
2018-01-18 20:46 ` [Qemu-devel] [PULL v4 19/29] vhost-user-test: make features mask an init_virtio_dev() argument Michael S. Tsirkin
2018-01-18 20:46 ` [Qemu-devel] [PULL v4 20/29] vhost-user-test: use init_virtio_dev in multiqueue test Michael S. Tsirkin
2018-01-18 20:46 ` [Qemu-devel] [PULL v4 21/29] x86_iommu: Move machine check to x86_iommu_realize() Michael S. Tsirkin
2018-01-18 20:46 ` [Qemu-devel] [PULL v4 22/29] x86_iommu: check if machine has PCI bus Michael S. Tsirkin
2018-01-18 20:46 ` [Qemu-devel] [PULL v4 23/29] tests: acpi: move tested tables array allocation outside of test_acpi_dsdt_table() Michael S. Tsirkin
2018-01-18 20:46 ` [Qemu-devel] [PULL v4 24/29] tests: acpi: init table descriptor in test_dst_table() Michael S. Tsirkin
2018-01-18 20:46 ` [Qemu-devel] [PULL v4 25/29] tests: acpi: rename test_acpi_tables()/test_dst_table() to reflect its usage Michael S. Tsirkin
2018-01-18 20:46 ` [Qemu-devel] [PULL v4 26/29] tests: acpi: add comments to fetch_rsdt_referenced_tables/data->tables usage Michael S. Tsirkin
2018-01-18 20:46 ` [Qemu-devel] [PULL v4 27/29] vhost-user: factor out msg head and payload Michael S. Tsirkin
2018-01-18 20:46 ` [Qemu-devel] [PULL v4 28/29] vhost-user: fix misaligned access to payload Michael S. Tsirkin
2018-01-18 20:46 ` [Qemu-devel] [PULL v4 29/29] vhost: remove assertion to prevent crash Michael S. Tsirkin
2018-01-19 12:38 ` [Qemu-devel] [PULL v4 00/29] pc, pci, virtio: features, fixes, cleanups Peter Maydell
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=20180119053846-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=jasowang@redhat.com \
--cc=marcel@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=peterx@redhat.com \
--cc=prasad.singamsetty@oracle.com \
--cc=prasad.singamsety@oracle.com \
--cc=qemu-devel@nongnu.org \
--cc=rth@twiddle.net \
/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.