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

Reply via email to