Ok Will do. --thanks
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/2166076
Title:
QEMU : ELIMINATION OF HYPERTRANSPORT MEMORY HOLE
Status in QEMU:
New
Status in linux package in Ubuntu:
Invalid
Bug description:
Historically, AMD processors reserved a 1 TB memory hole in the
physical address space around the 1 TB boundary (specifically from 1
TB to ~ 2 TB). This reservation was a legacy requirement from
the HyperTransport era to maintain compatibility with older IOMMU (I/O
Memory Management Unit) implementations that expected this address
space to be reserved for I/O devices and memory-mapped I/O operations.
ISSUE:
This 1 TB hole meant that:
Systems couldn't use physical memory addresses in that range for
actual DRAM
With large memory configurations (approaching/exceeding 1 TB), this
created inefficiencies in memory mapping
It limited the contiguous addressable memory space available to the OS
and applications
The reservation was maintained for legacy compatibility.
SOLUTION:
Starting with EPYC 9005 (Turin), AMD introduced the ability to eliminate this
legacy 1 TB IOMMU/HyperTransport memory hole. This feature:
Reclaims the 1 TB address space previously reserved for legacy
compatibility
Allows systems to use more contiguous physical memory addressing
Improves memory efficiency for large-memory configurations
Is controlled via BIOS/firmware settings
Represents a clean break from HyperTransport-era constraints
Pre-6.1 QEMU would report the host e820 to the guest. BUT QEMU did not
detect if the hole was present or not. QEMU IOMMU emulation had
assumptions about the hole. QEMU memory accounting didn’t properly
handle both cases. When the hole was absent, QEMU's internal
calculations were wrong.
QEMU Pre-6.1 QEMU
6.1+
Legacy (with hole) + No pass-through Works as expected Works
as expected
Legacy (with hole) + with pass-through Works as expected
Works as expected
Modern (no hole) + No pass-through Memory in the hole is STRANDED Works
as expected
Modern (no hole) + with pass-through DMA to wrong memory system crash Works
as expected
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/2166076/+subscriptions