aboutsummaryrefslogtreecommitdiffstats
path: root/sysparser
Commit message (Collapse)AuthorAgeFilesLines
* sysgen: don't touch output file if contents has not changedDmitry Vyukov2017-05-291-3/+3
| | | | Helps with build artifact caching.
* sys: improve cmsghdr descriptionDmitry Vyukov2017-01-181-0/+2
|
* sysparser: support larger struct alignmentsDmitry Vyukov2016-11-141-10/+12
| | | | | No reason to support only 1/2/4/8. Some structs need to be page aligned.
* sys: add string flagsDmitry Vyukov2016-11-112-6/+20
| | | | | | | | | | Allow to define string flags in txt descriptions. E.g.: filesystem = "ext2", "ext3", "ext4" and then use it in string type: ptr[in, string[filesystem]]
* sysparser: check for reserved parent fieldsDmitry Vyukov2016-11-111-0/+3
|
* Report duplicate fields and argsAndrey Konovalov2016-10-101-6/+13
|
* sys: add padding to structs againDmitry Vyukov2016-09-291-2/+11
| | | | | | | | Struct padding was accidentially lost after: 852e3d2eae98a913b7ec91822ba4dc61059a6955 Restore it. Now with tests. Fixes #78
* sysparser: disallow unions with only one fieldAndrey Konovalov2016-09-191-0/+3
|
* sysgen: sort resources by name to avoid unnecessary diffsDmitry Vyukov2016-08-281-1/+2
|
* sys: specify resources in text descriptionsDmitry Vyukov2016-08-271-7/+58
| | | | | | Currently to add a new resource one needs to modify multiple source files, which complicates descirption of new system calls. Move resource descriptions from source code to text desciptions.
* overhaul syscall description generation processDmitry Vyukov2016-08-262-0/+321
This splits generation process into two phases: 1. Extract values of constants from linux kernel sources. 2. Generate Go code. Constant values are checked in. The advantage is that the second phase is now completely independent from linux source files, kernel version, presence of headers for particular drivers, etc. This allows to change what Go code we generate any time without access to all kernel headers (which in future won't be limited to only upstream headers). Constant extraction process does require proper kernel sources, but this can be done only once by the person who added the driver and has access to the required sources. Then the constant values are checked in for others to use. Consant extraction process is per-file/per-arch. That is, if I am adding a driver that is not present upstream and that works only on a single arch, I will check in constants only for that driver and for that arch.