Hi, On 10/16/19 1:49 AM, Yian Chen wrote: > VT-d RMRR (Reserved Memory Region Reporting) regions are reserved > for device use only and should not be part of allocable memory pool of OS. > > BIOS e820_table reports complete memory map to OS, including OS usable > memory ranges and BIOS reserved memory ranges etc. > > x86 BIOS may not be trusted to include RMRR regions as reserved type > of memory in its e820 memory map, hence validate every RMRR entry > with the e820 memory map to make sure the RMRR regions will not be > used by OS for any other purposes.
I found "bad RMRR" warnings starting to appear on some x86 servers since v5.5-rc1 and it gets even louder since v5.6-rc1. The "bad" RMRR is for the area resides in ACPI NVS memory region. For example, # dmesg|grep RMRR DMAR: RMRR base: 0x000000a2290000 end: 0x000000a2292fff DMAR: [Firmware Bug]: No firmware reserved region can cover this RMRR [0x00000000a2290000-0x00000000a2292fff], contact BIOS vendor for fixes Your BIOS is broken; bad RMRR [0x00000000a2290000-0x00000000a2292fff] # dmesg|grep NVS BIOS-e820: [mem 0x00000000a067a000-0x00000000a2a79fff] ACPI NVS reserve setup_data: [mem 0x00000000a067a000-0x00000000a2a79fff] ACPI NVS PM: Registering ACPI NVS region [mem 0xa067a000-0xa2a79fff] (37748736 bytes) The warnings come from arch_rmrr_sanity_check() since it checks whether the region is E820_TYPE_RESERVED. However, if the purpose of the check is to detect RMRR has regions that may be used by OS as free memory, isn't E820_TYPE_NVS safe, too? -- Jun'ichi Nomura, NEC Corporation / NEC Solution Innovators, Ltd. _______________________________________________ iommu mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/iommu
