[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] Remove unused XENMEM_translate_pfn_list.



# 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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.