This series enables importing Linux Kernel uAPI headers into the DPDK repository. It aims at solving alignment issues between the build system and the system applications linked ot DPDK libraries are run on.
It can also help simplify spaghetti code done to support different versions of the Linux Kernel headers used by the build system. Guidelines and import script are also part of first patch. The uAPI checker script has been merged with the import script in this V1, goals is to use it in CI for any patch touching linux-headers/uapi. Follow-up patches are an example of imported uAPI inclusion of VDUSE header into the Vhost library. Changes in v1: ============== - Merged import-linux-uapi.sh and check_linux-uapi.sh in a single linux-uapi.sh script (David) - Moved imported headers to kernel/linux/ (Thomas) - Lots of fixes and improvements in the script (David) - Fixed headers fixup to mimic linux kernel headers install (David) - Updated documentation Changes in RFC v3: ================== - Support nested headers include - Interactive mode to select which headers to include - Store version in a file instead of git commit messages - All imported headers aligned on same version - Improve loops in scripts (David) - Update documentation Changes in RFC v2: ================== - Fix typos in documentation and commit messags (David, Morten) - Add uAPI checker script - Add uAPI to global_inc - Fix build issues on FreeBSD and documentation (CI, David) - Simplify import script (David) Maxime Coquelin (3): uapi: introduce kernel uAPI headers import uapi: import VDUSE header vduse: use imported VDUSE uAPI header devtools/linux-uapi.sh | 177 +++++++++++++ doc/guides/contributing/index.rst | 1 + doc/guides/contributing/linux_uapi.rst | 70 +++++ kernel/linux/uapi/.gitignore | 4 + kernel/linux/uapi/linux/vduse.h | 353 +++++++++++++++++++++++++ kernel/linux/uapi/version | 1 + lib/vhost/meson.build | 5 +- lib/vhost/vduse.c | 2 +- lib/vhost/vduse.h | 22 -- meson.build | 8 +- 10 files changed, 614 insertions(+), 29 deletions(-) create mode 100755 devtools/linux-uapi.sh create mode 100644 doc/guides/contributing/linux_uapi.rst create mode 100644 kernel/linux/uapi/.gitignore create mode 100644 kernel/linux/uapi/linux/vduse.h create mode 100644 kernel/linux/uapi/version -- 2.46.2