Re: [iommu/vt] c9ac3b69cf: WARNING:at_drivers/iommu/intel-iommu.c:#dmar_parse_one_rmrr

From: Barret Rhoden
Date: Mon Feb 03 2020 - 11:02:17 EST


Hi -

On 2/3/20 4:10 AM, kernel test robot wrote:
FYI, we noticed the following commit (built with gcc-7):

commit: c9ac3b69cfdbc46a0504fa353b5126827e4b0bdb ("iommu/vt-d: skip RMRR entries that fail the sanity check")
https://github.com/0day-ci/linux/commits/Barret-Rhoden/iommu-vt-d-bad-RMRR-workarounds/20200109-051817

This looks like your system's firmware might be buggy, which is what the warning is all about.

From the kmesg:

kern :info : [ 2.912758] DMAR: RMRR base: 0x0000009f271000 end: 0x0000009f290fff
kern :info : [ 2.919226] DMAR: RMRR base: 0x000000a1800000 end: 0x000000a3ffffff
kern :err : [ 2.925692] DMAR: [Firmware Bug]: No firmware reserved region can cover this RMRR [0x00000000a1800000-0x00000000a3ffffff], contact BIOS vendor for fixes
kern :warn : [ 2.939636] ------------[ cut here ]------------
kern :warn : [ 2.944436] Your BIOS is broken; bad RMRR [0x00000000a1800000-0x00000000a3ffffff]
BIOS vendor: Dell Inc.; Ver: 1.2.8; Product Version:


The e820 map has this:

kern :info : [ 0.000000] BIOS-e820: [mem 0x00000000a0000000-0x00000000a00fffff] reserved
kern :info : [ 0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reserved
kern :info : [ 0.000000] BIOS-e820: [mem 0x00000000fe000000-0x00000000fe010fff] reserved

The region 0xa1800000-0xa3ffffff isn't explicitly reserved (it's not listed at all), which the IOMMU-folk say is the fault of the firmware.

My commit made it so that it merely spits out a warning, instead of failing to use the IOMMU at all.

Thanks,

Barret