[Qemu-devel] [PATCH v1 0/2] intel-iommu: Extend address width to 48 bits

prasad.singamsetty@oracle.com posted 2 patches 6 years, 5 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20171114231350.286025-1-prasad.singamsetty@oracle.com
Test checkpatch passed
Test docker passed
Test ppc passed
Test s390x passed
hw/i386/acpi-build.c           |   3 +-
hw/i386/intel_iommu.c          | 123 +++++++++++++++++++++++++----------------
hw/i386/intel_iommu_internal.h |  43 +++++++++-----
include/hw/i386/intel_iommu.h  |   7 ++-
4 files changed, 110 insertions(+), 66 deletions(-)
[Qemu-devel] [PATCH v1 0/2] intel-iommu: Extend address width to 48 bits
Posted by prasad.singamsetty@oracle.com 6 years, 5 months ago
From: Prasad Singamsetty <prasad.singamsetty@oracle.com>

This pair of patches extends the intel-iommu to support address
width to 48 bits. This is required to support qemu guest with large
memory (>=1TB). 

Patch1 implements changes to redefine macros and usage to
allow further changes to add support for 48 bit address width.
This patch doesn't change the existing functionality or behavior.

Patch2 adds support for 48 bit address width but keeping the
default to 39 bits.

NOTE: Peter Xu had originaly started on this enhancement
but it was not completed or integrated.

Unit testing done:

patch-1:
   * Boot vm with and without intel-iommu enabled
   * Boot vm with #cpus below and above 255 cpus
patch-2:
   * boot vm without "x-aw-bits" or "x-aw-bits=39": guest boots with 39
   * boot vm with "x-aw-bits=48": guest boots with 48 bits
   * boot vm with invalid value for x-aw-bits: guest fails to boot
   * boot vm with >=1TB memory and "x-aw-bits=48": guest boots

Prasad Singamsetty (2):
  intel-iommu: Redefine macros to enable supporting 48 bit address width
  intel-iommu: Extend address width to 48 bits

 hw/i386/acpi-build.c           |   3 +-
 hw/i386/intel_iommu.c          | 123 +++++++++++++++++++++++++----------------
 hw/i386/intel_iommu_internal.h |  43 +++++++++-----
 include/hw/i386/intel_iommu.h  |   7 ++-
 4 files changed, 110 insertions(+), 66 deletions(-)

-- 
2.14.0-rc1


Re: [Qemu-devel] [PATCH v1 0/2] intel-iommu: Extend address width to 48 bits
Posted by Peter Xu 6 years, 5 months ago
On Tue, Nov 14, 2017 at 06:13:48PM -0500, prasad.singamsetty@oracle.com wrote:
> From: Prasad Singamsetty <prasad.singamsetty@oracle.com>
> 
> This pair of patches extends the intel-iommu to support address
> width to 48 bits. This is required to support qemu guest with large
> memory (>=1TB). 
> 
> Patch1 implements changes to redefine macros and usage to
> allow further changes to add support for 48 bit address width.
> This patch doesn't change the existing functionality or behavior.
> 
> Patch2 adds support for 48 bit address width but keeping the
> default to 39 bits.
> 
> NOTE: Peter Xu had originaly started on this enhancement
> but it was not completed or integrated.
> 
> Unit testing done:
> 
> patch-1:
>    * Boot vm with and without intel-iommu enabled
>    * Boot vm with #cpus below and above 255 cpus
> patch-2:
>    * boot vm without "x-aw-bits" or "x-aw-bits=39": guest boots with 39
>    * boot vm with "x-aw-bits=48": guest boots with 48 bits
>    * boot vm with invalid value for x-aw-bits: guest fails to boot
>    * boot vm with >=1TB memory and "x-aw-bits=48": guest boots
> 
> Prasad Singamsetty (2):
>   intel-iommu: Redefine macros to enable supporting 48 bit address width
>   intel-iommu: Extend address width to 48 bits

Looks quite good to me!

Reviewed-by: Peter Xu <peterx@redhat.com>

-- 
Peter Xu