Bug 206135

Summary: Syscall manifest: move from "tbl" format to "xml/yaml/etc" and provide more information about syscalls
Product: Other Reporter: aladjev.andrew (aladjev.andrew)
Component: OtherAssignee: other_other
Status: NEW ---    
Severity: enhancement CC: aladjev.andrew
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: any Subsystem:
Regression: No Bisected commit-id:
Attachments: clumsy generator that works

Description aladjev.andrew@gmail.com 2020-01-08 19:54:34 UTC
Created attachment 286685 [details]
clumsy generator that works

Hello. Please see the following issue from qemu: https://bugs.launchpad.net/qemu/+bug/1858461

There is a hard link between qemu linux-user project and linux kernel. Mips emulator wants to know the count of each syscalls argument. Mips tries to maintain a hardcoded list of syscall arguments count. This solution is not reliable. Human can't verify and maintain 460 syscalls information.

How to implement a good automated link between abstract application and linux kernel? Application wants to know everything about syscalls.

Linux developers maintains only ".tbl" files. I've created very bad and rude script that parses several C files and maps ".tbl" symbols to their declarations. I don't want to create a pull request with such script.

Syscalls are actually functions that kernel exports. I think that these functions should be fully described in ".xml/.yaml" files with strict schema. Are there any ready plans for syscall manifest implementation?

Thank you.