Hello Aditya, On 03/21/2014 11:11 AM, Aditya Kousik wrote: > Hello, > > I understand that R/W accesses to physical space are made through the RM > session. Is this sequence of events correct? > > 1. Create a Dataspace_capability. > 2. Allocate a dataspace as env()->ram_session->alloc(size) which returns a > dataspace_capability to the aforementioned DS. > 3. Attach the dataspace as env()->rm_session()->attach(ds) which returns a > void pointer having the virtual address pointing to the starting address of > the dataspace.
that is correct. > > So if one were to write to this virtual address, it goes through the > RM_session and eventually writes to the physical address. Well, "it goes through the RM_session" isn't described correctly. Attaching a dataspace results in: the page-fault handler of that thread will be able to resolve page-faults related to the corresponding virtual memory area. Therefore, writes to the virtual memory area will in fact write to the physical memory area - not eventually (not considering cache effects that should be transparent to the user). > My question is, > calling attach(ds) in one process and the same attach(ds) in another is > going to return different virtual addresses. Will writing to these > different (virtual) addresses give the same result? Yes, of course. > > Is there a function that can be called to print what physical address is > mapped to where? The dataspace session interface allows to request the physical address of the dataspace. Assuming you've a capability called "cap" referencing the dataspace in question, you can do the following: Dataspace_client ds_cli(cap); PINF("phys address of dataspace %p", (void*) ds_cli.phys_addr()); > And can the contents of Dataspace_capability be printed in > a readable form? I assume you mean the contents of the dataspace, and not of the dataspace capability, it's important to not confuse them. The contents of a dataspace can only be printed by attaching it, and then e.g. printing it byte-wise. Regards Stefan > > Thanks and regards > Aditya > > > > ------------------------------------------------------------------------------ > Learn Graph Databases - Download FREE O'Reilly Book > "Graph Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, > this first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > > > > _______________________________________________ > Genode-main mailing list > Genode-main@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/genode-main > -- Stefan Kalkowski Genode Labs http://www.genode-labs.com/ ยท http://genode.org/ ------------------------------------------------------------------------------ _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main