Messages in this thread | | | Subject | Re: [PATCH v3 0/2] Add support for ACPI device in RMRR | From | Lu Baolu <> | Date | Mon, 12 Oct 2020 10:31:40 +0800 |
| |
Hi Felix,
On 10/10/20 4:02 PM, FelixCuioc wrote: > BIOS allocate reserved memory ranges that may be DMA targets. > BIOS may report each such reserved memory region through the > RMRR structures,along with the devices that requires access to > the specified reserved memory region. > > The purpose of this series is to achieve ACPI device in RMRR > access reserved memory.Therefore,it is necessary to increase > the analysis of acpi device in RMRR and establish a mapping > for this device. > > The first patch adds interfaces for detecting ACPI device > in RMRR and in order to distinguish it from pci device, > some interface functions are modified. > > The second patch adds support for probing ACPI device in RMRR. > In probe_acpi_namespace_devices(),add support for direct mapping > of ACPI device and add support for physical node of acpi device > to be NULL.
Thanks for your patches. As I explained in the previous reply, RMRRs were added as work around for certain legacy device and we have been working hard to fix those legacy devices so that RMRR are no longer needed. Any new use case of RMRR is not encouraged.
By the way, I guess the problem you are facing can still be handled well under current RMRR mechanism by simple putting the device in the ACPI/ANDD table. It's worth trying.
Best regards, baolu
> > v2->v3: > - Add the blank line between functions. > - Make dmar_acpi_insert_dev_scope() bool,change the 1/0 to true/false > and add a comment explaining. > - Delete unused initialization. > - if dmar_acpi_insert_dev_scope() always returns zero,will not > call dmar_rmrr_add_acpi_dev(). > - Use a proper error code. > - Use if(!pdev). > - Use goto unlock instead of mutex_unlock(). > > > FelixCuioc (2): > iommu/vt-d:Add support for detecting ACPI device in RMRR > iommu/vt-d:Add support for probing ACPI device in RMRR > > drivers/iommu/intel/dmar.c | 76 +++++++++++++++++++++---------------- > drivers/iommu/intel/iommu.c | 52 ++++++++++++++++++++++++- > drivers/iommu/iommu.c | 6 +++ > include/linux/dmar.h | 12 +++++- > include/linux/iommu.h | 2 + > 5 files changed, 113 insertions(+), 35 deletions(-) >
| |