[PATCH 0/6] Add support for configuring PCI high memory MMIO size

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch series adds support for configuring the PCI high memory MMIO
window size for aarch64 virt machine types. This feature has been merged
into the QEMU upstream staging branch [1] and will be available in QEMU 10.0.
It allows users to configure the size of the high memory MMIO window above
4GB, which is particularly useful for systems with large amounts of PCI
memory requirements.
    
The feature is exposed through the domain XML as a new PCI feature:
<features>
  <pci>
    <highmem-mmio-size unit='G'>512</highmem-mmio-size>
  </pci>
</features>
    
When enabled, this configures the size of the PCI high memory MMIO window
via QEMU's highmem-mmio-size machine property. The feature is only
available for aarch64 virt machine types and requires QEMU support.

This series depends on [2] and should be applied on top of those patches.

For your convenience, this series is also available on Github [3].
    
[1] https://lore.kernel.org/qemu-devel/20250221145419.1281890-1-mochs@xxxxxxxxxx/
[2] https://lists.libvirt.org/archives/list/devel@xxxxxxxxxxxxxxxxx/thread/Z4NQ3CVQYLNGZRBC35CUHOQ2EXJROPYG/
[3] git fetch https://github.com/nvmochs/libvirt.git pci_highmem_mmio_size

Signed-off-by: Matthew R. Ochs <mochs@xxxxxxxxxx>

Matthew R. Ochs (6):
  domain: Add PCI configuration feature infrastructure
  schema: Add PCI configuration feature schema
  conf: Add PCI configuration XML parsing and formatting
  qemu: Add capability for PCI high memory MMIO size
  qemu: Add command line support for PCI high memory MMIO size
  tests: Add tests for machine PCI features

 src/conf/domain_conf.c                        | 103 ++++++++++++++++++
 src/conf/domain_conf.h                        |   6 +
 src/conf/schemas/domaincommon.rng             |   9 ++
 src/qemu/qemu_capabilities.c                  |   2 +
 src/qemu/qemu_capabilities.h                  |   1 +
 src/qemu/qemu_command.c                       |   6 +
 src/qemu/qemu_validate.c                      |  15 +++
 .../caps_10.0.0_aarch64.replies               |  10 ++
 .../caps_10.0.0_aarch64.xml                   |   1 +
 ...rch64-virt-machine-pci.aarch64-latest.args |  31 ++++++
 ...arch64-virt-machine-pci.aarch64-latest.xml |  30 +++++
 .../aarch64-virt-machine-pci.xml              |  20 ++++
 tests/qemuxmlconftest.c                       |   2 +
 13 files changed, 236 insertions(+)
 create mode 100644 tests/qemuxmlconfdata/aarch64-virt-machine-pci.aarch64-latest.args
 create mode 100644 tests/qemuxmlconfdata/aarch64-virt-machine-pci.aarch64-latest.xml
 create mode 100644 tests/qemuxmlconfdata/aarch64-virt-machine-pci.xml

-- 
2.46.0




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux