[lib][uthread] Clean up unused code

Change-Id: I43933c6d37fcb1ee2cbaff68576462c1b8a99f51
diff --git a/lib/uthread/include/uthread.h b/lib/uthread/include/uthread.h
index beae0fc..2498070 100644
--- a/lib/uthread/include/uthread.h
+++ b/lib/uthread/include/uthread.h
@@ -92,18 +92,4 @@
 {
 	return (uthread_t *)tls_get(TLS_ENTRY_UTHREAD);
 }
-
-#if UTHREAD_WITH_MEMORY_MAPPING_SUPPORT
-/* Translate virtual address to physical address */
-status_t uthread_virt_to_phys(uthread_t *ut, vaddr_t vaddr, paddr_t *paddr);
-
-/* Grant pages from current context into target uthread */
-status_t uthread_grant_pages(uthread_t *ut_target, ext_vaddr_t vaddr_src,
-		size_t size, u_int flags, vaddr_t *vaddr_target, bool ns_src,
-		uint64_t *ns_page_list);
-
-/* Revoke mappings from a previous grant */
-status_t uthread_revoke_pages(uthread_t *ut, vaddr_t vaddr, size_t size);
-#endif
-
 #endif /* __UTHREAD_H */
diff --git a/lib/uthread/uthread.c b/lib/uthread/uthread.c
index 162a943..441c07c 100644
--- a/lib/uthread/uthread.c
+++ b/lib/uthread/uthread.c
@@ -32,14 +32,6 @@
 
 #include <kernel/mutex.h>
 
-#if UTHREAD_WITH_MEMORY_MAPPING_SUPPORT
-#include <lib/sm.h>
-
-#ifndef USER_PAGE_SIZE
-#define USER_PAGE_SIZE PAGE_SIZE
-#endif
-#endif
-
 #define LOCAL_TRACE 0
 
 static int uthread_startup(void *arg)
@@ -155,175 +147,3 @@
 	}
 	return true;
 }
-
-#if UTHREAD_WITH_MEMORY_MAPPING_SUPPORT
-
-static status_t uthread_translate_ns_pte(paddr_t *pfn_list, uint32_t npages,
-                                         uint *arch_mmu_flags,
-                                         uint64_t *ns_pte_list)
-{
-	u_int pg;
-	status_t err = ERR_NOT_VALID;
-	uint first_arch_mmu_flags = ~0;
-
-	for (pg = 0; pg < npages; pg++) {
-		ns_addr_t paddr;
-		uint page_arch_mmu_flags;
-		struct ns_page_info ns_page_info = { .attr = ns_pte_list[pg] };
-
-		err = sm_decode_ns_memory_attr(&ns_page_info, &paddr,
-		                               &page_arch_mmu_flags);
-		if (err) {
-			TRACEF("sm_decode_ns_memory_attr 0x%llx failed: %d\n",
-			       ns_page_info.attr, err);
-			return err;
-		}
-		LTRACEF("ns_pte_list[%d] 0x%llx -> paddr 0x%llx, attr 0x%x\n",
-		        pg, ns_page_info.attr, paddr, page_arch_mmu_flags);
-		if (pg == 0) {
-			first_arch_mmu_flags = page_arch_mmu_flags;
-		} else if (first_arch_mmu_flags != page_arch_mmu_flags) {
-			TRACEF("arch_mmu_flags for 0x%llx, 0x%x does not match first page, 0x%x\n",
-			       ns_page_info.attr, page_arch_mmu_flags, first_arch_mmu_flags);
-			return ERR_INVALID_ARGS;
-		}
-		pfn_list[pg] = paddr;
-	}
-	*arch_mmu_flags = first_arch_mmu_flags;
-	return 0;
-}
-
-static status_t uthread_get_page_list(paddr_t *pages, uint npages,
-                                      uint *arch_mmu_flags_p,
-                                      vmm_aspace_t *aspace, vaddr_t src)
-{
-	status_t err;
-	uint i;
-	uint arch_mmu_flags;
-	uint arch_mmu_flags_prev;
-
-	for (i = 0; i < npages; i++, src += USER_PAGE_SIZE) {
-		err = arch_mmu_query(&aspace->arch_aspace, src,
-		                     &pages[i], &arch_mmu_flags);
-		if (err) {
-			TRACEF("arch_mmu_query failed for 0x%lx\n", src);
-			return err;
-		}
-		if (i && arch_mmu_flags != arch_mmu_flags_prev) {
-			TRACEF("arch_mmu_flags for 0x%lx, 0x%x does not match prev page, 0x%x\n",
-			       src, arch_mmu_flags, arch_mmu_flags_prev);
-			return ERR_INVALID_ARGS;
-		}
-		arch_mmu_flags_prev = arch_mmu_flags;
-	}
-	*arch_mmu_flags_p = arch_mmu_flags;
-	return 0;
-}
-
-status_t uthread_grant_pages(uthread_t *ut_target, ext_vaddr_t vaddr_src,
-		size_t size, u_int flags, vaddr_t *vaddr_target, bool ns_src,
-		uint64_t *ns_page_list)
-{
-	u_int npages;
-	paddr_t *pfn_list;
-	status_t err;
-	u_int offset;
-	uint arch_mmu_flags;
-	uint arch_mmu_flags_src;
-
-	if (size == 0) {
-		*vaddr_target = 0;
-		return 0;
-	}
-
-	offset = vaddr_src & (PAGE_SIZE -1);
-	vaddr_src = ROUNDDOWN(vaddr_src, PAGE_SIZE);
-	size = ROUNDUP((size + offset), PAGE_SIZE);
-	npages = size / PAGE_SIZE;
-
-	pfn_list = malloc(npages * sizeof(paddr_t));
-	if (!pfn_list) {
-		return ERR_NO_MEMORY;
-	}
-
-	arch_mmu_flags = ARCH_MMU_FLAG_PERM_USER | ARCH_MMU_FLAG_PERM_NO_EXECUTE;
-	if (!(flags & UTM_W)) {
-		arch_mmu_flags |= ARCH_MMU_FLAG_PERM_RO;
-	}
-
-	uthread_t *ut_src = ns_src ? NULL : uthread_get_current();
-
-	if (ns_src) {
-		if (!ns_page_list) {
-			err = ERR_INVALID_ARGS;
-			goto err_out;
-		}
-
-		err = uthread_translate_ns_pte(pfn_list, npages,
-		                               &arch_mmu_flags_src,
-		                               ns_page_list);
-		if (err) {
-			goto err_out;
-		}
-		assert(arch_mmu_flags_src & ARCH_MMU_FLAG_NS);
-	} else {
-		/* ns_page_list should only be passes for NS src -> secure target
-		 * mappings
-		 */
-		ASSERT(!ns_page_list);
-
-		/* Only a vaddr_t sized vaddr_src is supported
-		 * for secure src -> secure target mappings.
-		 */
-		ASSERT(vaddr_src == (vaddr_t)vaddr_src);
-
-		err = uthread_get_page_list(pfn_list, npages, &arch_mmu_flags_src,
-		                            ut_src->aspace, vaddr_src);
-		if (err) {
-			goto err_out;
-		}
-	}
-	if ((arch_mmu_flags_src & ARCH_MMU_FLAG_PERM_RO) &&
-	    !(arch_mmu_flags & ARCH_MMU_FLAG_PERM_RO)) {
-		TRACEF("Making a writable mapping to read-only page\n");
-		err = ERR_INVALID_ARGS;
-		goto err_out;
-	}
-	if (arch_mmu_flags_src & ARCH_MMU_FLAG_NS) {
-		arch_mmu_flags |= ARCH_MMU_FLAG_NS;
-	}
-	arch_mmu_flags |= arch_mmu_flags_src & ARCH_MMU_FLAG_CACHE_MASK;
-
-
-	err = vmm_alloc_physical_etc(ut_target->aspace, "copy", size,
-	                             (void **)vaddr_target,
-	                             PAGE_SIZE_SHIFT, pfn_list, npages,
-	                             0, arch_mmu_flags);
-
-	LTRACEF("va 0x%lx, pa 0x%lx..., size %zd, arch_mmu_flags 0x%x, err %d\n",
-	        *vaddr_target, pfn_list[0], size, arch_mmu_flags, err);
-
-	/* Add back the offset after translation and mapping */
-	*vaddr_target += offset;
-
-err_free_pfn_list:
-err_out:
-	free(pfn_list);
-	return err;
-}
-
-status_t uthread_revoke_pages(uthread_t *ut, vaddr_t vaddr, size_t size)
-{
-	u_int offset = vaddr & (PAGE_SIZE - 1);
-
-	if (size == 0)
-		return 0;
-
-	vaddr = ROUNDDOWN(vaddr, PAGE_SIZE);
-	size  = ROUNDUP(size + offset, PAGE_SIZE);
-
-	LTRACEF("va %lx, size %zd\n", vaddr, size);
-
-	return vmm_free_region_etc(ut->aspace, vaddr, size, 0);
-}
-#endif