[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] DomU Kernel Mapping
As Mats says, the code is in tools/libxc. When you load an ELF binary (such as a Linux kernel), the function xc_dom_elfloader.c::xc_dom_load_elf_kernel() performs the mapping and loading of the kernel. The following chain of function calls maps the memory into dom0 for loading the kernel: xc_dom.h::xc_dom_seg_to_ptr() calls xc_dom_core.c::xc_dom_pfn_to_ptr() calls xc_dom_boot.c::xc_dom_boot_domU_map() callsxc_{linux,solaris}.c::xc_map_foreign_ranges() which (for the Linux case) performs an ioctl on the privcmd device, and maps the memory into dom0 user-space using the mmu_update hypercall. A call to libelf-loader.c::elf_load_binary() copies the kernel into domU. I should add that I'm currently working on moving this code to a small, trusted domain. The goal would be to remove dom0's ability to map arbitrary memory from other guests. Hope this helps. Regards, Derek Murray. On 17 Apr 2007, at 13:53, Security Initiative Team wrote: Where is the code that maps the kernel of a DomU into memory? i.e, when you do a xm create <config file> what code is called to actually map the kernel into memory? Is it a python script or is it re-directed to Dom0 to do? Thanks. -Brian Ahhh...imagining that irresistible "new car" smell? Check out new cars at Yahoo! Autos. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |