Re: some question about access I/O memory in Pistachio
Espen Skoglund <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.l4ka.general |
|---|---|
| Message-ID | <[email protected]> |
Status: RO > However I have another confusion that I want to get some help form > you or others. > I created two threads which requested the physical page from > sigma0(at address 0xdef40f00) respectively. As the l4-x2 manual says > "Sigma0 responds with a map reject message if the page is reserved > (i.e., kernel space) or already mapped to a different thread, or if > memory is exhausted". I thought one of these threads would get a > nilfpage. The fact were both of them got the fpage successlly. With > the same code, I change the address from 0xdef40f00 to 0x06400000, > and the test result was consitent to what the l4-x2 manual. > Is there any difference when Sigma0 handles the address region in > upper 1GB and lower 3GB address? It might be that kickstart has been compiled for "convenient mode/debug mode". If sigma0 sees that a memory region has been marked as shared then it will hand that memory out to anyone requesting it. You can check this by dumping the kip from the kernel debugger (press 'K') and look if the first physical memory descriptor marks the whole memory as shared (this will have been set up by kickstart). Later descriptors take precedence over earlier ones, so if you have more than 0x06400000 bytes of physical memory then this will be consistent with your observation. eSk