Moved get_pg_owner() and put_pg_owner() from the arch specific mm.c source files into the common page_alloc.c source. This was done as theses functions are now needed by both architectures to support xentrace on the ARM platform. Forward declarations were added to mm.h.
Signed-off-by: Benjamin Sanda <ben.sa...@dornerworks.com> --- xen/arch/x86/mm.c | 48 ------------------------------------------------ 1 file changed, 48 deletions(-) diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c index c997b53..0d695dd 100644 --- a/xen/arch/x86/mm.c +++ b/xen/arch/x86/mm.c @@ -2998,54 +2998,6 @@ int new_guest_cr3(unsigned long mfn) return rc; } -static struct domain *get_pg_owner(domid_t domid) -{ - struct domain *pg_owner = NULL, *curr = current->domain; - - if ( likely(domid == DOMID_SELF) ) - { - pg_owner = rcu_lock_current_domain(); - goto out; - } - - if ( unlikely(domid == curr->domain_id) ) - { - MEM_LOG("Cannot specify itself as foreign domain"); - goto out; - } - - if ( !is_pvh_domain(curr) && unlikely(paging_mode_translate(curr)) ) - { - MEM_LOG("Cannot mix foreign mappings with translated domains"); - goto out; - } - - switch ( domid ) - { - case DOMID_IO: - pg_owner = rcu_lock_domain(dom_io); - break; - case DOMID_XEN: - pg_owner = rcu_lock_domain(dom_xen); - break; - default: - if ( (pg_owner = rcu_lock_domain_by_id(domid)) == NULL ) - { - MEM_LOG("Unknown domain '%u'", domid); - break; - } - break; - } - - out: - return pg_owner; -} - -static void put_pg_owner(struct domain *pg_owner) -{ - rcu_unlock_domain(pg_owner); -} - static inline int vcpumask_to_pcpumask( struct domain *d, XEN_GUEST_HANDLE_PARAM(const_void) bmap, cpumask_t *pmask) { -- 2.5.0 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel