direct-io.hg

changeset 11353:003fdc4f0a7c

[IA64] revert xen-ia64-unstable.hg 11271:c232365128cf

Delete functions introduced for old PV-on-HVM on IPF.

Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
Signed-off-by: Tomonari Horikoshi <t.horikoshi@jp.fujitsu.com>
author awilliam@xenbuild.aw
date Tue Aug 29 09:05:46 2006 -0600 (2006-08-29)
parents 5ad72f9e639c
children 586c5fe8cf3e
files xen/arch/ia64/vmx/vmx_hypercall.c xen/include/public/arch-ia64.h
line diff
     1.1 --- a/xen/arch/ia64/vmx/vmx_hypercall.c	Tue Aug 29 08:28:38 2006 -0600
     1.2 +++ b/xen/arch/ia64/vmx/vmx_hypercall.c	Tue Aug 29 09:05:46 2006 -0600
     1.3 @@ -2,7 +2,6 @@
     1.4  /*
     1.5   * vmx_hyparcall.c: handling hypercall from domain
     1.6   * Copyright (c) 2005, Intel Corporation.
     1.7 - * Copyright (c) 2006, Fujitsu Limited.
     1.8   *
     1.9   * This program is free software; you can redistribute it and/or modify it
    1.10   * under the terms and conditions of the GNU General Public License,
    1.11 @@ -18,8 +17,6 @@
    1.12   * Place - Suite 330, Boston, MA 02111-1307 USA.
    1.13   *
    1.14   *  Xuefei Xu (Anthony Xu) (Anthony.xu@intel.com)
    1.15 - *  Tsunehisa Doi (Doi.Tsunehisa@jp.fujitsu.com)
    1.16 - *  Tomonari Horikoshi (t.horikoshi@jp.fujitsu.com)
    1.17   */
    1.18  
    1.19  #include <xen/config.h>
    1.20 @@ -37,91 +34,6 @@
    1.21  #include <public/version.h>
    1.22  #include <asm/dom_fw.h>
    1.23  #include <xen/domain.h>
    1.24 -#include <xen/compile.h>
    1.25 -#include <xen/event.h>
    1.26 -
    1.27 -static void
    1.28 -vmx_free_pages(unsigned long pgaddr, int npg)
    1.29 -{
    1.30 -    for (; npg > 0; npg--, pgaddr += PAGE_SIZE) {
    1.31 -        /* If original page belongs to xen heap, then relinguish back
    1.32 -         * to xen heap. Or else, leave to domain itself to decide.
    1.33 -         */
    1.34 -        if (likely(IS_XEN_HEAP_FRAME(virt_to_page(pgaddr)))) {
    1.35 -            free_domheap_page(virt_to_page(pgaddr));
    1.36 -            free_xenheap_page((void *)pgaddr);
    1.37 -        }
    1.38 -        else {
    1.39 -            put_page(virt_to_page(pgaddr));
    1.40 -        }
    1.41 -    }
    1.42 -}
    1.43 -
    1.44 -static int
    1.45 -vmx_gnttab_setup_table(unsigned long frame_pa, unsigned long nr_frames)
    1.46 -{
    1.47 -    struct domain *d = current->domain;
    1.48 -    struct grant_entry *pgaddr;
    1.49 -    unsigned long o_grant_shared;
    1.50 -
    1.51 -    if ((nr_frames != NR_GRANT_FRAMES) || (frame_pa & (PAGE_SIZE - 1))) {
    1.52 -        return -EINVAL;
    1.53 -    }
    1.54 -
    1.55 -    pgaddr = domain_mpa_to_imva(d, frame_pa);
    1.56 -    if (pgaddr == NULL) {
    1.57 -        return -EFAULT;
    1.58 -    }
    1.59 -
    1.60 -    o_grant_shared = (unsigned long)d->grant_table->shared;
    1.61 -    d->grant_table->shared = pgaddr;
    1.62 -
    1.63 -    /* Copy existing grant table into new page */
    1.64 -    if (o_grant_shared) {
    1.65 -        memcpy((void *)d->grant_table->shared,
    1.66 -               (void *)o_grant_shared, PAGE_SIZE * nr_frames);
    1.67 -        vmx_free_pages(o_grant_shared, nr_frames);
    1.68 -    }
    1.69 -    else {
    1.70 -        memset((void *)d->grant_table->shared, 0, PAGE_SIZE * nr_frames);
    1.71 -    }
    1.72 -    return 0;
    1.73 -}
    1.74 -
    1.75 -static int
    1.76 -vmx_setup_shared_info_page(unsigned long gpa)
    1.77 -{
    1.78 -    VCPU *vcpu = current;
    1.79 -    struct domain *d = vcpu->domain;
    1.80 -    unsigned long o_info;
    1.81 -    shared_info_t *pgaddr;
    1.82 -    struct vcpu *v;
    1.83 -
    1.84 -    if (gpa & ~PAGE_MASK) {
    1.85 -        return -EINVAL;
    1.86 -    }
    1.87 -
    1.88 -    pgaddr = domain_mpa_to_imva(d, gpa);
    1.89 -    if (pgaddr == NULL) {
    1.90 -        return -EFAULT;
    1.91 -    }
    1.92 -
    1.93 -    o_info = (u64)d->shared_info;
    1.94 -    d->shared_info = pgaddr;
    1.95 -
    1.96 -    /* Copy existing shared info into new page */
    1.97 -    if (o_info) {
    1.98 -        memcpy((void*)d->shared_info, (void*)o_info, PAGE_SIZE);
    1.99 -        for_each_vcpu(d, v) {
   1.100 -            v->vcpu_info = &d->shared_info->vcpu_info[v->vcpu_id];
   1.101 -        }
   1.102 -        vmx_free_pages(o_info, 1);
   1.103 -    }
   1.104 -    else {
   1.105 -        memset((void *)d->shared_info, 0, PAGE_SIZE);
   1.106 -    }
   1.107 -    return 0;
   1.108 -}
   1.109  
   1.110  long
   1.111  do_hvm_op(unsigned long op, XEN_GUEST_HANDLE(void) arg)
   1.112 @@ -166,25 +78,6 @@ do_hvm_op(unsigned long op, XEN_GUEST_HA
   1.113          break;
   1.114      }
   1.115  
   1.116 -    case HVMOP_setup_gnttab_table:
   1.117 -    case HVMOP_setup_shared_info_page:
   1.118 -    {
   1.119 -        struct xen_hvm_setup a;
   1.120 -
   1.121 -        if (copy_from_guest(&a, arg, 1))
   1.122 -            return -EFAULT;
   1.123 -
   1.124 -        switch (op) {
   1.125 -        case HVMOP_setup_gnttab_table:
   1.126 -            printk("vmx_gnttab_setup_table: frame_pa=%#lx,"
   1.127 -                            "nr_frame=%ld\n", a.arg1, a.arg2);
   1.128 -            return vmx_gnttab_setup_table(a.arg1, a.arg2);
   1.129 -        case HVMOP_setup_shared_info_page:
   1.130 -            printk("vmx_setup_shared_info_page: gpa=0x%lx\n", a.arg1);
   1.131 -            return vmx_setup_shared_info_page(a.arg1);
   1.132 -        }
   1.133 -    }
   1.134 -
   1.135      default:
   1.136          DPRINTK("Bad HVM op %ld.\n", op);
   1.137          rc = -ENOSYS;
     2.1 --- a/xen/include/public/arch-ia64.h	Tue Aug 29 08:28:38 2006 -0600
     2.2 +++ b/xen/include/public/arch-ia64.h	Tue Aug 29 09:05:46 2006 -0600
     2.3 @@ -339,17 +339,6 @@ struct vcpu_guest_context {
     2.4  typedef struct vcpu_guest_context vcpu_guest_context_t;
     2.5  DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
     2.6  
     2.7 -// hvm_op expansion
     2.8 -#define HVMOP_setup_gnttab_table        2
     2.9 -#define HVMOP_setup_shared_info_page    3
    2.10 -
    2.11 -struct xen_hvm_setup {
    2.12 -    unsigned long arg1;
    2.13 -    unsigned long arg2;
    2.14 -};
    2.15 -typedef struct xen_hvm_setup xen_hvm_setup_t;
    2.16 -DEFINE_XEN_GUEST_HANDLE(xen_hvm_setup_t);
    2.17 -
    2.18  // dom0 vp op
    2.19  #define __HYPERVISOR_ia64_dom0vp_op     __HYPERVISOR_arch_0
    2.20  #define IA64_DOM0VP_ioremap             0       // map io space in machine