From: Chris L. <sa...@sk...> - 2000-06-14 00:52:35
|
Hi there... I'm wondering how the get_user/put_user macros work in UM linux... Does the kernel share memory space with each of the "linux processes"? Here is my understanding of how this works: Each virtual linux process is actually a real linux cloned process that runs under the host linux environment. When something interesting happens (trap, fault, syscall, signal, etc...) the virtual linux kernel takes over and fixes stuff. Given this, it seems like UM Linux isn't using ptrace to actually do memory reads and writes to the user process... so what could the memory map of the mondo linux process look like? Are all linux processes sharing a 3G process space of the UM-Linux kernel? I'm trying to change this a bit to be more seperated and use ptrace to do reads and writes... but it seems that the "get_user" macro (f.e.) is allowed to read from either user or kernel space... and the address determines what we are looking at. The problem, however, is that the "UM User" processes and "UM Kernel" processes can have data mapped into the same addresses... thus there seems to be no easy way to ge tthis to work? -Chris |