1055 struct file_operations {
......
1067 int (*mmap) (struct file *, struct vm_area_struct *);
.....
1085 };
以上 kernel source code 中file_operation 的 mmap proto type
而從user space 呼叫的 proto type
void *mmap (void *__addr, size_t __len, int __prot,
int __flags, int __fd, __off_t __offset) __THROW;
-------------------------------------------------------------
(問題一) user space 所 call 的mmap 應該是一個由glibc 中的一個function call 之後會透過 system call 再轉到 kernel sapce 去 call kernel 的mmap call 是這樣嗎
如: user space mmap -> system call-> kernel space mmap
是這樣的流程嗎
(問題二)
user space 中所傳遞過去的參數中 並沒有struct file *, struct vm_area_struct * 這兩個參數 這兩個參數是由kernel幫忙傳遞嗎
還有就是我有抓glibc 的 source code 我找不到 他查詢要呼叫哪個system call的地方 還有到kernel 的mmap時 是哪裡幫忙傳遞 file 跟 vma 這兩個參數的
感謝各位~~~