# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1231931701 0
# Node ID 2737293c761ef32092671b9c320ade3c8ec35b68
# Parent 3fb43f23f64ccc1687d1dc348a9eb454397d4887
Remove unused XENMEM_translate_pfn_list.
Never used by a guest OS (except in IA64 hcall translation layer) and
obsoleted in the tools for ages. Recent usage by qemu-dm is now
removed.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
xen/arch/ia64/tools/p2m_foreign/Makefile | 47 -----
xen/arch/ia64/tools/p2m_foreign/p2m_foreign.c | 233 --------------------------
tools/libxc/xc_domain.c | 27 ---
tools/libxc/xenctrl.h | 6
xen/common/compat/memory.c | 69 -------
xen/common/memory.c | 79 --------
xen/include/public/memory.h | 25 --
xen/include/xlat.lst | 1
xen/include/xsm/xsm.h | 6
xen/xsm/dummy.c | 6
xen/xsm/flask/hooks.c | 15 -
11 files changed, 3 insertions(+), 511 deletions(-)
diff -r 3fb43f23f64c -r 2737293c761e tools/libxc/xc_domain.c
--- a/tools/libxc/xc_domain.c Wed Jan 14 10:56:18 2009 +0000
+++ b/tools/libxc/xc_domain.c Wed Jan 14 11:15:01 2009 +0000
@@ -531,33 +531,6 @@ int xc_domain_memory_populate_physmap(in
DPRINTF("Failed allocation for dom %d: %ld extents of order %d\n",
domid, nr_extents, extent_order);
errno = EBUSY;
- err = -1;
- }
-
- return err;
-}
-
-int xc_domain_memory_translate_gpfn_list(int xc_handle,
- uint32_t domid,
- unsigned long nr_gpfns,
- xen_pfn_t *gpfn_list,
- xen_pfn_t *mfn_list)
-{
- int err;
- struct xen_translate_gpfn_list translate_gpfn_list = {
- .domid = domid,
- .nr_gpfns = nr_gpfns,
- };
- set_xen_guest_handle(translate_gpfn_list.gpfn_list, gpfn_list);
- set_xen_guest_handle(translate_gpfn_list.mfn_list, mfn_list);
-
- err = xc_memory_op(xc_handle, XENMEM_translate_gpfn_list,
&translate_gpfn_list);
-
- if ( err != 0 )
- {
- DPRINTF("Failed translation for dom %d (%ld PFNs)\n",
- domid, nr_gpfns);
- errno = -err;
err = -1;
}
diff -r 3fb43f23f64c -r 2737293c761e tools/libxc/xenctrl.h
--- a/tools/libxc/xenctrl.h Wed Jan 14 10:56:18 2009 +0000
+++ b/tools/libxc/xenctrl.h Wed Jan 14 11:15:01 2009 +0000
@@ -628,12 +628,6 @@ int xc_domain_memory_populate_physmap(in
unsigned int mem_flags,
xen_pfn_t *extent_start);
-int xc_domain_memory_translate_gpfn_list(int xc_handle,
- uint32_t domid,
- unsigned long nr_gpfns,
- xen_pfn_t *gpfn_list,
- xen_pfn_t *mfn_list);
-
int xc_domain_memory_set_pod_target(int xc_handle,
uint32_t domid,
uint64_t target_pages,
diff -r 3fb43f23f64c -r 2737293c761e xen/arch/ia64/tools/p2m_foreign/Makefile
--- a/xen/arch/ia64/tools/p2m_foreign/Makefile Wed Jan 14 10:56:18 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-#
-# xen/arch/ia64/tools/p2m_foreign
-#
-# Copyright (c) 2006 Isaku Yamahata <yamahata at valinux co jp>
-# VA Linux Systems Japan K.K.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-XEN_ROOT = ../../../../..
-include $(XEN_ROOT)/tools/Rules.mk
-
-CFLAGS += -Werror -ggdb3
-CFLAGS += -I$(XEN_LIBXC) -I$(XEN_XENSTORE)
-
-PROGRAMS = p2m_foreign
-LDLIBS = -L$(XEN_LIBXC) -L$(XEN_XENSTORE) -lxenguest -lxenctrl
-
-.PHONY: all
-all: build
-
-.PHONY: build
-build: $(PROGRAMS)
-
-$(PROGRAMS): %: %.o
- $(CC) $(CFLAGS) $^ $(LDLIBS) -o $@
-
-
-.PHONY: install
-install:
-
-.PHONY: clean
-clean:
- $(RM) *.o $(PROGRAMS)
- $(RM) $(DEPS)
-
--include $(DEPS)
diff -r 3fb43f23f64c -r 2737293c761e
xen/arch/ia64/tools/p2m_foreign/p2m_foreign.c
--- a/xen/arch/ia64/tools/p2m_foreign/p2m_foreign.c Wed Jan 14 10:56:18
2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-/*
- * Foreign p2m exposure test.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * Copyright (c) 2007 Isaku Yamahata <yamahata at valinux co jp>
- * VA Linux Systems Japan K.K.
- *
- */
-
-#include <sys/mman.h>
-#include <err.h>
-#include <errno.h>
-#include <assert.h>
-
-#include <xc_private.h>
-#include <xenctrl.h>
-#include <xenguest.h>
-#include <xc_efi.h>
-#include <ia64/xc_ia64.h>
-
-#if 1
-# define printd(fmt, args...) printf(fmt, ##args)
-#else
-# define printd(fmt, args...) ((void)0)
-#endif
-
-/* xc_memory_op() in xc_private.c doesn't support translate_gpfn_list */
-static int
-__xc_memory_op(int xc_handle, int cmd, void *arg)
-{
- DECLARE_HYPERCALL;
- struct xen_translate_gpfn_list* translate = arg;
-
- xen_ulong_t* gpfns;
- xen_ulong_t* mfns;
- size_t len;
-
- long ret = -EINVAL;
-
- hypercall.op = __HYPERVISOR_memory_op;
- hypercall.arg[0] = (unsigned long)cmd;
- hypercall.arg[1] = (unsigned long)arg;
-
- assert(cmd == XENMEM_translate_gpfn_list);
-
- get_xen_guest_handle(gpfns, translate->gpfn_list);
- get_xen_guest_handle(mfns, translate->mfn_list);
- len = sizeof(gpfns[0]) * translate->nr_gpfns;
- if (lock_pages(translate, sizeof(*translate)) ||
- lock_pages(gpfns, len) ||
- lock_pages(mfns, len))
- goto out;
-
- ret = do_xen_hypercall(xc_handle, &hypercall);
-
-out:
- unlock_pages(mfns, len);
- unlock_pages(gpfns, len);
- unlock_pages(translate, sizeof(*translate));
-
- return ret;
-}
-
-int
-xc_translate_gpfn_list(int xc_handle, uint32_t domid, xen_ulong_t nr_gpfns,
- xen_ulong_t* gpfns, xen_ulong_t* mfns)
-{
- struct xen_translate_gpfn_list translate = {
- .domid = domid,
- .nr_gpfns = nr_gpfns,
- };
- set_xen_guest_handle(translate.gpfn_list, gpfns);
- set_xen_guest_handle(translate.mfn_list, mfns);
-
- return __xc_memory_op(xc_handle,
- XENMEM_translate_gpfn_list, &translate);
-}
-
-int
-main(int argc, char** argv)
-{
- uint32_t domid;
- int xc_handle;
-
- xc_dominfo_t info;
- shared_info_t* shinfo;
-
- unsigned long map_size;
- xen_ia64_memmap_info_t* memmap_info;
- struct xen_ia64_p2m_table p2m_table;
-
- char* p;
- char* start;
- char* end;
- xen_ulong_t nr_gpfns;
-
- xen_ulong_t* gpfns;
- xen_ulong_t* mfns;
-
- unsigned long i;
-
- if (argc != 2)
- errx(EXIT_FAILURE, "usage: %s <domid>", argv[0]);
- domid = atol(argv[1]);
-
- printd("xc_interface_open()\n");
- xc_handle = xc_interface_open();
- if (xc_handle < 0)
- errx(EXIT_FAILURE, "can't open control interface");
-
- printd("xc_domain_getinfo\n");
- if (xc_domain_getinfo(xc_handle, domid, 1, &info) != 1)
- errx(EXIT_FAILURE, "Could not get info for domain");
-
-
- printd("shared info\n");
- shinfo = xc_map_foreign_range(xc_handle, domid, PAGE_SIZE,
- PROT_READ, info.shared_info_frame);
- if (shinfo == NULL)
- errx(EXIT_FAILURE, "can't map shared info");
-
- printd("memmap_info\n");
- map_size = PAGE_SIZE * shinfo->arch.memmap_info_num_pages;
- memmap_info = xc_map_foreign_range(xc_handle, info.domid,
- map_size, PROT_READ,
- shinfo->arch.memmap_info_pfn);
- if (memmap_info == NULL)
- errx(EXIT_FAILURE, "can't map memmap_info");
-
-#if 1
- start = (char*)&memmap_info->memdesc;
- end = start + memmap_info->efi_memmap_size;
- i = 0;
- for (p = start; p < end; p += memmap_info->efi_memdesc_size) {
- efi_memory_desc_t* md = (efi_memory_desc_t*)p;
- printd("%ld [0x%lx, 0x%lx) 0x%lx pages\n",
- i, md->phys_addr,
- md->phys_addr + (md->num_pages << EFI_PAGE_SHIFT),
- md->num_pages >> (PAGE_SHIFT - EFI_PAGE_SHIFT));
- i++;
- }
-#endif
-
-
- printd("p2m map\n");
- if (xc_ia64_p2m_map(&p2m_table, xc_handle, domid, memmap_info, 0) < 0)
- errx(EXIT_FAILURE, "can't map foreign p2m table");
- printd("p2m map done\n");
-
- start = (char*)&memmap_info->memdesc;
- end = start + memmap_info->efi_memmap_size;
- nr_gpfns = 0;
- i = 0;
- for (p = start; p < end; p += memmap_info->efi_memdesc_size) {
- efi_memory_desc_t* md = (efi_memory_desc_t*)p;
- if ( md->type != EFI_CONVENTIONAL_MEMORY ||
- md->attribute != EFI_MEMORY_WB ||
- md->num_pages == 0 )
- continue;
-
- printd("%ld [0x%lx, 0x%lx) 0x%lx pages\n",
- i, md->phys_addr,
- md->phys_addr + (md->num_pages << EFI_PAGE_SHIFT),
- md->num_pages >> (PAGE_SHIFT - EFI_PAGE_SHIFT));
- nr_gpfns += md->num_pages >> (PAGE_SHIFT - EFI_PAGE_SHIFT);
- i++;
- }
-
- printd("total 0x%lx gpfns\n", nr_gpfns);
- gpfns = malloc(sizeof(gpfns[0]) * nr_gpfns);
- mfns = malloc(sizeof(mfns[0]) * nr_gpfns);
- if (gpfns == NULL || mfns == NULL)
- err(EXIT_FAILURE, "can't allocate memory for gpfns/mfns");
-
- i = 0;
- for (p = start; p < end; p += memmap_info->efi_memdesc_size) {
- efi_memory_desc_t* md = (efi_memory_desc_t*)p;
- unsigned long j;
- if ( md->type != EFI_CONVENTIONAL_MEMORY ||
- md->attribute != EFI_MEMORY_WB ||
- md->num_pages == 0 )
- continue;
-
- for (j = 0;
- j < md->num_pages >> (PAGE_SHIFT - EFI_PAGE_SHIFT);
- j++) {
- gpfns[i] = (md->phys_addr >> PAGE_SHIFT) + j;
- i++;
- }
- }
- for (i = 0; i < nr_gpfns; i++)
- mfns[i] = INVALID_MFN;
-
- printd("issue translate gpfn list hypercall. "
- "this may take a while\n");
- if (xc_translate_gpfn_list(xc_handle,
- domid, nr_gpfns, gpfns, mfns) < 0)
- err(EXIT_FAILURE, "translate gpfn list hypercall failure");
- printd("translate gpfn list hypercall done\n");
-
- printd("checking p2m table\n");
- for (i = 0; i < nr_gpfns; i++) {
- unsigned long mfn_by_translated = mfns[i];
- unsigned long mfn_by_p2m =
- xc_ia64_p2m_mfn(&p2m_table, gpfns[i]);
- if (mfn_by_translated != mfn_by_p2m &&
- !(mfn_by_translated == 0 && mfn_by_p2m == INVALID_MFN)) {
- printf("ERROR! i 0x%lx gpfn "
- "0x%lx trnslated 0x%lx p2m 0x%lx\n",
- i, gpfns[i], mfn_by_translated, mfn_by_p2m);
- }
- }
- printd("checking p2m table done\n");
-
- xc_ia64_p2m_unmap(&p2m_table);
- munmap(memmap_info, map_size);
- munmap(shinfo, PAGE_SIZE);
-
- return EXIT_SUCCESS;
-}
diff -r 3fb43f23f64c -r 2737293c761e xen/common/compat/memory.c
--- a/xen/common/compat/memory.c Wed Jan 14 10:56:18 2009 +0000
+++ b/xen/common/compat/memory.c Wed Jan 14 11:15:01 2009 +0000
@@ -19,12 +19,10 @@ int compat_memory_op(unsigned int cmd, X
XEN_GUEST_HANDLE(void) hnd;
struct xen_memory_reservation *rsrv;
struct xen_memory_exchange *xchg;
- struct xen_translate_gpfn_list *xlat;
} nat;
union {
struct compat_memory_reservation rsrv;
struct compat_memory_exchange xchg;
- struct compat_translate_gpfn_list xlat;
} cmp;
set_xen_guest_handle(nat.hnd, (void *)COMPAT_ARG_XLAT_VIRT_BASE);
@@ -180,52 +178,6 @@ int compat_memory_op(unsigned int cmd, X
}
case XENMEM_maximum_ram_page:
nat.hnd = compat;
- break;
-
- case XENMEM_translate_gpfn_list:
- if ( copy_from_guest(&cmp.xlat, compat, 1) )
- return -EFAULT;
-
- /* Is size too large for us to encode a continuation? */
- if ( cmp.xlat.nr_gpfns > (UINT_MAX >> MEMOP_EXTENT_SHIFT) )
- return -EINVAL;
-
- if ( !compat_handle_okay(cmp.xlat.gpfn_list, cmp.xlat.nr_gpfns) ||
- !compat_handle_okay(cmp.xlat.mfn_list, cmp.xlat.nr_gpfns) )
- return -EFAULT;
-
- end_extent = start_extent + (COMPAT_ARG_XLAT_SIZE -
sizeof(*nat.xlat)) /
- sizeof(*space);
- if ( end_extent > cmp.xlat.nr_gpfns )
- end_extent = cmp.xlat.nr_gpfns;
-
- space = (xen_pfn_t *)(nat.xlat + 1);
- /* Code below depends upon .gpfn_list preceding .mfn_list. */
- BUILD_BUG_ON(offsetof(xen_translate_gpfn_list_t, gpfn_list) >
offsetof(xen_translate_gpfn_list_t, mfn_list));
-#define XLAT_translate_gpfn_list_HNDL_gpfn_list(_d_, _s_) \
- do \
- { \
- set_xen_guest_handle((_d_)->gpfn_list, space - start_extent); \
- for ( i = start_extent; i < end_extent; ++i ) \
- { \
- compat_pfn_t pfn; \
- if ( __copy_from_compat_offset(&pfn, (_s_)->gpfn_list, i,
1) ) \
- return -EFAULT; \
- *space++ = pfn; \
- } \
- } while (0)
-#define XLAT_translate_gpfn_list_HNDL_mfn_list(_d_, _s_) \
- (_d_)->mfn_list = (_d_)->gpfn_list
- XLAT_translate_gpfn_list(nat.xlat, &cmp.xlat);
-#undef XLAT_translate_gpfn_list_HNDL_mfn_list
-#undef XLAT_translate_gpfn_list_HNDL_gpfn_list
-
- if ( end_extent < cmp.xlat.nr_gpfns )
- {
- nat.xlat->nr_gpfns = end_extent;
- ++split;
- }
-
break;
default:
@@ -335,27 +287,6 @@ int compat_memory_op(unsigned int cmd, X
case XENMEM_maximum_gpfn:
break;
- case XENMEM_translate_gpfn_list:
- if ( split < 0 )
- end_extent = cmd >> MEMOP_EXTENT_SHIFT;
- else
- BUG_ON(rc);
-
- for ( ; start_extent < end_extent; ++start_extent )
- {
- compat_pfn_t pfn = nat.xlat->mfn_list.p[start_extent];
-
- BUG_ON(pfn != nat.xlat->mfn_list.p[start_extent]);
- if ( __copy_to_compat_offset(cmp.xlat.mfn_list, start_extent,
&pfn, 1) )
- {
- if ( split < 0 )
- /* Cannot cancel the continuation... */
- domain_crash(current->domain);
- return -EFAULT;
- }
- }
- break;
-
default:
domain_crash(current->domain);
split = 0;
diff -r 3fb43f23f64c -r 2737293c761e xen/common/memory.c
--- a/xen/common/memory.c Wed Jan 14 10:56:18 2009 +0000
+++ b/xen/common/memory.c Wed Jan 14 11:15:01 2009 +0000
@@ -215,72 +215,6 @@ static void decrease_reservation(struct
a->nr_done = i;
}
-static long translate_gpfn_list(
- XEN_GUEST_HANDLE(xen_translate_gpfn_list_t) uop, unsigned long *progress)
-{
- struct xen_translate_gpfn_list op;
- unsigned long i;
- xen_pfn_t gpfn;
- xen_pfn_t mfn;
- struct domain *d;
- int rc;
-
- if ( copy_from_guest(&op, uop, 1) )
- return -EFAULT;
-
- /* Is size too large for us to encode a continuation? */
- if ( op.nr_gpfns > (ULONG_MAX >> MEMOP_EXTENT_SHIFT) )
- return -EINVAL;
-
- if ( !guest_handle_subrange_okay(op.gpfn_list, *progress, op.nr_gpfns-1) ||
- !guest_handle_subrange_okay(op.mfn_list, *progress, op.nr_gpfns-1) )
- return -EFAULT;
-
- rc = rcu_lock_target_domain_by_id(op.domid, &d);
- if ( rc )
- return rc;
-
- if ( !paging_mode_translate(d) )
- {
- rcu_unlock_domain(d);
- return -EINVAL;
- }
-
- for ( i = *progress; i < op.nr_gpfns; i++ )
- {
- if ( hypercall_preempt_check() )
- {
- rcu_unlock_domain(d);
- *progress = i;
- return -EAGAIN;
- }
-
- if ( unlikely(__copy_from_guest_offset(&gpfn, op.gpfn_list, i, 1)) )
- {
- rcu_unlock_domain(d);
- return -EFAULT;
- }
-
- mfn = gmfn_to_mfn(d, gpfn);
-
- rc = xsm_translate_gpfn_list(current->domain, mfn);
- if ( rc )
- {
- rcu_unlock_domain(d);
- return rc;
- }
-
- if ( unlikely(__copy_to_guest_offset(op.mfn_list, i, &mfn, 1)) )
- {
- rcu_unlock_domain(d);
- return -EFAULT;
- }
- }
-
- rcu_unlock_domain(d);
- return 0;
-}
-
static long memory_exchange(XEN_GUEST_HANDLE(xen_memory_exchange_t) arg)
{
struct xen_memory_exchange exch;
@@ -494,7 +428,7 @@ long do_memory_op(unsigned long cmd, XEN
struct domain *d;
int rc, op;
unsigned int address_bits;
- unsigned long start_extent, progress;
+ unsigned long start_extent;
struct xen_memory_reservation reservation;
struct memop_args args;
domid_t domid;
@@ -628,17 +562,6 @@ long do_memory_op(unsigned long cmd, XEN
rcu_unlock_domain(d);
- break;
-
- case XENMEM_translate_gpfn_list:
- progress = cmd >> MEMOP_EXTENT_SHIFT;
- rc = translate_gpfn_list(
- guest_handle_cast(arg, xen_translate_gpfn_list_t),
- &progress);
- if ( rc == -EAGAIN )
- return hypercall_create_continuation(
- __HYPERVISOR_memory_op, "lh",
- op | (progress << MEMOP_EXTENT_SHIFT), arg);
break;
default:
diff -r 3fb43f23f64c -r 2737293c761e xen/include/public/memory.h
--- a/xen/include/public/memory.h Wed Jan 14 10:56:18 2009 +0000
+++ b/xen/include/public/memory.h Wed Jan 14 11:15:01 2009 +0000
@@ -235,29 +235,8 @@ typedef struct xen_remove_from_physmap x
typedef struct xen_remove_from_physmap xen_remove_from_physmap_t;
DEFINE_XEN_GUEST_HANDLE(xen_remove_from_physmap_t);
-/*
- * Translates a list of domain-specific GPFNs into MFNs. Returns a -ve error
- * code on failure. This call only works for auto-translated guests.
- */
-#define XENMEM_translate_gpfn_list 8
-struct xen_translate_gpfn_list {
- /* Which domain to translate for? */
- domid_t domid;
-
- /* Length of list. */
- xen_ulong_t nr_gpfns;
-
- /* List of GPFNs to translate. */
- XEN_GUEST_HANDLE(xen_pfn_t) gpfn_list;
-
- /*
- * Output list to contain MFN translations. May be the same as the input
- * list (in which case each input GPFN is overwritten with the output MFN).
- */
- XEN_GUEST_HANDLE(xen_pfn_t) mfn_list;
-};
-typedef struct xen_translate_gpfn_list xen_translate_gpfn_list_t;
-DEFINE_XEN_GUEST_HANDLE(xen_translate_gpfn_list_t);
+/*** REMOVED ***/
+/*#define XENMEM_translate_gpfn_list 8*/
/*
* Returns the pseudo-physical memory map as it was when the domain
diff -r 3fb43f23f64c -r 2737293c761e xen/include/xlat.lst
--- a/xen/include/xlat.lst Wed Jan 14 10:56:18 2009 +0000
+++ b/xen/include/xlat.lst Wed Jan 14 11:15:01 2009 +0000
@@ -39,7 +39,6 @@
! memory_map memory.h
! memory_reservation memory.h
! pod_target memory.h
-! translate_gpfn_list memory.h
! sched_poll sched.h
? sched_remote_shutdown sched.h
? sched_shutdown sched.h
diff -r 3fb43f23f64c -r 2737293c761e xen/include/xsm/xsm.h
--- a/xen/include/xsm/xsm.h Wed Jan 14 10:56:18 2009 +0000
+++ b/xen/include/xsm/xsm.h Wed Jan 14 11:15:01 2009 +0000
@@ -96,7 +96,6 @@ struct xsm_operations {
int (*alloc_security_evtchn) (struct evtchn *chn);
void (*free_security_evtchn) (struct evtchn *chn);
- int (*translate_gpfn_list) (struct domain *d, unsigned long mfn);
int (*memory_adjust_reservation) (struct domain *d1, struct domain *d2);
int (*memory_stat_reservation) (struct domain *d1, struct domain *d2);
int (*memory_pin_page) (struct domain *d, struct page_info *page);
@@ -367,11 +366,6 @@ static inline void xsm_free_security_evt
xsm_call(free_security_evtchn(chn));
}
-static inline int xsm_translate_gpfn_list (struct domain *d, unsigned long mfn)
-{
- return xsm_call(translate_gpfn_list(d, mfn));
-}
-
static inline int xsm_memory_adjust_reservation (struct domain *d1, struct
domain *d2)
{
diff -r 3fb43f23f64c -r 2737293c761e xen/xsm/dummy.c
--- a/xen/xsm/dummy.c Wed Jan 14 10:56:18 2009 +0000
+++ b/xen/xsm/dummy.c Wed Jan 14 11:15:01 2009 +0000
@@ -176,11 +176,6 @@ static int dummy_grant_copy (struct doma
}
static int dummy_grant_query_size (struct domain *d1, struct domain *d2)
-{
- return 0;
-}
-
-static int dummy_translate_gpfn_list (struct domain *d, unsigned long mfn)
{
return 0;
}
@@ -522,7 +517,6 @@ void xsm_fixup_ops (struct xsm_operation
set_to_dummy_if_null(ops, alloc_security_evtchn);
set_to_dummy_if_null(ops, free_security_evtchn);
- set_to_dummy_if_null(ops, translate_gpfn_list);
set_to_dummy_if_null(ops, memory_adjust_reservation);
set_to_dummy_if_null(ops, memory_stat_reservation);
set_to_dummy_if_null(ops, memory_pin_page);
diff -r 3fb43f23f64c -r 2737293c761e xen/xsm/flask/hooks.c
--- a/xen/xsm/flask/hooks.c Wed Jan 14 10:56:18 2009 +0000
+++ b/xen/xsm/flask/hooks.c Wed Jan 14 11:15:01 2009 +0000
@@ -365,20 +365,6 @@ static int get_mfn_sid(unsigned long mfn
}
return rc;
-}
-
-static int flask_translate_gpfn_list(struct domain *d, unsigned long mfn)
-{
- int rc = 0;
- u32 sid;
- struct domain_security_struct *dsec;
- dsec = d->ssid;
-
- rc = get_mfn_sid(mfn, &sid);
- if ( rc )
- return rc;
-
- return avc_has_perm(dsec->sid, sid, SECCLASS_MMU, MMU__TRANSLATEGP, NULL);
}
static int flask_memory_adjust_reservation(struct domain *d1, struct domain
*d2)
@@ -1280,7 +1266,6 @@ static struct xsm_operations flask_ops =
.alloc_security_evtchn = flask_alloc_security_evtchn,
.free_security_evtchn = flask_free_security_evtchn,
- .translate_gpfn_list = flask_translate_gpfn_list,
.memory_adjust_reservation = flask_memory_adjust_reservation,
.memory_stat_reservation = flask_memory_stat_reservation,
.memory_pin_page = flask_memory_pin_page,
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|