direct-io.hg

changeset 8691:5a9efc35feb2

Merge.

Signed-off-by: Steven Smith, sos22@cam.ac.uk
author sos22@douglas.cl.cam.ac.uk
date Fri Jan 27 22:18:15 2006 +0100 (2006-01-27)
parents a47b7a464f09 2add7a262530
children 3e7bcf1b6f70
files xen/arch/x86/dom0_ops.c xen/arch/x86/mm.c xen/include/public/dom0_ops.h xen/include/public/xen.h
line diff
     1.1 --- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/traps.c	Fri Jan 27 21:57:07 2006 +0100
     1.2 +++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/traps.c	Fri Jan 27 22:18:15 2006 +0100
     1.3 @@ -995,7 +995,7 @@ void __init trap_init(void)
     1.4  	 * default LDT is a single-entry callgate to lcall7 for iBCS
     1.5  	 * and a callgate to lcall27 for Solaris/x86 binaries
     1.6  	 */
     1.7 -	make_lowmem_page_readonly(&default_ldt[0]);
     1.8 +	make_lowmem_mmu_page_readonly(&default_ldt[0]);
     1.9  
    1.10  	/*
    1.11  	 * Should be a barrier for any external CPU state.
     2.1 --- a/xen/arch/x86/dom0_ops.c	Fri Jan 27 21:57:07 2006 +0100
     2.2 +++ b/xen/arch/x86/dom0_ops.c	Fri Jan 27 22:18:15 2006 +0100
     2.3 @@ -46,7 +46,7 @@ static void read_msr_for(void *unused)
     2.4          (void)rdmsr_user(msr_addr, msr_lo, msr_hi);
     2.5  }
     2.6  
     2.7 -long arch_do_dom0_op(dom0_op_t *op, dom0_op_t *u_dom0_op)
     2.8 +long arch_do_dom0_op(struct dom0_op *op, struct dom0_op *u_dom0_op)
     2.9  {
    2.10      long ret = 0;
    2.11  
     3.1 --- a/xen/arch/x86/mm.c	Fri Jan 27 21:57:07 2006 +0100
     3.2 +++ b/xen/arch/x86/mm.c	Fri Jan 27 22:18:15 2006 +0100
     3.3 @@ -2007,12 +2007,12 @@ int do_mmuext_op(
     3.4  }
     3.5  
     3.6  int do_mmu_update(
     3.7 -    mmu_update_t *ureqs,
     3.8 +    struct mmu_update *ureqs,
     3.9      unsigned int count,
    3.10      unsigned int *pdone,
    3.11      unsigned int foreigndom)
    3.12  {
    3.13 -    mmu_update_t req;
    3.14 +    struct mmu_update req;
    3.15      void *va;
    3.16      unsigned long gpfn, mfn;
    3.17      struct pfn_info *page;
     4.1 --- a/xen/arch/x86/physdev.c	Fri Jan 27 21:57:07 2006 +0100
     4.2 +++ b/xen/arch/x86/physdev.c	Fri Jan 27 22:18:15 2006 +0100
     4.3 @@ -17,11 +17,11 @@ extern int ioapic_guest_write(int apicid
     4.4  /*
     4.5   * Demuxing hypercall.
     4.6   */
     4.7 -long do_physdev_op(physdev_op_t *uop)
     4.8 +long do_physdev_op(struct physdev_op *uop)
     4.9  {
    4.10 -    physdev_op_t op;
    4.11 -    long         ret;
    4.12 -    int          irq;
    4.13 +    struct physdev_op op;
    4.14 +    long ret;
    4.15 +    int  irq;
    4.16  
    4.17      if ( unlikely(copy_from_user(&op, uop, sizeof(op)) != 0) )
    4.18          return -EFAULT;
    4.19 @@ -39,7 +39,7 @@ long do_physdev_op(physdev_op_t *uop)
    4.20              break;
    4.21          op.u.irq_status_query.flags = 0;
    4.22          /* Edge-triggered interrupts don't need an explicit unmask downcall. */
    4.23 -        if ( strstr(irq_desc[irq_to_vector(irq)].handler->typename, "edge") == NULL )
    4.24 +        if ( !strstr(irq_desc[irq_to_vector(irq)].handler->typename, "edge") )
    4.25              op.u.irq_status_query.flags |= PHYSDEVOP_IRQ_NEEDS_UNMASK_NOTIFY;
    4.26          ret = 0;
    4.27          break;
     5.1 --- a/xen/arch/x86/setup.c	Fri Jan 27 21:57:07 2006 +0100
     5.2 +++ b/xen/arch/x86/setup.c	Fri Jan 27 22:18:15 2006 +0100
     5.3 @@ -337,8 +337,9 @@ void __init __start_xen(multiboot_info_t
     5.4             nr_pages << (PAGE_SHIFT - 10));
     5.5      total_pages = nr_pages;
     5.6  
     5.7 -    /* Sanity check for unwanted bloat of dom0_op_t structure. */
     5.8 -    BUG_ON(sizeof(((dom0_op_t *)0)->u) != sizeof(((dom0_op_t *)0)->u.pad));
     5.9 +    /* Sanity check for unwanted bloat of dom0_op structure. */
    5.10 +    BUG_ON(sizeof(((struct dom0_op *)0)->u) !=
    5.11 +           sizeof(((struct dom0_op *)0)->u.pad));
    5.12  
    5.13      BUG_ON(sizeof(start_info_t) > PAGE_SIZE);
    5.14      BUG_ON(sizeof(shared_info_t) > PAGE_SIZE);
     6.1 --- a/xen/arch/x86/traps.c	Fri Jan 27 21:57:07 2006 +0100
     6.2 +++ b/xen/arch/x86/traps.c	Fri Jan 27 22:18:15 2006 +0100
     6.3 @@ -325,7 +325,7 @@ static inline int do_trap(int trapnr, ch
     6.4  {
     6.5      struct vcpu *v = current;
     6.6      struct trap_bounce *tb = &v->arch.trap_bounce;
     6.7 -    trap_info_t *ti;
     6.8 +    struct trap_info *ti;
     6.9      unsigned long fixup;
    6.10  
    6.11      DEBUGGER_trap_entry(trapnr, regs);
    6.12 @@ -392,7 +392,7 @@ asmlinkage int do_int3(struct cpu_user_r
    6.13  {
    6.14      struct vcpu *v = current;
    6.15      struct trap_bounce *tb = &v->arch.trap_bounce;
    6.16 -    trap_info_t *ti;
    6.17 +    struct trap_info *ti;
    6.18  
    6.19      DEBUGGER_trap_entry(TRAP_int3, regs);
    6.20  
    6.21 @@ -421,7 +421,7 @@ asmlinkage int do_machine_check(struct c
    6.22  
    6.23  void propagate_page_fault(unsigned long addr, u16 error_code)
    6.24  {
    6.25 -    trap_info_t *ti;
    6.26 +    struct trap_info *ti;
    6.27      struct vcpu *v = current;
    6.28      struct trap_bounce *tb = &v->arch.trap_bounce;
    6.29  
    6.30 @@ -1014,7 +1014,7 @@ asmlinkage int do_general_protection(str
    6.31  {
    6.32      struct vcpu *v = current;
    6.33      struct trap_bounce *tb = &v->arch.trap_bounce;
    6.34 -    trap_info_t *ti;
    6.35 +    struct trap_info *ti;
    6.36      unsigned long fixup;
    6.37  
    6.38      DEBUGGER_trap_entry(TRAP_gp_fault, regs);
    6.39 @@ -1217,7 +1217,7 @@ void unset_nmi_callback(void)
    6.40  asmlinkage int math_state_restore(struct cpu_user_regs *regs)
    6.41  {
    6.42      struct trap_bounce *tb;
    6.43 -    trap_info_t *ti;
    6.44 +    struct trap_info *ti;
    6.45  
    6.46      /* Prevent recursion. */
    6.47      clts();
    6.48 @@ -1246,7 +1246,7 @@ asmlinkage int do_debug(struct cpu_user_
    6.49      unsigned long condition;
    6.50      struct vcpu *v = current;
    6.51      struct trap_bounce *tb = &v->arch.trap_bounce;
    6.52 -    trap_info_t *ti;
    6.53 +    struct trap_info *ti;
    6.54  
    6.55      __asm__ __volatile__("mov %%db6,%0" : "=r" (condition));
    6.56  
    6.57 @@ -1364,10 +1364,10 @@ void __init trap_init(void)
    6.58  }
    6.59  
    6.60  
    6.61 -long do_set_trap_table(trap_info_t *traps)
    6.62 +long do_set_trap_table(struct trap_info *traps)
    6.63  {
    6.64 -    trap_info_t cur;
    6.65 -    trap_info_t *dst = current->arch.guest_context.trap_ctxt;
    6.66 +    struct trap_info cur;
    6.67 +    struct trap_info *dst = current->arch.guest_context.trap_ctxt;
    6.68      long rc = 0;
    6.69  
    6.70      LOCK_BIGLOCK(current->domain);
     7.1 --- a/xen/arch/x86/x86_32/asm-offsets.c	Fri Jan 27 21:57:07 2006 +0100
     7.2 +++ b/xen/arch/x86/x86_32/asm-offsets.c	Fri Jan 27 22:18:15 2006 +0100
     7.3 @@ -90,15 +90,15 @@ void __dummy__(void)
     7.4      BLANK();
     7.5  #endif
     7.6  
     7.7 -    OFFSET(MULTICALL_op, multicall_entry_t, op);
     7.8 -    OFFSET(MULTICALL_arg0, multicall_entry_t, args[0]);
     7.9 -    OFFSET(MULTICALL_arg1, multicall_entry_t, args[1]);
    7.10 -    OFFSET(MULTICALL_arg2, multicall_entry_t, args[2]);
    7.11 -    OFFSET(MULTICALL_arg3, multicall_entry_t, args[3]);
    7.12 -    OFFSET(MULTICALL_arg4, multicall_entry_t, args[4]);
    7.13 -    OFFSET(MULTICALL_arg5, multicall_entry_t, args[5]);
    7.14 -    OFFSET(MULTICALL_arg6, multicall_entry_t, args[6]);
    7.15 -    OFFSET(MULTICALL_result, multicall_entry_t, result);
    7.16 +    OFFSET(MULTICALL_op, struct multicall_entry, op);
    7.17 +    OFFSET(MULTICALL_arg0, struct multicall_entry, args[0]);
    7.18 +    OFFSET(MULTICALL_arg1, struct multicall_entry, args[1]);
    7.19 +    OFFSET(MULTICALL_arg2, struct multicall_entry, args[2]);
    7.20 +    OFFSET(MULTICALL_arg3, struct multicall_entry, args[3]);
    7.21 +    OFFSET(MULTICALL_arg4, struct multicall_entry, args[4]);
    7.22 +    OFFSET(MULTICALL_arg5, struct multicall_entry, args[5]);
    7.23 +    OFFSET(MULTICALL_arg6, struct multicall_entry, args[6]);
    7.24 +    OFFSET(MULTICALL_result, struct multicall_entry, result);
    7.25      BLANK();
    7.26  
    7.27      DEFINE(FIXMAP_apic_base, fix_to_virt(FIX_APIC_BASE));
     8.1 --- a/xen/arch/x86/x86_32/seg_fixup.c	Fri Jan 27 21:57:07 2006 +0100
     8.2 +++ b/xen/arch/x86/x86_32/seg_fixup.c	Fri Jan 27 22:18:15 2006 +0100
     8.3 @@ -268,7 +268,7 @@ int fixup_seg(u16 seg, unsigned long off
     8.4  int gpf_emulate_4gb(struct cpu_user_regs *regs)
     8.5  {
     8.6      struct vcpu *d = current;
     8.7 -    trap_info_t   *ti;
     8.8 +    struct trap_info   *ti;
     8.9      struct trap_bounce *tb;
    8.10      u8            modrm, mod, reg, rm, decode;
    8.11      void         *memreg, *regreg;
     9.1 --- a/xen/arch/x86/x86_32/traps.c	Fri Jan 27 21:57:07 2006 +0100
     9.2 +++ b/xen/arch/x86/x86_32/traps.c	Fri Jan 27 22:18:15 2006 +0100
     9.3 @@ -157,7 +157,7 @@ asmlinkage void do_double_fault(void)
     9.4          __asm__ __volatile__ ( "hlt" );
     9.5  }
     9.6  
     9.7 -asmlinkage unsigned long do_iret(void)
     9.8 +unsigned long do_iret(void)
     9.9  {
    9.10      struct cpu_user_regs *regs = guest_cpu_user_regs();
    9.11      u32 eflags;
    9.12 @@ -263,7 +263,7 @@ void __init percpu_traps_init(void)
    9.13  
    9.14  void init_int80_direct_trap(struct vcpu *v)
    9.15  {
    9.16 -    trap_info_t *ti = &v->arch.guest_context.trap_ctxt[0x80];
    9.17 +    struct trap_info *ti = &v->arch.guest_context.trap_ctxt[0x80];
    9.18  
    9.19      /*
    9.20       * We can't virtualise interrupt gates, as there's no way to get
    10.1 --- a/xen/arch/x86/x86_64/asm-offsets.c	Fri Jan 27 21:57:07 2006 +0100
    10.2 +++ b/xen/arch/x86/x86_64/asm-offsets.c	Fri Jan 27 22:18:15 2006 +0100
    10.3 @@ -90,15 +90,15 @@ void __dummy__(void)
    10.4      BLANK();
    10.5  #endif
    10.6  
    10.7 -    OFFSET(MULTICALL_op, multicall_entry_t, op);
    10.8 -    OFFSET(MULTICALL_arg0, multicall_entry_t, args[0]);
    10.9 -    OFFSET(MULTICALL_arg1, multicall_entry_t, args[1]);
   10.10 -    OFFSET(MULTICALL_arg2, multicall_entry_t, args[2]);
   10.11 -    OFFSET(MULTICALL_arg3, multicall_entry_t, args[3]);
   10.12 -    OFFSET(MULTICALL_arg4, multicall_entry_t, args[4]);
   10.13 -    OFFSET(MULTICALL_arg5, multicall_entry_t, args[5]);
   10.14 -    OFFSET(MULTICALL_arg6, multicall_entry_t, args[6]);
   10.15 -    OFFSET(MULTICALL_result, multicall_entry_t, result);
   10.16 +    OFFSET(MULTICALL_op, struct multicall_entry, op);
   10.17 +    OFFSET(MULTICALL_arg0, struct multicall_entry, args[0]);
   10.18 +    OFFSET(MULTICALL_arg1, struct multicall_entry, args[1]);
   10.19 +    OFFSET(MULTICALL_arg2, struct multicall_entry, args[2]);
   10.20 +    OFFSET(MULTICALL_arg3, struct multicall_entry, args[3]);
   10.21 +    OFFSET(MULTICALL_arg4, struct multicall_entry, args[4]);
   10.22 +    OFFSET(MULTICALL_arg5, struct multicall_entry, args[5]);
   10.23 +    OFFSET(MULTICALL_arg6, struct multicall_entry, args[6]);
   10.24 +    OFFSET(MULTICALL_result, struct multicall_entry, result);
   10.25      BLANK();
   10.26  
   10.27      DEFINE(IRQSTAT_shift, LOG_2(sizeof(irq_cpustat_t)));
    11.1 --- a/xen/arch/x86/x86_64/traps.c	Fri Jan 27 21:57:07 2006 +0100
    11.2 +++ b/xen/arch/x86/x86_64/traps.c	Fri Jan 27 22:18:15 2006 +0100
    11.3 @@ -122,7 +122,7 @@ void toggle_guest_mode(struct vcpu *v)
    11.4      write_ptbase(v);
    11.5  }
    11.6  
    11.7 -long do_iret(void)
    11.8 +unsigned long do_iret(void)
    11.9  {
   11.10      struct cpu_user_regs *regs = guest_cpu_user_regs();
   11.11      struct iret_context iret_saved;
    12.1 --- a/xen/common/dom0_ops.c	Fri Jan 27 21:57:07 2006 +0100
    12.2 +++ b/xen/common/dom0_ops.c	Fri Jan 27 22:18:15 2006 +0100
    12.3 @@ -22,7 +22,8 @@
    12.4  #include <public/sched_ctl.h>
    12.5  #include <acm/acm_hooks.h>
    12.6  
    12.7 -extern long arch_do_dom0_op(dom0_op_t *op, dom0_op_t *u_dom0_op);
    12.8 +extern long arch_do_dom0_op(
    12.9 +    struct dom0_op *op, struct dom0_op *u_dom0_op);
   12.10  extern void arch_getdomaininfo_ctxt(
   12.11      struct vcpu *, struct vcpu_guest_context *);
   12.12  
   12.13 @@ -86,10 +87,10 @@ static void getdomaininfo(struct domain 
   12.14      memcpy(info->handle, d->handle, sizeof(xen_domain_handle_t));
   12.15  }
   12.16  
   12.17 -long do_dom0_op(dom0_op_t *u_dom0_op)
   12.18 +long do_dom0_op(struct dom0_op *u_dom0_op)
   12.19  {
   12.20      long ret = 0;
   12.21 -    dom0_op_t curop, *op = &curop;
   12.22 +    struct dom0_op curop, *op = &curop;
   12.23      void *ssid = NULL; /* save security ptr between pre and post/fail hooks */
   12.24      static spinlock_t dom0_lock = SPIN_LOCK_UNLOCKED;
   12.25  
    13.1 --- a/xen/common/event_channel.c	Fri Jan 27 21:57:07 2006 +0100
    13.2 +++ b/xen/common/event_channel.c	Fri Jan 27 22:18:15 2006 +0100
    13.3 @@ -580,10 +580,10 @@ static long evtchn_unmask(evtchn_unmask_
    13.4      return 0;
    13.5  }
    13.6  
    13.7 -long do_event_channel_op(evtchn_op_t *uop)
    13.8 +long do_event_channel_op(struct evtchn_op *uop)
    13.9  {
   13.10      long rc;
   13.11 -    evtchn_op_t op;
   13.12 +    struct evtchn_op op;
   13.13  
   13.14      if ( copy_from_user(&op, uop, sizeof(op)) != 0 )
   13.15          return -EFAULT;
    14.1 --- a/xen/common/multicall.c	Fri Jan 27 21:57:07 2006 +0100
    14.2 +++ b/xen/common/multicall.c	Fri Jan 27 22:18:15 2006 +0100
    14.3 @@ -15,7 +15,7 @@
    14.4  
    14.5  struct mc_state mc_state[NR_CPUS];
    14.6  
    14.7 -long do_multicall(multicall_entry_t *call_list, unsigned int nr_calls)
    14.8 +long do_multicall(struct multicall_entry *call_list, unsigned int nr_calls)
    14.9  {
   14.10      struct mc_state *mcs = &mc_state[smp_processor_id()];
   14.11      unsigned int     i;
   14.12 @@ -51,7 +51,7 @@ long do_multicall(multicall_entry_t *cal
   14.13               * Deliberately corrupt the contents of the multicall structure.
   14.14               * The caller must depend only on the 'result' field on return.
   14.15               */
   14.16 -            multicall_entry_t corrupt;
   14.17 +            struct multicall_entry corrupt;
   14.18              memset(&corrupt, 0xAA, sizeof(corrupt));
   14.19              (void)__copy_to_user(&call_list[i], &corrupt, sizeof(corrupt));
   14.20          }
    15.1 --- a/xen/include/acm/acm_hooks.h	Fri Jan 27 21:57:07 2006 +0100
    15.2 +++ b/xen/include/acm/acm_hooks.h	Fri Jan 27 22:18:15 2006 +0100
    15.3 @@ -129,13 +129,13 @@ extern struct acm_operations *acm_second
    15.4  
    15.5  #ifndef ACM_SECURITY
    15.6  
    15.7 -static inline int acm_pre_dom0_op(dom0_op_t *op, void **ssid) 
    15.8 +static inline int acm_pre_dom0_op(struct dom0_op *op, void **ssid) 
    15.9  { return 0; }
   15.10 -static inline void acm_post_dom0_op(dom0_op_t *op, void *ssid) 
   15.11 +static inline void acm_post_dom0_op(struct dom0_op *op, void *ssid) 
   15.12  { return; }
   15.13 -static inline void acm_fail_dom0_op(dom0_op_t *op, void *ssid) 
   15.14 +static inline void acm_fail_dom0_op(struct dom0_op *op, void *ssid) 
   15.15  { return; }
   15.16 -static inline int acm_pre_event_channel(evtchn_op_t *op) 
   15.17 +static inline int acm_pre_event_channel(struct evtchn_op *op) 
   15.18  { return 0; }
   15.19  static inline int acm_pre_grant_map_ref(domid_t id) 
   15.20  { return 0; }
   15.21 @@ -223,7 +223,7 @@ static inline int acm_pre_eventchannel_i
   15.22          return ACM_ACCESS_PERMITTED;
   15.23  }
   15.24  
   15.25 -static inline int acm_pre_dom0_op(dom0_op_t *op, void **ssid) 
   15.26 +static inline int acm_pre_dom0_op(struct dom0_op *op, void **ssid) 
   15.27  {
   15.28      int ret = -EACCES;
   15.29      struct domain *d;
   15.30 @@ -260,7 +260,7 @@ static inline int acm_pre_dom0_op(dom0_o
   15.31      return ret;
   15.32  }
   15.33  
   15.34 -static inline void acm_post_dom0_op(dom0_op_t *op, void **ssid)
   15.35 +static inline void acm_post_dom0_op(struct dom0_op *op, void **ssid)
   15.36  {
   15.37      switch(op->cmd) {
   15.38      case DOM0_CREATEDOMAIN:
   15.39 @@ -279,7 +279,7 @@ static inline void acm_post_dom0_op(dom0
   15.40      }
   15.41  }
   15.42  
   15.43 -static inline void acm_fail_dom0_op(dom0_op_t *op, void *ssid) 
   15.44 +static inline void acm_fail_dom0_op(struct dom0_op *op, void *ssid) 
   15.45  {
   15.46      switch(op->cmd) {
   15.47      case DOM0_CREATEDOMAIN:
   15.48 @@ -289,7 +289,7 @@ static inline void acm_fail_dom0_op(dom0
   15.49      }
   15.50  }
   15.51  
   15.52 -static inline int acm_pre_event_channel(evtchn_op_t *op) 
   15.53 +static inline int acm_pre_event_channel(struct evtchn_op *op) 
   15.54  {
   15.55      int ret = -EACCES;
   15.56  
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/xen/include/asm-ia64/hypercall.h	Fri Jan 27 22:18:15 2006 +0100
    16.3 @@ -0,0 +1,30 @@
    16.4 +/******************************************************************************
    16.5 + * asm-ia64/hypercall.h
    16.6 + */
    16.7 +
    16.8 +#ifndef __ASM_IA64_HYPERCALL_H__
    16.9 +#define __ASM_IA64_HYPERCALL_H__
   16.10 +
   16.11 +#include <public/xen.h>
   16.12 +#include <asm/types.h>
   16.13 +#include <asm/vcpu.h>
   16.14 +
   16.15 +extern int
   16.16 +vmx_do_mmu_update(
   16.17 +    mmu_update_t *ureqs,
   16.18 +    u64 count,
   16.19 +    u64 *pdone,
   16.20 +    u64 foreigndom);
   16.21 +
   16.22 +extern int
   16.23 +do_lock_page(
   16.24 +    VCPU *vcpu,
   16.25 +    u64 va,
   16.26 +    u64 lock);
   16.27 +
   16.28 +extern int
   16.29 +do_set_shared_page(
   16.30 +    VCPU *vcpu,
   16.31 +    u64 gpa);
   16.32 +
   16.33 +#endif /* __ASM_IA64_HYPERCALL_H__ */
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/xen/include/asm-x86/hypercall.h	Fri Jan 27 22:18:15 2006 +0100
    17.3 @@ -0,0 +1,102 @@
    17.4 +/******************************************************************************
    17.5 + * asm-x86/hypercall.h
    17.6 + */
    17.7 +
    17.8 +#ifndef __ASM_X86_HYPERCALL_H__
    17.9 +#define __ASM_X86_HYPERCALL_H__
   17.10 +
   17.11 +struct trap_info;
   17.12 +extern long
   17.13 +do_set_trap_table(
   17.14 +    struct trap_info *traps);
   17.15 +
   17.16 +struct mmu_update;
   17.17 +extern int
   17.18 +do_mmu_update(
   17.19 +    struct mmu_update *ureqs,
   17.20 +    unsigned int count,
   17.21 +    unsigned int *pdone,
   17.22 +    unsigned int foreigndom);
   17.23 +
   17.24 +extern long
   17.25 +do_set_gdt(
   17.26 +    unsigned long *frame_list,
   17.27 +    unsigned int entries);
   17.28 +
   17.29 +extern long
   17.30 +do_stack_switch(
   17.31 +    unsigned long ss,
   17.32 +    unsigned long esp);
   17.33 +
   17.34 +extern long
   17.35 +do_fpu_taskswitch(
   17.36 +    int set);
   17.37 +
   17.38 +extern long
   17.39 +do_set_debugreg(
   17.40 +    int reg,
   17.41 +    unsigned long value);
   17.42 +
   17.43 +extern unsigned long
   17.44 +do_get_debugreg(
   17.45 +    int reg);
   17.46 +
   17.47 +extern long
   17.48 +do_update_descriptor(
   17.49 +    u64 pa,
   17.50 +    u64 desc);
   17.51 +
   17.52 +extern int
   17.53 +do_update_va_mapping(
   17.54 +    unsigned long va,
   17.55 +    u64 val64,
   17.56 +    unsigned long flags);
   17.57 +
   17.58 +struct physdev_op;
   17.59 +extern long
   17.60 +do_physdev_op(
   17.61 +    struct physdev_op *uop);
   17.62 +
   17.63 +extern int
   17.64 +do_update_va_mapping_otherdomain(
   17.65 +    unsigned long va,
   17.66 +    u64 val64,
   17.67 +    unsigned long flags,
   17.68 +    domid_t domid);
   17.69 +
   17.70 +extern int
   17.71 +do_mmuext_op(
   17.72 +    struct mmuext_op *uops,
   17.73 +    unsigned int count,
   17.74 +    unsigned int *pdone,
   17.75 +    unsigned int foreigndom);
   17.76 +
   17.77 +extern unsigned long
   17.78 +do_iret(
   17.79 +    void);
   17.80 +
   17.81 +#ifdef __x86_64__
   17.82 +
   17.83 +extern long
   17.84 +do_set_callbacks(
   17.85 +    unsigned long event_address,
   17.86 +    unsigned long failsafe_address,
   17.87 +    unsigned long syscall_address);
   17.88 +
   17.89 +extern long
   17.90 +do_set_segment_base(
   17.91 +    unsigned int which,
   17.92 +    unsigned long base);
   17.93 +
   17.94 +#else
   17.95 +
   17.96 +extern long
   17.97 +do_set_callbacks(
   17.98 +    unsigned long event_selector,
   17.99 +    unsigned long event_address,
  17.100 +    unsigned long failsafe_selector,
  17.101 +    unsigned long failsafe_address);
  17.102 +
  17.103 +#endif
  17.104 +
  17.105 +#endif /* __ASM_X86_HYPERCALL_H__ */
    18.1 --- a/xen/include/public/arch-x86_32.h	Fri Jan 27 21:57:07 2006 +0100
    18.2 +++ b/xen/include/public/arch-x86_32.h	Fri Jan 27 22:18:15 2006 +0100
    18.3 @@ -118,7 +118,7 @@ typedef struct vcpu_guest_context {
    18.4  #define VGCF_IN_KERNEL  (1<<2)
    18.5      unsigned long flags;                    /* VGCF_* flags                 */
    18.6      cpu_user_regs_t user_regs;              /* User-level CPU registers     */
    18.7 -    trap_info_t   trap_ctxt[256];           /* Virtual IDT                  */
    18.8 +    struct trap_info trap_ctxt[256];        /* Virtual IDT                  */
    18.9      unsigned long ldt_base, ldt_ents;       /* LDT (linear address, # ents) */
   18.10      unsigned long gdt_frames[16], gdt_ents; /* GDT (machine frames, # ents) */
   18.11      unsigned long kernel_ss, kernel_sp;     /* Virtual TSS (only SS1/SP1)   */
    19.1 --- a/xen/include/public/arch-x86_64.h	Fri Jan 27 21:57:07 2006 +0100
    19.2 +++ b/xen/include/public/arch-x86_64.h	Fri Jan 27 22:18:15 2006 +0100
    19.3 @@ -200,7 +200,7 @@ typedef struct vcpu_guest_context {
    19.4  #define VGCF_IN_KERNEL  (1<<2)
    19.5      unsigned long flags;                    /* VGCF_* flags                 */
    19.6      cpu_user_regs_t user_regs;              /* User-level CPU registers     */
    19.7 -    trap_info_t   trap_ctxt[256];           /* Virtual IDT                  */
    19.8 +    struct trap_info trap_ctxt[256];        /* Virtual IDT                  */
    19.9      unsigned long ldt_base, ldt_ents;       /* LDT (linear address, # ents) */
   19.10      unsigned long gdt_frames[16], gdt_ents; /* GDT (machine frames, # ents) */
   19.11      unsigned long kernel_ss, kernel_sp;     /* Virtual TSS (only SS1/SP1)   */
    20.1 --- a/xen/include/public/dom0_ops.h	Fri Jan 27 21:57:07 2006 +0100
    20.2 +++ b/xen/include/public/dom0_ops.h	Fri Jan 27 22:18:15 2006 +0100
    20.3 @@ -24,7 +24,7 @@
    20.4  /************************************************************************/
    20.5  
    20.6  #define DOM0_GETMEMLIST        2
    20.7 -typedef struct {
    20.8 +typedef struct dom0_getmemlist {
    20.9      /* IN variables. */
   20.10      domid_t       domain;
   20.11      unsigned long max_pfns;
   20.12 @@ -42,7 +42,7 @@ typedef struct sched_ctl_cmd dom0_schedc
   20.13  typedef struct sched_adjdom_cmd dom0_adjustdom_t;
   20.14  
   20.15  #define DOM0_CREATEDOMAIN      8
   20.16 -typedef struct {
   20.17 +typedef struct dom0_createdomain {
   20.18      /* IN parameters */
   20.19      uint32_t ssidref;
   20.20      xen_domain_handle_t handle;
   20.21 @@ -52,25 +52,25 @@ typedef struct {
   20.22  } dom0_createdomain_t;
   20.23  
   20.24  #define DOM0_DESTROYDOMAIN     9
   20.25 -typedef struct {
   20.26 +typedef struct dom0_destroydomain {
   20.27      /* IN variables. */
   20.28      domid_t domain;
   20.29  } dom0_destroydomain_t;
   20.30  
   20.31  #define DOM0_PAUSEDOMAIN      10
   20.32 -typedef struct {
   20.33 +typedef struct dom0_pausedomain {
   20.34      /* IN parameters. */
   20.35      domid_t domain;
   20.36  } dom0_pausedomain_t;
   20.37  
   20.38  #define DOM0_UNPAUSEDOMAIN    11
   20.39 -typedef struct {
   20.40 +typedef struct dom0_unpausedomain {
   20.41      /* IN parameters. */
   20.42      domid_t domain;
   20.43  } dom0_unpausedomain_t;
   20.44  
   20.45  #define DOM0_GETDOMAININFO    12
   20.46 -typedef struct {
   20.47 +typedef struct dom0_getdomaininfo {
   20.48      /* IN variables. */
   20.49      domid_t  domain;                  /* NB. IN/OUT variable. */
   20.50      /* OUT variables. */
   20.51 @@ -95,7 +95,7 @@ typedef struct {
   20.52  } dom0_getdomaininfo_t;
   20.53  
   20.54  #define DOM0_SETVCPUCONTEXT   13
   20.55 -typedef struct {
   20.56 +typedef struct dom0_setvcpucontext {
   20.57      /* IN variables. */
   20.58      domid_t               domain;
   20.59      uint32_t              vcpu;
   20.60 @@ -104,7 +104,7 @@ typedef struct {
   20.61  } dom0_setvcpucontext_t;
   20.62  
   20.63  #define DOM0_MSR              15
   20.64 -typedef struct {
   20.65 +typedef struct dom0_msr {
   20.66      /* IN variables. */
   20.67      uint32_t write;
   20.68      cpumap_t cpu_mask;
   20.69 @@ -121,7 +121,7 @@ typedef struct {
   20.70   * 1 January, 1970 if the current system time was <system_time>.
   20.71   */
   20.72  #define DOM0_SETTIME          17
   20.73 -typedef struct {
   20.74 +typedef struct dom0_settime {
   20.75      /* IN variables. */
   20.76      uint32_t secs;
   20.77      uint32_t nsecs;
   20.78 @@ -139,7 +139,7 @@ typedef struct {
   20.79  #define LTAB_MASK XTAB
   20.80  #define LTABTYPE_MASK (0x7<<28)
   20.81  
   20.82 -typedef struct {
   20.83 +typedef struct dom0_getpageframeinfo {
   20.84      /* IN variables. */
   20.85      unsigned long pfn;     /* Machine page frame number to query.       */
   20.86      domid_t domain;        /* To which domain does the frame belong?    */
   20.87 @@ -152,7 +152,7 @@ typedef struct {
   20.88   * Read console content from Xen buffer ring.
   20.89   */
   20.90  #define DOM0_READCONSOLE      19
   20.91 -typedef struct {
   20.92 +typedef struct dom0_readconsole {
   20.93      /* IN variables. */
   20.94      uint32_t clear;        /* Non-zero -> clear after reading. */
   20.95      /* IN/OUT variables. */
   20.96 @@ -164,7 +164,7 @@ typedef struct {
   20.97   * Set which physical cpus a vcpu can execute on.
   20.98   */
   20.99  #define DOM0_SETVCPUAFFINITY  20
  20.100 -typedef struct {
  20.101 +typedef struct dom0_setvcpuaffinity {
  20.102      /* IN variables. */
  20.103      domid_t   domain;
  20.104      uint32_t  vcpu;
  20.105 @@ -173,7 +173,7 @@ typedef struct {
  20.106  
  20.107  /* Get trace buffers machine base address */
  20.108  #define DOM0_TBUFCONTROL       21
  20.109 -typedef struct {
  20.110 +typedef struct dom0_tbufcontrol {
  20.111      /* IN variables */
  20.112  #define DOM0_TBUF_GET_INFO     0
  20.113  #define DOM0_TBUF_SET_CPU_MASK 1
  20.114 @@ -194,7 +194,7 @@ typedef struct {
  20.115   * Get physical information about the host machine
  20.116   */
  20.117  #define DOM0_PHYSINFO         22
  20.118 -typedef struct {
  20.119 +typedef struct dom0_physinfo {
  20.120      uint32_t threads_per_core;
  20.121      uint32_t cores_per_socket;
  20.122      uint32_t sockets_per_node;
  20.123 @@ -209,7 +209,7 @@ typedef struct {
  20.124   * Get the ID of the current scheduler.
  20.125   */
  20.126  #define DOM0_SCHED_ID        24
  20.127 -typedef struct {
  20.128 +typedef struct dom0_sched_id {
  20.129      /* OUT variable */
  20.130      uint32_t sched_id;
  20.131  } dom0_sched_id_t;
  20.132 @@ -228,15 +228,14 @@ typedef struct {
  20.133  #define DOM0_SHADOW_CONTROL_OP_CLEAN       11
  20.134  #define DOM0_SHADOW_CONTROL_OP_PEEK        12
  20.135  
  20.136 -typedef struct dom0_shadow_control
  20.137 -{
  20.138 +typedef struct dom0_shadow_control_stats {
  20.139      uint32_t fault_count;
  20.140      uint32_t dirty_count;
  20.141      uint32_t dirty_net_count;     
  20.142      uint32_t dirty_block_count;     
  20.143  } dom0_shadow_control_stats_t;
  20.144  
  20.145 -typedef struct {
  20.146 +typedef struct dom0_shadow_control {
  20.147      /* IN variables. */
  20.148      domid_t        domain;
  20.149      uint32_t       op;
  20.150 @@ -248,14 +247,14 @@ typedef struct {
  20.151  } dom0_shadow_control_t;
  20.152  
  20.153  #define DOM0_SETDOMAINMAXMEM   28
  20.154 -typedef struct {
  20.155 +typedef struct dom0_setdomainmaxmem {
  20.156      /* IN variables. */
  20.157      domid_t       domain;
  20.158      unsigned long max_memkb;
  20.159  } dom0_setdomainmaxmem_t;
  20.160  
  20.161  #define DOM0_GETPAGEFRAMEINFO2 29   /* batched interface */
  20.162 -typedef struct {
  20.163 +typedef struct dom0_getpageframeinfo2 {
  20.164      /* IN variables. */
  20.165      domid_t        domain;
  20.166      unsigned long  num;
  20.167 @@ -271,7 +270,7 @@ typedef struct {
  20.168   * (x86-specific).
  20.169   */
  20.170  #define DOM0_ADD_MEMTYPE         31
  20.171 -typedef struct {
  20.172 +typedef struct dom0_add_memtype {
  20.173      /* IN variables. */
  20.174      unsigned long pfn;
  20.175      unsigned long nr_pfns;
  20.176 @@ -289,7 +288,7 @@ typedef struct {
  20.177   * (x86-specific).
  20.178   */
  20.179  #define DOM0_DEL_MEMTYPE         32
  20.180 -typedef struct {
  20.181 +typedef struct dom0_del_memtype {
  20.182      /* IN variables. */
  20.183      uint32_t handle;
  20.184      uint32_t reg;
  20.185 @@ -297,7 +296,7 @@ typedef struct {
  20.186  
  20.187  /* Read current type of an MTRR (x86-specific). */
  20.188  #define DOM0_READ_MEMTYPE        33
  20.189 -typedef struct {
  20.190 +typedef struct dom0_read_memtype {
  20.191      /* IN variables. */
  20.192      uint32_t reg;
  20.193      /* OUT variables. */
  20.194 @@ -311,12 +310,12 @@ typedef struct {
  20.195  /* Sub-operations: */
  20.196  #define DOM0_PERFCCONTROL_OP_RESET 1   /* Reset all counters to zero. */
  20.197  #define DOM0_PERFCCONTROL_OP_QUERY 2   /* Get perfctr information. */
  20.198 -typedef struct {
  20.199 +typedef struct dom0_perfc_desc {
  20.200      uint8_t      name[80];             /* name of perf counter */
  20.201      uint32_t     nr_vals;              /* number of values for this counter */
  20.202      uint32_t     vals[64];             /* array of values */
  20.203  } dom0_perfc_desc_t;
  20.204 -typedef struct {
  20.205 +typedef struct dom0_perfccontrol {
  20.206      /* IN variables. */
  20.207      uint32_t       op;                /*  DOM0_PERFCCONTROL_OP_??? */
  20.208      /* OUT variables. */
  20.209 @@ -325,14 +324,14 @@ typedef struct {
  20.210  } dom0_perfccontrol_t;
  20.211  
  20.212  #define DOM0_MICROCODE           35
  20.213 -typedef struct {
  20.214 +typedef struct dom0_microcode {
  20.215      /* IN variables. */
  20.216      void    *data;                    /* Pointer to microcode data */
  20.217      uint32_t length;                  /* Length of microcode data. */
  20.218  } dom0_microcode_t;
  20.219  
  20.220  #define DOM0_IOPORT_PERMISSION   36
  20.221 -typedef struct {
  20.222 +typedef struct dom0_ioport_permission {
  20.223      domid_t  domain;                  /* domain to be affected */
  20.224      uint32_t first_port;              /* first port int range */
  20.225      uint32_t nr_ports;                /* size of port range */
  20.226 @@ -340,7 +339,7 @@ typedef struct {
  20.227  } dom0_ioport_permission_t;
  20.228  
  20.229  #define DOM0_GETVCPUCONTEXT      37
  20.230 -typedef struct {
  20.231 +typedef struct dom0_getvcpucontext {
  20.232      /* IN variables. */
  20.233      domid_t  domain;                  /* domain to be affected */
  20.234      uint32_t vcpu;                    /* vcpu # */
  20.235 @@ -349,7 +348,7 @@ typedef struct {
  20.236  } dom0_getvcpucontext_t;
  20.237  
  20.238  #define DOM0_GETVCPUINFO         43
  20.239 -typedef struct {
  20.240 +typedef struct dom0_getvcpuinfo {
  20.241      /* IN variables. */
  20.242      domid_t  domain;                  /* domain to be affected */
  20.243      uint32_t vcpu;                    /* vcpu # */
  20.244 @@ -363,7 +362,7 @@ typedef struct {
  20.245  } dom0_getvcpuinfo_t;
  20.246  
  20.247  #define DOM0_GETDOMAININFOLIST   38
  20.248 -typedef struct {
  20.249 +typedef struct dom0_getdomaininfolist {
  20.250      /* IN variables. */
  20.251      domid_t               first_domain;
  20.252      uint32_t              max_domains;
  20.253 @@ -374,13 +373,13 @@ typedef struct {
  20.254  
  20.255  #define DOM0_PLATFORM_QUIRK      39  
  20.256  #define QUIRK_NOIRQBALANCING  1
  20.257 -typedef struct {
  20.258 +typedef struct dom0_platform_quirk {
  20.259      /* IN variables. */
  20.260      uint32_t quirk_id;
  20.261  } dom0_platform_quirk_t;
  20.262  
  20.263  #define DOM0_PHYSICAL_MEMORY_MAP 40
  20.264 -typedef struct {
  20.265 +typedef struct dom0_physical_memory_map {
  20.266      /* IN variables. */
  20.267      uint32_t max_map_entries;
  20.268      /* OUT variables. */
  20.269 @@ -393,32 +392,32 @@ typedef struct {
  20.270  } dom0_physical_memory_map_t;
  20.271  
  20.272  #define DOM0_MAX_VCPUS 41
  20.273 -typedef struct {
  20.274 +typedef struct dom0_max_vcpus {
  20.275      domid_t  domain;        /* domain to be affected */
  20.276      uint32_t max;           /* maximum number of vcpus */
  20.277  } dom0_max_vcpus_t;
  20.278  
  20.279  #define DOM0_SETDOMAINHANDLE 44
  20.280 -typedef struct {
  20.281 +typedef struct dom0_setdomainhandle {
  20.282      domid_t domain;
  20.283      xen_domain_handle_t handle;
  20.284  } dom0_setdomainhandle_t;
  20.285  
  20.286  #define DOM0_SETDEBUGGING 45
  20.287 -typedef struct {
  20.288 +typedef struct dom0_setdebugging {
  20.289      domid_t domain;
  20.290      uint8_t enable;
  20.291  } dom0_setdebugging_t;
  20.292  
  20.293  #define DOM0_IRQ_PERMISSION 46
  20.294 -typedef struct {
  20.295 +typedef struct dom0_irq_permission {
  20.296      domid_t domain;          /* domain to be affected */
  20.297      uint8_t pirq;
  20.298      uint8_t allow_access;    /* flag to specify enable/disable of IRQ access */
  20.299  } dom0_irq_permission_t;
  20.300  
  20.301  #define DOM0_IOMEM_PERMISSION 47
  20.302 -typedef struct {
  20.303 +typedef struct dom0_iomem_permission {
  20.304      domid_t  domain;          /* domain to be affected */
  20.305      unsigned long first_pfn;  /* first page (physical page number) in range */
  20.306      unsigned long nr_pfns;    /* number of pages in range (>0) */
  20.307 @@ -426,52 +425,52 @@ typedef struct {
  20.308  } dom0_iomem_permission_t;
  20.309   
  20.310  #define DOM0_HYPERCALL_INIT   48
  20.311 -typedef struct {
  20.312 +typedef struct dom0_hypercall_init {
  20.313      domid_t  domain;          /* domain to be affected */
  20.314      unsigned long mfn;        /* machine frame to be initialised */
  20.315  } dom0_hypercall_init_t;
  20.316   
  20.317 -typedef struct {
  20.318 +typedef struct dom0_op {
  20.319      uint32_t cmd;
  20.320      uint32_t interface_version; /* DOM0_INTERFACE_VERSION */
  20.321      union {
  20.322 -        dom0_createdomain_t      createdomain;
  20.323 -        dom0_pausedomain_t       pausedomain;
  20.324 -        dom0_unpausedomain_t     unpausedomain;
  20.325 -        dom0_destroydomain_t     destroydomain;
  20.326 -        dom0_getmemlist_t        getmemlist;
  20.327 -        dom0_schedctl_t          schedctl;
  20.328 -        dom0_adjustdom_t         adjustdom;
  20.329 -        dom0_setvcpucontext_t    setvcpucontext;
  20.330 -        dom0_getdomaininfo_t     getdomaininfo;
  20.331 -        dom0_getpageframeinfo_t  getpageframeinfo;
  20.332 -        dom0_msr_t               msr;
  20.333 -        dom0_settime_t           settime;
  20.334 -        dom0_readconsole_t       readconsole;
  20.335 -        dom0_setvcpuaffinity_t   setvcpuaffinity;
  20.336 -        dom0_tbufcontrol_t       tbufcontrol;
  20.337 -        dom0_physinfo_t          physinfo;
  20.338 -        dom0_sched_id_t          sched_id;
  20.339 -        dom0_shadow_control_t    shadow_control;
  20.340 -        dom0_setdomainmaxmem_t   setdomainmaxmem;
  20.341 -        dom0_getpageframeinfo2_t getpageframeinfo2;
  20.342 -        dom0_add_memtype_t       add_memtype;
  20.343 -        dom0_del_memtype_t       del_memtype;
  20.344 -        dom0_read_memtype_t      read_memtype;
  20.345 -        dom0_perfccontrol_t      perfccontrol;
  20.346 -        dom0_microcode_t         microcode;
  20.347 -        dom0_ioport_permission_t ioport_permission;
  20.348 -        dom0_getvcpucontext_t    getvcpucontext;
  20.349 -        dom0_getvcpuinfo_t       getvcpuinfo;
  20.350 -        dom0_getdomaininfolist_t getdomaininfolist;
  20.351 -        dom0_platform_quirk_t    platform_quirk;
  20.352 -        dom0_physical_memory_map_t physical_memory_map;
  20.353 -        dom0_max_vcpus_t         max_vcpus;
  20.354 -        dom0_setdomainhandle_t   setdomainhandle;        
  20.355 -        dom0_setdebugging_t      setdebugging;
  20.356 -        dom0_irq_permission_t    irq_permission;
  20.357 -        dom0_iomem_permission_t  iomem_permission;
  20.358 -        dom0_hypercall_init_t    hypercall_init;
  20.359 +        struct dom0_createdomain      createdomain;
  20.360 +        struct dom0_pausedomain       pausedomain;
  20.361 +        struct dom0_unpausedomain     unpausedomain;
  20.362 +        struct dom0_destroydomain     destroydomain;
  20.363 +        struct dom0_getmemlist        getmemlist;
  20.364 +        struct sched_ctl_cmd          schedctl;
  20.365 +        struct sched_adjdom_cmd       adjustdom;
  20.366 +        struct dom0_setvcpucontext    setvcpucontext;
  20.367 +        struct dom0_getdomaininfo     getdomaininfo;
  20.368 +        struct dom0_getpageframeinfo  getpageframeinfo;
  20.369 +        struct dom0_msr               msr;
  20.370 +        struct dom0_settime           settime;
  20.371 +        struct dom0_readconsole       readconsole;
  20.372 +        struct dom0_setvcpuaffinity   setvcpuaffinity;
  20.373 +        struct dom0_tbufcontrol       tbufcontrol;
  20.374 +        struct dom0_physinfo          physinfo;
  20.375 +        struct dom0_sched_id          sched_id;
  20.376 +        struct dom0_shadow_control    shadow_control;
  20.377 +        struct dom0_setdomainmaxmem   setdomainmaxmem;
  20.378 +        struct dom0_getpageframeinfo2 getpageframeinfo2;
  20.379 +        struct dom0_add_memtype       add_memtype;
  20.380 +        struct dom0_del_memtype       del_memtype;
  20.381 +        struct dom0_read_memtype      read_memtype;
  20.382 +        struct dom0_perfccontrol      perfccontrol;
  20.383 +        struct dom0_microcode         microcode;
  20.384 +        struct dom0_ioport_permission ioport_permission;
  20.385 +        struct dom0_getvcpucontext    getvcpucontext;
  20.386 +        struct dom0_getvcpuinfo       getvcpuinfo;
  20.387 +        struct dom0_getdomaininfolist getdomaininfolist;
  20.388 +        struct dom0_platform_quirk    platform_quirk;
  20.389 +        struct dom0_physical_memory_map physical_memory_map;
  20.390 +        struct dom0_max_vcpus         max_vcpus;
  20.391 +        struct dom0_setdomainhandle   setdomainhandle;        
  20.392 +        struct dom0_setdebugging      setdebugging;
  20.393 +        struct dom0_irq_permission    irq_permission;
  20.394 +        struct dom0_iomem_permission  iomem_permission;
  20.395 +        struct dom0_hypercall_init    hypercall_init;
  20.396          uint8_t                  pad[128];
  20.397      } u;
  20.398  } dom0_op_t;
    21.1 --- a/xen/include/public/xen.h	Fri Jan 27 21:57:07 2006 +0100
    21.2 +++ b/xen/include/public/xen.h	Fri Jan 27 22:18:15 2006 +0100
    21.3 @@ -250,8 +250,7 @@ typedef uint16_t domid_t;
    21.4   * Send an array of these to HYPERVISOR_mmu_update().
    21.5   * NB. The fields are natural pointer/address size for this architecture.
    21.6   */
    21.7 -typedef struct
    21.8 -{
    21.9 +typedef struct mmu_update {
   21.10      uint64_t ptr;       /* Machine address of PTE. */
   21.11      uint64_t val;       /* New contents of PTE.    */
   21.12  } mmu_update_t;
   21.13 @@ -260,8 +259,7 @@ typedef struct
   21.14   * Send an array of these to HYPERVISOR_multicall().
   21.15   * NB. The fields are natural register size for this architecture.
   21.16   */
   21.17 -typedef struct
   21.18 -{
   21.19 +typedef struct multicall_entry {
   21.20      unsigned long op, result;
   21.21      unsigned long args[6];
   21.22  } multicall_entry_t;
    22.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.2 +++ b/xen/include/xen/hypercall.h	Fri Jan 27 22:18:15 2006 +0100
    22.3 @@ -0,0 +1,86 @@
    22.4 +/******************************************************************************
    22.5 + * hypercall.h
    22.6 + */
    22.7 +
    22.8 +#ifndef __XEN_HYPERCALL_H__
    22.9 +#define __XEN_HYPERCALL_H__
   22.10 +
   22.11 +#include <xen/config.h>
   22.12 +#include <xen/types.h>
   22.13 +#include <xen/time.h>
   22.14 +#include <public/xen.h>
   22.15 +#include <asm/hypercall.h>
   22.16 +
   22.17 +extern long
   22.18 +do_ni_hypercall(
   22.19 +    void);
   22.20 +
   22.21 +extern long
   22.22 +do_sched_op(
   22.23 +    int cmd,
   22.24 +    unsigned long arg);
   22.25 +
   22.26 +struct dom0_op;
   22.27 +extern long
   22.28 +do_dom0_op(
   22.29 +    struct dom0_op *u_dom0_op);
   22.30 +
   22.31 +extern long
   22.32 +do_memory_op(
   22.33 +    int cmd,
   22.34 +    void *arg);
   22.35 +
   22.36 +struct multicall_entry;
   22.37 +extern long
   22.38 +do_multicall(
   22.39 +    struct multicall_entry *call_list,
   22.40 +    unsigned int nr_calls);
   22.41 +
   22.42 +extern long
   22.43 +do_set_timer_op(
   22.44 +    s_time_t timeout);
   22.45 +
   22.46 +struct evtchn_op;
   22.47 +extern long
   22.48 +do_event_channel_op(
   22.49 +    struct evtchn_op *uop);
   22.50 +
   22.51 +extern long
   22.52 +do_xen_version(
   22.53 +    int cmd,
   22.54 +    void *arg);
   22.55 +
   22.56 +extern long
   22.57 +do_console_io(
   22.58 +    int cmd,
   22.59 +    int count,
   22.60 +    char *buffer);
   22.61 +
   22.62 +extern long
   22.63 +do_grant_table_op(
   22.64 +    unsigned int cmd,
   22.65 +    void *uop,
   22.66 +    unsigned int count);
   22.67 +
   22.68 +extern long
   22.69 +do_vm_assist(
   22.70 +    unsigned int cmd,
   22.71 +    unsigned int type);
   22.72 +
   22.73 +extern long
   22.74 +do_vcpu_op(
   22.75 +    int cmd,
   22.76 +    int vcpuid,
   22.77 +    void *arg);
   22.78 +
   22.79 +struct acm_op;
   22.80 +extern long
   22.81 +do_acm_op(
   22.82 +    struct acm_op *u_acm_op);
   22.83 +
   22.84 +extern long
   22.85 +do_nmi_op(
   22.86 +    unsigned int cmd,
   22.87 +    void *arg);
   22.88 +
   22.89 +#endif /* __XEN_HYPERCALL_H__ */
    23.1 --- a/xen/include/xen/multicall.h	Fri Jan 27 21:57:07 2006 +0100
    23.2 +++ b/xen/include/xen/multicall.h	Fri Jan 27 22:18:15 2006 +0100
    23.3 @@ -12,8 +12,8 @@
    23.4  #define MCSF_in_multicall    (1<<_MCSF_in_multicall)
    23.5  #define MCSF_call_preempted  (1<<_MCSF_call_preempted)
    23.6  struct mc_state {
    23.7 -    unsigned long     flags;
    23.8 -    multicall_entry_t call;
    23.9 +    unsigned long flags;
   23.10 +    struct multicall_entry call;
   23.11  } __cacheline_aligned;
   23.12  
   23.13  extern struct mc_state mc_state[NR_CPUS];