On Wed Dec 04 19, Lu Baolu wrote: >Hi, > >On 12/3/19 5:56 PM, Jerry Snitselaar wrote: >>On Tue Dec 03 19, Lu Baolu wrote: >>>Hi, >>> >>>On 12/3/19 12:13 AM, Jerry Snitselaar wrote: >>>>On Mon Dec 02 19, Jerry Snitselaar wrote: >>>>>On Mon Dec 02 19, Lu Baolu wrote: >>>>>>Hi, >>>>>> >>>>>>On 12/2/19 2:34 PM, Jerry Snitselaar wrote: >>>>>>>We are seeing DMAR PTE read access not set errors when booting a >>>>>>>kernel with default passthrough, both with a test kernel and with >>>>>>>a 5.4.0 kernel. Previously we would see a number of identity mappings >>>>>>>being set related to the rmrrs, and now they aren't seen and we get >>>>>>>the dmar pte errors as devices touch those regions. From >>>>>>>what I can tell >>>>>>>currently df4f3c603aeb ("iommu/vt-d: Remove static >>>>>>>identity map code") >>>>>>>removed the bit of code in init_dmars that used to set up those >>>>>>>mappings: >>>>>>> >>>>>>>-       /* >>>>>>>-        * For each rmrr >>>>>>>-        *   for each dev attached to rmrr >>>>>>>-        *   do >>>>>>>-        *     locate drhd for dev, alloc domain for dev >>>>>>>-        *     allocate free domain >>>>>>>-        *     allocate page table entries for rmrr >>>>>>>-        *     if context not allocated for bus >>>>>>>-        *           allocate and init context >>>>>>>-        *           set present in root table for this bus >>>>>>>-        *     init context with domain, translation etc >>>>>>>-        *    endfor >>>>>>>-        * endfor >>>>>>>-        */ >>>>>>>-       pr_info("Setting RMRR:\n"); >>>>>>>-       for_each_rmrr_units(rmrr) { >>>>>>>-               /* some BIOS lists non-exist devices in >>>>>>>DMAR table. */ >>>>>>>-               for_each_active_dev_scope(rmrr->devices, >>>>>>>rmrr->devices_cnt, >>>>>>>-                                         i, dev) { >>>>>>>-                       ret = iommu_prepare_rmrr_dev(rmrr, dev); >>>>>>>-                       if (ret) >>>>>>>-                               pr_err("Mapping reserved >>>>>>>region failed\n"); >>>>>>>-               } >>>>>>>-       } >>>>>>> >>>>>>>si_domain_init now has code that sets identity maps for >>>>>>>devices in rmrrs, but >>>>>>>only for certain devices. >>>>>> >>>>>>On which device, are you seeing this error? Is it a rmrr >>>>>>locked device? >>>>>> >>>>>>Best regards, >>>>>>baolu >>>>>> >>>>> >>>>>Almost all of the messages are for the ilo, but there also is >>>>>a message for >>>>>the smart array raid bus controller. >>>>> >>>> >>>>Also seeing it with a dl380 gen9 system, where the raid bus controller >>>>is getting the error. >>> >>>Does it help if you remove >>> >>>                       if (device_is_rmrr_locked(dev)) >>>                               continue; >>> >>>in si_domain_init()? >>> >> >>Unfortunately it still spits out a bunch of error messages. > >Can you please show me the whole dmesg? > >Best regards, >-baolu > Attaching console output (can't get to a point to actually log in) and config that is used to build that kernel.