diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-06-20 17:44:50 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-06-20 17:44:50 +0100 |
commit | 0e05d6cdd81662d44e2c6f46ea89a7060012123b (patch) | |
tree | 7e896ad8850512781aecdfc8e949ecd39989cb4c /extras/mini-os/arch/x86/mm.c | |
parent | e0dd5c3b38b04af82418279baeefd3d00f00d12a (diff) | |
download | xen-0e05d6cdd81662d44e2c6f46ea89a7060012123b.tar.gz xen-0e05d6cdd81662d44e2c6f46ea89a7060012123b.tar.bz2 xen-0e05d6cdd81662d44e2c6f46ea89a7060012123b.zip |
minios: do not systematically free the page under shared info, as the
guest booted by PV-GRUB will need it.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Diffstat (limited to 'extras/mini-os/arch/x86/mm.c')
-rw-r--r-- | extras/mini-os/arch/x86/mm.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/extras/mini-os/arch/x86/mm.c b/extras/mini-os/arch/x86/mm.c index ea8158045b..85b542437f 100644 --- a/extras/mini-os/arch/x86/mm.c +++ b/extras/mini-os/arch/x86/mm.c @@ -528,18 +528,13 @@ void *map_frames_ex(unsigned long *f, unsigned long n, unsigned long stride, static void clear_bootstrap(void) { - xen_pfn_t mfns[] = { virt_to_mfn(&shared_info) }; - int n = sizeof(mfns)/sizeof(*mfns); pte_t nullpte = { }; /* Use first page as the CoW zero page */ memset(&_text, 0, PAGE_SIZE); - mfn_zero = pfn_to_mfn((unsigned long) &_text); - if (HYPERVISOR_update_va_mapping((unsigned long) &_text, nullpte, UVMF_INVLPG)) - printk("Unable to unmap first page\n"); - - if (free_physical_pages(mfns, n) != n) - printk("Unable to free bootstrap pages\n"); + mfn_zero = virt_to_mfn((unsigned long) &_text); + if (HYPERVISOR_update_va_mapping(0, nullpte, UVMF_INVLPG)) + printk("Unable to unmap NULL page\n"); } void arch_init_p2m(unsigned long max_pfn) |