Trong khi tôi đang thực hiện một số đọc về các cuộc gọi hệ thống, tôi đã thực hiện tìm kiếm syscalls.h
để tìm tệp tiêu đề trong LXR. Kết quả tìm kiếm đã làm tôi bối rối. Có một tá các tập tin syscalls.h
đến từ các thư mục theo số arch/_arch_name_/include/asm
. Đây là ok, họ là những định nghĩa kiến trúc cụ thể hoặc cái gì khác cần thiết. Câu hỏi đặt ra là tại sao chúng ta có hai tiêu đề khác nhau syscalls.h
trong cả hai include/linux
và include/asm-generic
?Tổ chức tiêu đề hạt nhân Linux
Ngoài ra, tôi muốn tìm hiểu xem tiêu đề include/linux
là gì và tiêu đề include/asm-generic
là gì. Làm thế nào để họ phân biệt giữa nhau? Logic đằng sau có hai thư mục tiêu đề riêng biệt là gì? Chúng liên hệ với nhau như thế nào?
Cảm ơn
Bạn có nhìn vào bên trong từng tệp này không? –
Trong /include/linux/syscalls.h, có một số khai báo cuộc gọi hệ thống. Trong /include/asm-generic/syscalls.h, tất cả các cuộc gọi hệ thống được khai báo với các định nghĩa macro kèm theo. Nhưng điều này chỉ áp dụng cho syscalls.h, tuy nhiên, tôi muốn hiểu bức tranh lớn. – dirtybit