revert "hvmloader: PA range 0xfc000000-0xffffffff should be UC"

This reverts commit c22bd567ce.

While its description is correct from an abstract or real hardware pov,
the range is special inside HVM guests. The range being UC in particular
gets in the way of OVMF, which places itself at [FFE00000,FFFFFFFF].
While this is benign to epte_get_entry_emt() as long as the IOMMU isn't
enabled for a guest, it becomes a very noticable problem otherwise: It
takes about half a minute for OVMF to decompress itself into its
designated address range.

And even beyond OVMF there's no reason to have e.g. the ACPI memory
range marked UC.

Fixes: c22bd567ce ("hvmloader: PA range 0xfc000000-0xffffffff should be UC")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
master commit: ea187c0b7a
master date: 2021-12-17 08:56:15 +0100
This commit is contained in:
Jan Beulich committed 2022-01-07 08:15:40 +01:00
1 parent c8260b3d38
commit 467f98a0e0
1 file changed
+2 -2
+2 -2
View File
@@ -98,12 +98,12 @@ void cacheattr_init(void)
{
uint64_t base = pci_mem_start, size;
for ( i = 0; !(base >> 32) && (i < nr_var_ranges); i++ )
for ( i = 0; (base != pci_mem_end) && (i < nr_var_ranges); i++ )
{
size = PAGE_SIZE;
while ( !(base & size) )
size <<= 1;
while ( ((base + size) < base) || ((base + size - 1) >> 32) )
while ( ((base + size) < base) || ((base + size) > pci_mem_end) )
size >>= 1;
wrmsr(MSR_MTRRphysBase(i), base);
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.