From: Paul Durrant Date: Fri, 24 Jan 2020 15:31:03 +0000 (+0000) Subject: xen/mm: remove donate_page() X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~810 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f190e634daba1a40570700b3e7697d497874c66f;p=xen.git xen/mm: remove donate_page() This function was only ever used by TMEM, so had its sole caller dropped by c/s c492e19fdd "xen: remove tmem from hypervisor". Signed-off-by: Paul Durrant Acked-by: George Dunlap Acked-by: Julien Grall --- diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c index 4d6c971f37..727107eefa 100644 --- a/xen/arch/arm/mm.c +++ b/xen/arch/arm/mm.c @@ -1353,12 +1353,6 @@ void arch_dump_shared_mem_info(void) { } -int donate_page(struct domain *d, struct page_info *page, unsigned int memflags) -{ - ASSERT_UNREACHABLE(); - return -ENOSYS; -} - int steal_page( struct domain *d, struct page_info *page, unsigned int memflags) { diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index 654190e9e9..f50c065af3 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -4184,47 +4184,6 @@ long do_mmu_update( } #endif /* CONFIG_PV */ -int donate_page( - struct domain *d, struct page_info *page, unsigned int memflags) -{ - const struct domain *owner = dom_xen; - - spin_lock(&d->page_alloc_lock); - - if ( is_xen_heap_page(page) || ((owner = page_get_owner(page)) != NULL) ) - goto fail; - - if ( d->is_dying ) - goto fail; - - if ( page->count_info & ~(PGC_allocated | 1) ) - goto fail; - - if ( !(memflags & MEMF_no_refcount) ) - { - if ( d->tot_pages >= d->max_pages ) - goto fail; - if ( unlikely(domain_adjust_tot_pages(d, 1) == 1) ) - get_knownalive_domain(d); - } - - page->count_info = PGC_allocated | 1; - page_set_owner(page, d); - page_list_add_tail(page,&d->page_list); - - spin_unlock(&d->page_alloc_lock); - return 0; - - fail: - spin_unlock(&d->page_alloc_lock); - gdprintk(XENLOG_WARNING, "Bad donate mfn %" PRI_mfn - " to d%d (owner d%d) caf=%08lx taf=%" PRtype_info "\n", - mfn_x(page_to_mfn(page)), d->domain_id, - owner ? owner->domain_id : DOMID_INVALID, - page->count_info, page->u.inuse.type_info); - return -EINVAL; -} - /* * Steal page will attempt to remove `page` from domain `d`. Upon * return, `page` will be in a state similar to the state of a page diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h index 8d0ddfb60c..d0d095d9c7 100644 --- a/xen/include/xen/mm.h +++ b/xen/include/xen/mm.h @@ -599,8 +599,6 @@ int xenmem_add_to_physmap(struct domain *d, struct xen_add_to_physmap *xatp, int __must_check guest_remove_page(struct domain *d, unsigned long gmfn); int __must_check steal_page(struct domain *d, struct page_info *page, unsigned int memflags); -int __must_check donate_page(struct domain *d, struct page_info *page, - unsigned int memflags); #define RAM_TYPE_CONVENTIONAL 0x00000001 #define RAM_TYPE_RESERVED 0x00000002