Hey Adam,
Yes I can confirm that I was a able to trace the code from fpage_map() to map() but I see zero addresses there - i.e. When I check the receiver and sender addresses and size everything is zero. This was despite it being correct until the handle_sigma0_request() function in mem_map.cc. So I just assumed I was looking in the wrong place.
I will try to dig a little more and check.
Sent from my phone
On 15 Sep 2014, at 23:55, "Adam Lackorzynski" adam@os.inf.tu-dresden.de wrote:
Hi,
On Mon Sep 15, 2014 at 18:25:37 +0000, Masti Ramya Jayaram wrote: Thanks for the input. I will try changing one of the suggested functions.
It would be great out of curiosity if you could elucidate why the following occurs.
I see that there is a new iomem region being created and this happens only when I try to read from the mapped region - not until then. But none of this reaches the kernel or maybe I am not sure where to look..
Well, it should reach the kernel. For sigma0 mappings appear out of nothing (it's the root), so you should at least see it in the mapping loop in map_util.cpp's map() function (also see the comments on sigma0 there).
In fact, I see that the init_mem file parses the kernel memory descriptors to find the regions. So under what circumstances does sigma0 go back to the kernel for mem/io?
In this case there a fpage is created that is used in the reply to the client which will then create the mapping.
Adam
Adam adam@os.inf.tu-dresden.de Lackorzynski http://os.inf.tu-dresden.de/~adam/
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers