cd /usr/src/linux
make clean
make CC=clang
~/workspace/CastXML/build/bin/castxml -nostdinc -isystem /usr/lib/clang/9.0.1/include -I./arch/x86/include -I./arch/x86/include/generated -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -include ./include/linux/kconfig.h -D__KERNEL__ arch/x86/entry/syscall_32.c --castxml-output=1 -o /tmp/syscall_32.xml
It generates all information including params about 32bit syscalls for current amd64 platform. Unfortunately cross compilation of generic kernel using mips clang toolchain is almost impossible today. It is an idea for future. So today we have to parse "include/linux/syscalls.h", "include/linux/compat.h", "arch/mips/kernel/linux32.c", etc without respect to config and syntax.
It is possible to do the following:
cd /usr/src/linux CastXML/ build/bin/ castxml -nostdinc -isystem /usr/lib/ clang/9. 0.1/include -I./arch/ x86/include -I./arch/ x86/include/ generated -I./include -I./arch/ x86/include/ uapi -I./arch/ x86/include/ generated/ uapi -I./include/uapi -include ./include/ linux/kconfig. h -D__KERNEL__ arch/x86/ entry/syscall_ 32.c --castxml-output=1 -o /tmp/syscall_32.xml
make clean
make CC=clang
~/workspace/
It generates all information including params about 32bit syscalls for current amd64 platform. Unfortunately cross compilation of generic kernel using mips clang toolchain is almost impossible today. It is an idea for future. So today we have to parse "include/ linux/syscalls. h", "include/ linux/compat. h", "arch/mips/ kernel/ linux32. c", etc without respect to config and syntax.