in ARM Archietecture. __start_xen () -----> setup_pagetables() { /* Calculate virt-to-phys offset for the new location */ phys_offset = xen_paddr - (unsigned long) _start; /* Copy */ memcpy((void *) dest_va, _start, _end - _start); } thankx --------- Asad
Stefano Stabellini
2012-Dec-07 16:33 UTC
Re: Why we relocate xen location in __start_xen method?
On Fri, 7 Dec 2012, asad raza wrote:> in ARM Archietecture. > __start_xen () > > -----> setup_pagetables() > { > /* Calculate virt-to-phys offset for the new location */ > phys_offset = xen_paddr - (unsigned long) _start; > > /* Copy */ > memcpy((void *) dest_va, _start, _end - _start); > }We relocate Xen to the top of RAM (and align to a XEN_PADDR_ALIGN boundary) to free some precious low RAM and be independent from the behaviour of the bootloader. See xen/arch/arm/setup.c:get_xen_paddr.