I think that's not necessarily the case. I believe that the linux kernel will map a shared library to a single physical address space and then map the virtual addresses of all processes using that shared library to that single physical space.
On Mon, Oct 3, 2011 at 10:24 AM, sparsh mittal <[email protected]>wrote: > Hello > Here is the printout of virtual to physical mapping done in marss. > extern "C" void ptl_add_phys_memory_mapping( > int8_t cpu_index, uint64_t host_vaddr, uint64_t guest_paddr) > { > contextof(cpu_index).hvirt_gphys_map[(Waddr)host_vaddr] = > (Waddr)guest_paddr; > > ptl_logfile<<" cpu_index "<<cpu_index<< " host_vaddr "<< (Waddr) > host_vaddr << " guest_paddr "<< (Waddr)guest_paddr<<" "; > > ptl_logfile <<endl<<endl; > } > > } > > *output from ptl_logfile* > > cpu_index 0 host_vaddr 46912772587520 guest_paddr 22700032 > > ... > cpu_index 1 host_vaddr 46912772587520 guest_paddr 22700032 > > Here the virtual address of two different cores (0 and 1) are mapped to the > same physical address. Sometimes all the four cores have a virtual address > mapped to a physical address. My understanding was that the virtual > addresses may be common but physical address should be different. > > Thanks and Regards > Sparsh Mittal > > > > _______________________________________________ > http://www.marss86.org > Marss86-Devel mailing list > [email protected] > https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel > >
_______________________________________________ http://www.marss86.org Marss86-Devel mailing list [email protected] https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel
