# HG changeset patch # User yamahata@xxxxxxxxxxxxx # Node ID 1c59cefee0e48990384ab183db81d82e890f59a9 # Parent 06744a4a088fe649ea735c295a8d4b6dedfbe05a remove populate_physmap hypercall which becomes unncesarry because XENMEM op is fully supported. PATCHNAME: remove_dom0vp_populate_physmap_xen Signed-off-by: Isaku Yamahata diff -r 06744a4a088f -r 1c59cefee0e4 xen/arch/ia64/xen/dom0_ops.c --- a/xen/arch/ia64/xen/dom0_ops.c Fri May 12 19:59:42 2006 +0900 +++ b/xen/arch/ia64/xen/dom0_ops.c Fri May 12 19:59:44 2006 +0900 @@ -264,10 +264,6 @@ do_dom0vp_op(unsigned long cmd, } ret = get_gpfn_from_mfn(arg0); break; - case IA64_DOM0VP_populate_physmap: - ret = dom0vp_populate_physmap(d, arg0, - (unsigned int)arg1, (unsigned int)arg2); - break; case IA64_DOM0VP_zap_physmap: ret = dom0vp_zap_physmap(d, arg0, (unsigned int)arg1); break; diff -r 06744a4a088f -r 1c59cefee0e4 xen/arch/ia64/xen/domain.c --- a/xen/arch/ia64/xen/domain.c Fri May 12 19:59:42 2006 +0900 +++ b/xen/arch/ia64/xen/domain.c Fri May 12 19:59:44 2006 +0900 @@ -982,66 +982,6 @@ unsigned long lookup_domain_mpa(struct d } #ifdef CONFIG_XEN_IA64_DOM0_VP -//XXX SMP -unsigned long -dom0vp_populate_physmap(struct domain *d, unsigned long gpfn, - unsigned int extent_order, unsigned int address_bits) -{ - unsigned long ret = 0; - int flags = 0; - unsigned long mpaddr = gpfn << PAGE_SHIFT; - unsigned long extent_size = 1UL << extent_order; - unsigned long offset; - struct page_info* page; - unsigned long physaddr; - - if (extent_order > 0 && !multipage_allocation_permitted(d)) { - ret = -EINVAL; - goto out; - } - - if (gpfn + (1 << extent_order) < gpfn) { - ret = -EINVAL; - goto out; - } - if (gpfn > d->max_pages || gpfn + (1 << extent_order) > d->max_pages) { - ret = -EINVAL; - goto out; - } - if ((extent_size << PAGE_SHIFT) < extent_size) { - ret = -EINVAL; - goto out; - } - - //XXX check address_bits and set flags = ALLOC_DOM_DMA if needed - - // check the rage is not populated yet. - //XXX loop optimization - for (offset = 0; offset < extent_size << PAGE_SHIFT; offset += PAGE_SIZE) { - if (____lookup_domain_mpa(d, mpaddr + offset) != INVALID_MFN) { - ret = -EBUSY; - goto out; - } - } - - page = alloc_domheap_pages(d, extent_order, flags); - if (page == NULL) { - ret = -ENOMEM; - DPRINTK("Could not allocate order=%d extent: id=%d flags=%x\n", - extent_order, d->domain_id, flags); - goto out; - } - - //XXX loop optimization - physaddr = page_to_maddr(page); - for (offset = 0; offset < extent_size << PAGE_SHIFT; offset += PAGE_SIZE) { - assign_domain_page(d, mpaddr + offset, physaddr + offset); - } - -out: - return ret; -} - //XXX SMP unsigned long dom0vp_zap_physmap(struct domain *d, unsigned long gpfn, diff -r 06744a4a088f -r 1c59cefee0e4 xen/include/asm-ia64/domain.h --- a/xen/include/asm-ia64/domain.h Fri May 12 19:59:42 2006 +0900 +++ b/xen/include/asm-ia64/domain.h Fri May 12 19:59:44 2006 +0900 @@ -126,7 +126,6 @@ unsigned long assign_domain_mmio_page(st unsigned long assign_domain_mmio_page(struct domain *d, unsigned long mpaddr, unsigned long size); unsigned long assign_domain_mach_page(struct domain *d, unsigned long mpaddr, unsigned long size); unsigned long do_dom0vp_op(unsigned long cmd, unsigned long arg0, unsigned long arg1, unsigned long arg2, unsigned long arg3); -unsigned long dom0vp_populate_physmap(struct domain *d, unsigned long gpfn, unsigned int extent_order, unsigned int address_bits); unsigned long dom0vp_zap_physmap(struct domain *d, unsigned long gpfn, unsigned int extent_order); unsigned long dom0vp_add_physmap(struct domain* d, unsigned long gpfn, unsigned long mfn, unsigned int flags, domid_t domid); #endif diff -r 06744a4a088f -r 1c59cefee0e4 xen/include/public/arch-ia64.h --- a/xen/include/public/arch-ia64.h Fri May 12 19:59:42 2006 +0900 +++ b/xen/include/public/arch-ia64.h Fri May 12 19:59:44 2006 +0900 @@ -349,10 +349,6 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_conte // to the corresponding // pseudo physical page frame // number of the caller domain -#define IA64_DOM0VP_populate_physmap 16 // allocate machine-contigusous - // memory region and - // map it to pseudo physical - // address #define IA64_DOM0VP_zap_physmap 17 // unmap and free pages // contained in the specified // pseudo physical region