[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Mapping foreign frames from dom0


I am hacking on a Mini-OS that is able to run as domain 0 and is able to start a guest (another Mini-OS for now). I was able to get a memory allocated to the guest and am now trying to build its pagetable and after that copy the kernel to the right places. The problem is:

Given a machine frame number from a memory frame of the guest, how do I conceptionally map this into dom0's address space? I followed the code path from xc_map_foreign_range to some obscure pagetable updates in the Linux kernel, but am still unable to make heads or tails of it.

Any help is appreciated.

Foreign mappings are very similar to standard mappings (assuming that the mapping domain is privileged). HYPERVISOR_mmu_update with domid set to the foreign domain will deal with page table update.

Note that you need to find some virtual address for the mapping. This is what demand_map_area is for, have a look at map_frames() in arch/x86/mm.c for more info.

Derek Murray has an implementation of foreign mappings and the whole domain builder for that matter. I'll however not share his code. You better ask him directly when he gets back to Cambridge (at the beginning of the next week). I'm CC-ing him.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.