diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2023-04-21 12:42:51 +0200 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2023-08-24 10:56:21 +0200 |
commit | 1e1da7a963007d03a4e0e9a9e0ff17990bb1608d (patch) | |
tree | c08db7a8850bec6e0323e2dc0ec57430461f176f /src/fw | |
parent | ecc51f211f3edd4fcc79d38af56cf84283e4d8b1 (diff) | |
download | seabios-1e1da7a963007d03a4e0e9a9e0ff17990bb1608d.tar.gz |
check for e820 conflict
Add support to check for overlaps with e820 entries.
In case the 64bit pci io window has conflicts move it down.
The only known case where this happens is AMD processors
with 1TB address space which has some space just below
1TB reserved for HT.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'src/fw')
-rw-r--r-- | src/fw/pciinit.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/fw/pciinit.c b/src/fw/pciinit.c index b52bd1d5..c7084f5e 100644 --- a/src/fw/pciinit.c +++ b/src/fw/pciinit.c @@ -1140,6 +1140,8 @@ static void pci_bios_map_devices(struct pci_bus *busses) if (r64_mem.base < top - size) { r64_mem.base = top - size; } + if (e820_is_used(r64_mem.base, size)) + r64_mem.base -= size; } r64_mem.base = ALIGN(r64_mem.base, align_mem); r64_mem.base = ALIGN(r64_mem.base, (1LL<<30)); // 1G hugepage |