While I was reading system calls, I searched syscalls.h to find the header file in LXR. The search results puzzled me. There are a dozen syscalls.h files coming from directories under arch/_arch_name_/include/asm . Everything is in order, these are definitions specific to architecture, or something else is necessary. The question is, why do we have two different syscalls.h headers under include/linux and include/asm-generic ?
In addition, I want to know what include/linux headers are for and what include/asm-generic headers are for. How do they distinguish each other? What is the logic of having two separate header folders? How do they relate to each other?
thanks
source share