On 20.12.2023 14:43, Roger Pau Monne wrote:
> Hello,
>
> The aim of the series is to reduce boot time setup of IOMMU page tables
> for dom0.
>
> First and second patches are a pre-req, as further patches can end up
> attempting to create maps above the max RAM address, and hence without
> properly setting the IOMMU page tables levels those attempts to map
> would fail.
>
> Last 4 patches rework the hardware domain IOMMU setup to use a rangeset
> instead of iterating over all addresses up to the max RAM page. See
> patch 5/6 for performance figures.
>
> Thanks, Roger.
>
> Roger Pau Monne (6):
> x86/p2m: move and rename paging_max_paddr_bits()
> amd-vi: set IOMMU page table levels based on guest reported paddr
> width
> x86/iommu: introduce a rangeset to perform hwdom IOMMU setup
> x86/iommu: remove regions not to be mapped
> x86/iommu: switch hwdom IOMMU to use a rangeset
> x86/iommu: cleanup unused functions
>
> xen/arch/x86/cpu-policy.c | 2 +-
> xen/arch/x86/domain.c | 21 ++
> xen/arch/x86/hvm/io.c | 15 +-
Paul,
for the changes to this file, any chance of an ack for patches 4 and 6?
Thanks, Jan
> xen/arch/x86/include/asm/domain.h | 3 +
> xen/arch/x86/include/asm/hvm/io.h | 4 +-
> xen/arch/x86/include/asm/paging.h | 22 --
> xen/arch/x86/include/asm/setup.h | 2 +-
> xen/arch/x86/setup.c | 81 +++---
> xen/arch/x86/tboot.c | 2 +-
> xen/drivers/passthrough/amd/pci_amd_iommu.c | 20 +-
> xen/drivers/passthrough/x86/iommu.c | 271 +++++++++++++-------
> 11 files changed, 262 insertions(+), 181 deletions(-)
>