[PATCHSET 00/10] tools headers: Sync header files with the kernel

Namhyung Kim posted 10 patches 8 months, 1 week ago
tools/arch/arm64/include/uapi/asm/kvm.h       |  5 +-
tools/arch/arm64/include/uapi/asm/unistd.h    | 24 +----
tools/arch/x86/include/asm/cpufeatures.h      | 28 ++++--
tools/arch/x86/include/asm/msr-index.h        | 31 +++---
tools/arch/x86/include/uapi/asm/kvm.h         |  4 +
tools/arch/x86/include/uapi/asm/svm.h         |  2 +
tools/arch/x86/lib/memset_64.S                |  3 +-
tools/include/linux/cfi_types.h               | 45 +++++++++
tools/include/uapi/asm-generic/mman-common.h  |  1 +
tools/include/uapi/asm-generic/unistd.h       |  4 +-
tools/include/uapi/linux/in.h                 |  2 +
tools/include/uapi/linux/kvm.h                |  9 +-
tools/include/uapi/linux/perf_event.h         |  2 +
tools/include/uapi/linux/stat.h               | 99 ++++++++++++++-----
.../perf/arch/arm/entry/syscalls/syscall.tbl  |  1 +
.../arch/mips/entry/syscalls/syscall_n64.tbl  |  1 +
.../arch/powerpc/entry/syscalls/syscall.tbl   |  1 +
.../perf/arch/s390/entry/syscalls/syscall.tbl |  1 +
tools/perf/arch/sh/entry/syscalls/syscall.tbl |  1 +
.../arch/sparc/entry/syscalls/syscall.tbl     |  1 +
.../arch/x86/entry/syscalls/syscall_32.tbl    |  3 +-
.../arch/x86/entry/syscalls/syscall_64.tbl    |  1 +
.../arch/xtensa/entry/syscalls/syscall.tbl    |  1 +
tools/perf/check-headers.sh                   |  1 +
.../perf/trace/beauty/include/linux/socket.h  |  2 +
.../trace/beauty/include/uapi/linux/fcntl.h   |  4 +
.../perf/trace/beauty/include/uapi/linux/fs.h | 21 +++-
.../trace/beauty/include/uapi/linux/mount.h   | 10 +-
.../trace/beauty/include/uapi/linux/prctl.h   | 11 +++
.../trace/beauty/include/uapi/linux/stat.h    | 99 ++++++++++++++-----
.../trace/beauty/include/uapi/sound/asound.h  |  8 +-
tools/scripts/syscall.tbl                     |  1 +
32 files changed, 318 insertions(+), 109 deletions(-)
create mode 100644 tools/include/linux/cfi_types.h
[PATCHSET 00/10] tools headers: Sync header files with the kernel
Posted by Namhyung Kim 8 months, 1 week ago
Hello,

FYI I'm carrying these changes in the perf tools tree so make perf trace
beautifiers get the recent changes in syscall, ioctl, and so on.  For the
background, please see tools/include/uapi/README.

Still there are some remaining items but it requires a bit more changes.
So I'd like to leave them for the next cycle.

  Warning: Kernel ABI header differences:
    diff -u tools/include/uapi/linux/bits.h include/uapi/linux/bits.h
    diff -u tools/include/linux/bits.h include/linux/bits.h
    diff -u tools/arch/arm64/include/asm/cputype.h arch/arm64/include/asm/cputype.h

Thanks,
Namhyung


Namhyung Kim (10):
  tools headers: Update the KVM headers with the kernel sources
  tools headers: Update the socket headers with the kernel sources
  tools headers: Update the uapi/linux/perf_event.h copy with the kernel sources
  tools headers: Update the VFS headers with the kernel sources
  tools headers: Update the syscall table with the kernel sources
  tools headers: Update the uapi/linux/prctl.h copy with the kernel sources
  tools headers: Update the uapi/asm-generic/mman-common.h copy with the kernel sources
  tools headers: Update the linux/unaligned.h copy with the kernel sources
  tools headers: Update the x86 headers with the kernel sources
  tools headers: Update the arch/x86/lib/memset_64.S copy with the kernel sources

 tools/arch/arm64/include/uapi/asm/kvm.h       |  5 +-
 tools/arch/arm64/include/uapi/asm/unistd.h    | 24 +----
 tools/arch/x86/include/asm/cpufeatures.h      | 28 ++++--
 tools/arch/x86/include/asm/msr-index.h        | 31 +++---
 tools/arch/x86/include/uapi/asm/kvm.h         |  4 +
 tools/arch/x86/include/uapi/asm/svm.h         |  2 +
 tools/arch/x86/lib/memset_64.S                |  3 +-
 tools/include/linux/cfi_types.h               | 45 +++++++++
 tools/include/uapi/asm-generic/mman-common.h  |  1 +
 tools/include/uapi/asm-generic/unistd.h       |  4 +-
 tools/include/uapi/linux/in.h                 |  2 +
 tools/include/uapi/linux/kvm.h                |  9 +-
 tools/include/uapi/linux/perf_event.h         |  2 +
 tools/include/uapi/linux/stat.h               | 99 ++++++++++++++-----
 .../perf/arch/arm/entry/syscalls/syscall.tbl  |  1 +
 .../arch/mips/entry/syscalls/syscall_n64.tbl  |  1 +
 .../arch/powerpc/entry/syscalls/syscall.tbl   |  1 +
 .../perf/arch/s390/entry/syscalls/syscall.tbl |  1 +
 tools/perf/arch/sh/entry/syscalls/syscall.tbl |  1 +
 .../arch/sparc/entry/syscalls/syscall.tbl     |  1 +
 .../arch/x86/entry/syscalls/syscall_32.tbl    |  3 +-
 .../arch/x86/entry/syscalls/syscall_64.tbl    |  1 +
 .../arch/xtensa/entry/syscalls/syscall.tbl    |  1 +
 tools/perf/check-headers.sh                   |  1 +
 .../perf/trace/beauty/include/linux/socket.h  |  2 +
 .../trace/beauty/include/uapi/linux/fcntl.h   |  4 +
 .../perf/trace/beauty/include/uapi/linux/fs.h | 21 +++-
 .../trace/beauty/include/uapi/linux/mount.h   | 10 +-
 .../trace/beauty/include/uapi/linux/prctl.h   | 11 +++
 .../trace/beauty/include/uapi/linux/stat.h    | 99 ++++++++++++++-----
 .../trace/beauty/include/uapi/sound/asound.h  |  8 +-
 tools/scripts/syscall.tbl                     |  1 +
 32 files changed, 318 insertions(+), 109 deletions(-)
 create mode 100644 tools/include/linux/cfi_types.h


base-commit: 0af2f6be1b4281385b618cb86ad946eded089ac8
-- 
2.49.0.504.g3bcea36a83-goog
Re: [PATCHSET 00/10] tools headers: Sync header files with the kernel
Posted by Venkat 8 months, 1 week ago

> On 10 Apr 2025, at 5:41 AM, Namhyung Kim <namhyung@kernel.org> wrote:
> 
> Hello,
> 
> FYI I'm carrying these changes in the perf tools tree so make perf trace
> beautifiers get the recent changes in syscall, ioctl, and so on.  For the
> background, please see tools/include/uapi/README.
> 
> Still there are some remaining items but it requires a bit more changes.
> So I'd like to leave them for the next cycle.
> 
>  Warning: Kernel ABI header differences:
>    diff -u tools/include/uapi/linux/bits.h include/uapi/linux/bits.h
>    diff -u tools/include/linux/bits.h include/linux/bits.h
>    diff -u tools/arch/arm64/include/asm/cputype.h arch/arm64/include/asm/cputype.h
> 
> Thanks,
> Namhyung
> 
> 
> Namhyung Kim (10):
>  tools headers: Update the KVM headers with the kernel sources
>  tools headers: Update the socket headers with the kernel sources
>  tools headers: Update the uapi/linux/perf_event.h copy with the kernel sources
>  tools headers: Update the VFS headers with the kernel sources
>  tools headers: Update the syscall table with the kernel sources
>  tools headers: Update the uapi/linux/prctl.h copy with the kernel sources
>  tools headers: Update the uapi/asm-generic/mman-common.h copy with the kernel sources
>  tools headers: Update the linux/unaligned.h copy with the kernel sources
>  tools headers: Update the x86 headers with the kernel sources
>  tools headers: Update the arch/x86/lib/memset_64.S copy with the kernel sources
> 
> tools/arch/arm64/include/uapi/asm/kvm.h       |  5 +-
> tools/arch/arm64/include/uapi/asm/unistd.h    | 24 +----
> tools/arch/x86/include/asm/cpufeatures.h      | 28 ++++--
> tools/arch/x86/include/asm/msr-index.h        | 31 +++---
> tools/arch/x86/include/uapi/asm/kvm.h         |  4 +
> tools/arch/x86/include/uapi/asm/svm.h         |  2 +
> tools/arch/x86/lib/memset_64.S                |  3 +-
> tools/include/linux/cfi_types.h               | 45 +++++++++
> tools/include/uapi/asm-generic/mman-common.h  |  1 +
> tools/include/uapi/asm-generic/unistd.h       |  4 +-
> tools/include/uapi/linux/in.h                 |  2 +
> tools/include/uapi/linux/kvm.h                |  9 +-
> tools/include/uapi/linux/perf_event.h         |  2 +
> tools/include/uapi/linux/stat.h               | 99 ++++++++++++++-----
> .../perf/arch/arm/entry/syscalls/syscall.tbl  |  1 +
> .../arch/mips/entry/syscalls/syscall_n64.tbl  |  1 +
> .../arch/powerpc/entry/syscalls/syscall.tbl   |  1 +
> .../perf/arch/s390/entry/syscalls/syscall.tbl |  1 +
> tools/perf/arch/sh/entry/syscalls/syscall.tbl |  1 +
> .../arch/sparc/entry/syscalls/syscall.tbl     |  1 +
> .../arch/x86/entry/syscalls/syscall_32.tbl    |  3 +-
> .../arch/x86/entry/syscalls/syscall_64.tbl    |  1 +
> .../arch/xtensa/entry/syscalls/syscall.tbl    |  1 +
> tools/perf/check-headers.sh                   |  1 +
> .../perf/trace/beauty/include/linux/socket.h  |  2 +
> .../trace/beauty/include/uapi/linux/fcntl.h   |  4 +
> .../perf/trace/beauty/include/uapi/linux/fs.h | 21 +++-
> .../trace/beauty/include/uapi/linux/mount.h   | 10 +-
> .../trace/beauty/include/uapi/linux/prctl.h   | 11 +++
> .../trace/beauty/include/uapi/linux/stat.h    | 99 ++++++++++++++-----
> .../trace/beauty/include/uapi/sound/asound.h  |  8 +-
> tools/scripts/syscall.tbl                     |  1 +
> 32 files changed, 318 insertions(+), 109 deletions(-)

Tested this patch series by applying on the base commit: 0af2f6be1b4281385b618cb86ad946eded089ac8 and it fixes the warnings.

Tested-by: Venkat Rao Bagalkote <venkat88@linux.ibm.com>



Before this patch:

 make
  BUILD:   Doing 'make -j32' parallel build
Warning: Kernel ABI header differences:
  diff -u tools/include/uapi/linux/bits.h include/uapi/linux/bits.h
  diff -u tools/include/uapi/linux/kvm.h include/uapi/linux/kvm.h
  diff -u tools/include/uapi/linux/in.h include/uapi/linux/in.h
  diff -u tools/include/uapi/linux/perf_event.h include/uapi/linux/perf_event.h
  diff -u tools/include/uapi/linux/stat.h include/uapi/linux/stat.h
  diff -u tools/include/linux/bits.h include/linux/bits.h
  diff -u tools/arch/x86/include/asm/cpufeatures.h arch/x86/include/asm/cpufeatures.h
  diff -u tools/arch/x86/include/asm/msr-index.h arch/x86/include/asm/msr-index.h
  diff -u tools/arch/x86/include/uapi/asm/kvm.h arch/x86/include/uapi/asm/kvm.h
  diff -u tools/arch/x86/include/uapi/asm/svm.h arch/x86/include/uapi/asm/svm.h
  diff -u tools/arch/arm64/include/uapi/asm/kvm.h arch/arm64/include/uapi/asm/kvm.h
  diff -u tools/arch/arm64/include/uapi/asm/unistd.h arch/arm64/include/uapi/asm/unistd.h
  diff -u tools/include/uapi/asm-generic/mman-common.h include/uapi/asm-generic/mman-common.h
  diff -u tools/include/uapi/asm-generic/unistd.h include/uapi/asm-generic/unistd.h
  diff -u tools/scripts/syscall.tbl scripts/syscall.tbl
  diff -u tools/arch/x86/lib/memset_64.S arch/x86/lib/memset_64.S
  diff -u tools/arch/arm64/include/asm/cputype.h arch/arm64/include/asm/cputype.h
  diff -u tools/perf/arch/x86/entry/syscalls/syscall_32.tbl arch/x86/entry/syscalls/syscall_32.tbl
  diff -u tools/perf/arch/x86/entry/syscalls/syscall_64.tbl arch/x86/entry/syscalls/syscall_64.tbl
  diff -u tools/perf/arch/powerpc/entry/syscalls/syscall.tbl arch/powerpc/kernel/syscalls/syscall.tbl
  diff -u tools/perf/arch/s390/entry/syscalls/syscall.tbl arch/s390/kernel/syscalls/syscall.tbl
  diff -u tools/perf/arch/mips/entry/syscalls/syscall_n64.tbl arch/mips/kernel/syscalls/syscall_n64.tbl
  diff -u tools/perf/arch/arm/entry/syscalls/syscall.tbl arch/arm/tools/syscall.tbl
  diff -u tools/perf/arch/sh/entry/syscalls/syscall.tbl arch/sh/kernel/syscalls/syscall.tbl
  diff -u tools/perf/arch/sparc/entry/syscalls/syscall.tbl arch/sparc/kernel/syscalls/syscall.tbl
  diff -u tools/perf/arch/xtensa/entry/syscalls/syscall.tbl arch/xtensa/kernel/syscalls/syscall.tbl
  diff -u tools/perf/trace/beauty/include/linux/socket.h include/linux/socket.h
  diff -u tools/perf/trace/beauty/include/uapi/linux/fcntl.h include/uapi/linux/fcntl.h
  diff -u tools/perf/trace/beauty/include/uapi/linux/fs.h include/uapi/linux/fs.h
  diff -u tools/perf/trace/beauty/include/uapi/linux/mount.h include/uapi/linux/mount.h
  diff -u tools/perf/trace/beauty/include/uapi/linux/prctl.h include/uapi/linux/prctl.h
  diff -u tools/perf/trace/beauty/include/uapi/linux/stat.h include/uapi/linux/stat.h
  diff -u tools/perf/trace/beauty/include/uapi/sound/asound.h include/uapi/sound/asound.h
Makefile.config:1093: No libcapstone found, disables disasm engine support for 'perf script', please install libcapstone-dev/capstone-devel
Makefile.config:1155: libpfm4 not found, disables libpfm4 support. Please install libpfm4-dev

Auto-detecting system features:
...                                   libdw: [ on  ]
...                                   glibc: [ on  ]
...                                  libbfd: [ on  ]
...                          libbfd-buildid: [ on  ]
...                                  libelf: [ on  ]
...                                 libnuma: [ on  ]
...                  numa_num_possible_cpus: [ on  ]
...                                 libperl: [ on  ]
...                               libpython: [ on  ]
...                               libcrypto: [ on  ]
...                               libunwind: [ OFF ]
...                             libcapstone: [ OFF ]
...                               llvm-perf: [ on  ]
...                                    zlib: [ on  ]
...                                    lzma: [ on  ]
...                               get_cpuid: [ OFF ]
...                                     bpf: [ on  ]
...                                  libaio: [ on  ]
...                                 libzstd: [ on  ]

  GEN     common-cmds.h
  GEN     /root/linux/tools/perf/arch/arm64/include/generated/asm/sysreg-defs.h
  PERF_VERSION = 6.15.rc1.g0af2f6be1b42
  GEN     perf-archive


After this patch:

 make
  BUILD:   Doing 'make -j32' parallel build
Warning: Kernel ABI header differences:
  diff -u tools/include/uapi/linux/bits.h include/uapi/linux/bits.h
  diff -u tools/include/linux/bits.h include/linux/bits.h
  diff -u tools/arch/arm64/include/asm/cputype.h arch/arm64/include/asm/cputype.h
Makefile.config:1093: No libcapstone found, disables disasm engine support for 'perf script', please install libcapstone-dev/capstone-devel
Makefile.config:1155: libpfm4 not found, disables libpfm4 support. Please install libpfm4-dev

Auto-detecting system features:
...                                   libdw: [ on  ]
...                                   glibc: [ on  ]
...                                  libbfd: [ on  ]
...                          libbfd-buildid: [ on  ]
...                                  libelf: [ on  ]
...                                 libnuma: [ on  ]
...                  numa_num_possible_cpus: [ on  ]
...                                 libperl: [ on  ]
...                               libpython: [ on  ]
...                               libcrypto: [ on  ]
...                               libunwind: [ OFF ]
...                             libcapstone: [ OFF ]
...                               llvm-perf: [ on  ]
...                                    zlib: [ on  ]
...                                    lzma: [ on  ]
...                               get_cpuid: [ OFF ]
...                                     bpf: [ on  ]
...                                  libaio: [ on  ]
...                                 libzstd: [ on  ]

  GEN     common-cmds.h
  GEN     /root/linux/tools/perf/arch/arm64/include/generated/asm/sysreg-defs.h
  PERF_VERSION = 6.15.rc1.g634c975b88f0
  GEN     perf-archive



>  create mode 100644 tools/include/linux/cfi_types.h
> 
> 
> base-commit: 0af2f6be1b4281385b618cb86ad946eded089ac8
> -- 
> 2.49.0.504.g3bcea36a83-goog
> 
> 
Re: [PATCHSET 00/10] tools headers: Sync header files with the kernel
Posted by Ingo Molnar 8 months, 1 week ago
* Namhyung Kim <namhyung@kernel.org> wrote:

> Hello,
> 
> FYI I'm carrying these changes in the perf tools tree so make perf trace
> beautifiers get the recent changes in syscall, ioctl, and so on.  For the
> background, please see tools/include/uapi/README.
> 
> Still there are some remaining items but it requires a bit more changes.
> So I'd like to leave them for the next cycle.
> 
>   Warning: Kernel ABI header differences:
>     diff -u tools/include/uapi/linux/bits.h include/uapi/linux/bits.h
>     diff -u tools/include/linux/bits.h include/linux/bits.h
>     diff -u tools/arch/arm64/include/asm/cputype.h arch/arm64/include/asm/cputype.h
> 
> Thanks,
> Namhyung
> 
> 
> Namhyung Kim (10):
>   tools headers: Update the KVM headers with the kernel sources
>   tools headers: Update the socket headers with the kernel sources
>   tools headers: Update the uapi/linux/perf_event.h copy with the kernel sources
>   tools headers: Update the VFS headers with the kernel sources
>   tools headers: Update the syscall table with the kernel sources
>   tools headers: Update the uapi/linux/prctl.h copy with the kernel sources
>   tools headers: Update the uapi/asm-generic/mman-common.h copy with the kernel sources
>   tools headers: Update the linux/unaligned.h copy with the kernel sources
>   tools headers: Update the x86 headers with the kernel sources
>   tools headers: Update the arch/x86/lib/memset_64.S copy with the kernel sources

>  32 files changed, 318 insertions(+), 109 deletions(-)

LGTM, I was eying those warnings too, glad you did this. :-)

Acked-by: Ingo Molnar <mingo@kernel.org>

	Ingo