On Mon, May 26, 2025 at 10:18 AM Jason Gunthorpe jgg@nvidia.com wrote:
On Fri, May 23, 2025 at 11:29:58PM +0000, David Matlack wrote:
Import drivers/dma/ioat/{hw.h,registers.h} into tools/include/ so that they can be used in VFIO selftests to interact with Intel CBDMA devices.
Changes made when importing:
- Drop system_has_dca_enabled() prototype from hw.h
Cc: Dave Jiang dave.jiang@intel.com Cc: Dan Williams dan.j.williams@intel.com Signed-off-by: David Matlack dmatlack@google.com
tools/include/drivers/dma/ioat/hw.h | 270 +++++++++++++++++++++ tools/include/drivers/dma/ioat/registers.h | 251 +++++++++++++++++++ 2 files changed, 521 insertions(+) create mode 100644 tools/include/drivers/dma/ioat/hw.h create mode 100644 tools/include/drivers/dma/ioat/registers.h
I think you'd be better to not duplicate the code but just #include a shared header from drivers/dma/ioat/ and so on for the other patches too
I think that makes sense for drivers/ headers and maybe linux/pci_ids.h if the relevant maintainers are ok with it. The changes needed to the headers in the kernel would be pretty minimal.
But it starts to get complicated when kernel headers include other kernel headers, and/or contain a lot of code that can't be compiled in tools/, e.g. asm-generic/io.h [1]. For those headers, duplicating seemed like the cleanest option.
[1] https://lore.kernel.org/kvm/20250523233018.1702151-11-dmatlack@google.com/