ia64/xen-unstable

changeset 6427:3428d58a85e1

merge?
author cl349@firebug.cl.cam.ac.uk
date Thu Aug 25 14:41:52 2005 +0000 (2005-08-25)
parents fab3e2747dc2 56a2232377f1
children 102765de794c
files Config.mk linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_64 linux-2.6-xen-sparse/arch/xen/i386/kernel/cpu/common.c linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c linux-2.6-xen-sparse/arch/xen/i386/kernel/traps.c linux-2.6-xen-sparse/arch/xen/kernel/gnttab.c linux-2.6-xen-sparse/arch/xen/kernel/reboot.c linux-2.6-xen-sparse/arch/xen/x86_64/ia32/syscall32.c linux-2.6-xen-sparse/arch/xen/x86_64/kernel/early_printk.c linux-2.6-xen-sparse/arch/xen/x86_64/kernel/head.S linux-2.6-xen-sparse/arch/xen/x86_64/kernel/head64.c linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup.c linux-2.6-xen-sparse/arch/xen/x86_64/kernel/setup64.c linux-2.6-xen-sparse/arch/xen/x86_64/kernel/smpboot.c linux-2.6-xen-sparse/arch/xen/x86_64/mm/init.c linux-2.6-xen-sparse/drivers/xen/blkback/xenbus.c linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c linux-2.6-xen-sparse/drivers/xen/blkfront/block.h linux-2.6-xen-sparse/drivers/xen/console/console.c linux-2.6-xen-sparse/drivers/xen/netback/Makefile linux-2.6-xen-sparse/drivers/xen/netback/common.h linux-2.6-xen-sparse/drivers/xen/netback/interface.c linux-2.6-xen-sparse/drivers/xen/netback/netback.c linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_probe.c linux-2.6-xen-sparse/include/asm-xen/asm-i386/mach-xen/setup_arch_post.h linux-2.6-xen-sparse/include/asm-xen/gnttab.h tools/blktap/blktaplib.h tools/blktap/parallax/block-async.h tools/blktap/parallax/blockstore.h tools/console/Makefile tools/console/client/main.c tools/console/daemon/io.c tools/console/daemon/main.c tools/console/daemon/utils.c tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/linux-xen-low.c tools/debugger/libxendebug/Makefile tools/debugger/libxendebug/xendebug.c tools/debugger/libxendebug/xendebug.h tools/debugger/pdb/pdb_caml_domain.c tools/debugger/pdb/pdb_caml_evtchn.c tools/debugger/pdb/pdb_caml_process.c tools/debugger/pdb/pdb_caml_xc.c tools/debugger/pdb/pdb_caml_xcs.c tools/debugger/pdb/pdb_xen.c tools/examples/README tools/firmware/acpi/acpi2_0.h tools/ioemu/hw/i8254.c tools/ioemu/hw/i8259.c tools/ioemu/hw/ioapic.h tools/ioemu/target-i386-dm/Makefile tools/ioemu/target-i386-dm/helper2.c tools/ioemu/vl.c tools/libxc/Makefile tools/libxc/xc_core.c tools/libxc/xc_domain.c tools/libxc/xc_linux_build.c tools/libxc/xc_linux_restore.c tools/libxc/xc_linux_save.c tools/libxc/xc_load_aout9.c tools/libxc/xc_load_bin.c tools/libxc/xc_load_elf.c tools/libxc/xc_private.c tools/libxc/xc_private.h tools/libxc/xc_vmx_build.c tools/libxc/xenctrl.h tools/libxc/xenguest.h tools/libxc/xg_private.c tools/libxc/xg_private.h tools/misc/Makefile tools/misc/cpuperf/Makefile tools/misc/cpuperf/cpuperf_xeno.h tools/misc/xc_shadow.c tools/misc/xenperf.c tools/python/setup.py tools/python/xen/lowlevel/xc/xc.c tools/python/xen/lowlevel/xu/xu.c tools/python/xen/xend/XendDomainInfo.py tools/python/xen/xm/main.py tools/xcs/Makefile tools/xcs/dump.h tools/xcs/xcs.h tools/xcs/xcsdump.c tools/xcutils/Makefile tools/xcutils/xc_restore.c tools/xcutils/xc_save.c tools/xenstore/Makefile tools/xenstore/xs_dom0_test.c tools/xenstore/xs_lib.h tools/xentrace/Makefile tools/xentrace/xenctx.c xen/arch/x86/cpu/amd.c xen/arch/x86/mm.c
line diff
     6.1 --- a/linux-2.6-xen-sparse/arch/xen/kernel/gnttab.c	Thu Aug 25 14:41:06 2005 +0000
     6.2 +++ b/linux-2.6-xen-sparse/arch/xen/kernel/gnttab.c	Thu Aug 25 14:41:52 2005 +0000
     6.3 @@ -34,9 +34,11 @@
     6.4  
     6.5  
     6.6  EXPORT_SYMBOL(gnttab_grant_foreign_access);
     6.7 +EXPORT_SYMBOL(gnttab_end_foreign_access_ref);
     6.8  EXPORT_SYMBOL(gnttab_end_foreign_access);
     6.9  EXPORT_SYMBOL(gnttab_query_foreign_access);
    6.10  EXPORT_SYMBOL(gnttab_grant_foreign_transfer);
    6.11 +EXPORT_SYMBOL(gnttab_end_foreign_transfer_ref);
    6.12  EXPORT_SYMBOL(gnttab_end_foreign_transfer);
    6.13  EXPORT_SYMBOL(gnttab_alloc_grant_references);
    6.14  EXPORT_SYMBOL(gnttab_free_grant_references);
    6.15 @@ -160,7 +162,7 @@ gnttab_query_foreign_access(grant_ref_t 
    6.16  }
    6.17  
    6.18  void
    6.19 -gnttab_end_foreign_access(grant_ref_t ref, int readonly)
    6.20 +gnttab_end_foreign_access_ref(grant_ref_t ref, int readonly)
    6.21  {
    6.22      u16 flags, nflags;
    6.23  
    6.24 @@ -170,7 +172,12 @@ gnttab_end_foreign_access(grant_ref_t re
    6.25              printk(KERN_ALERT "WARNING: g.e. still in use!\n");
    6.26      }
    6.27      while ( (nflags = synch_cmpxchg(&shared[ref].flags, flags, 0)) != flags );
    6.28 +}
    6.29  
    6.30 +void
    6.31 +gnttab_end_foreign_access(grant_ref_t ref, int readonly)
    6.32 +{
    6.33 +    gnttab_end_foreign_access_ref(ref, readonly);
    6.34      put_free_entry(ref);
    6.35  }
    6.36  
    6.37 @@ -201,20 +208,13 @@ gnttab_grant_foreign_transfer_ref(grant_
    6.38  }
    6.39  
    6.40  unsigned long
    6.41 -gnttab_end_foreign_transfer(grant_ref_t ref)
    6.42 +gnttab_end_foreign_transfer_ref(grant_ref_t ref)
    6.43  {
    6.44      unsigned long frame = 0;
    6.45      u16           flags;
    6.46  
    6.47      flags = shared[ref].flags;
    6.48 -#ifdef CONFIG_XEN_NETDEV_GRANT_RX
    6.49 -    /*
    6.50 -     * But can't flags == (GTF_accept_transfer | GTF_transfer_completed)
    6.51 -     * if gnttab_donate executes without interruption???
    6.52 -     */
    6.53 -#else
    6.54 -    ASSERT(flags == (GTF_accept_transfer | GTF_transfer_committed));
    6.55 -#endif
    6.56 +
    6.57      /*
    6.58       * If a transfer is committed then wait for the frame address to appear.
    6.59       * Otherwise invalidate the grant entry against future use.
    6.60 @@ -224,8 +224,14 @@ gnttab_end_foreign_transfer(grant_ref_t 
    6.61          while ( unlikely((frame = shared[ref].frame) == 0) )
    6.62              cpu_relax();
    6.63  
    6.64 +    return frame;
    6.65 +}
    6.66 +
    6.67 +unsigned long
    6.68 +gnttab_end_foreign_transfer(grant_ref_t ref)
    6.69 +{
    6.70 +    unsigned long frame = gnttab_end_foreign_transfer_ref(ref);
    6.71      put_free_entry(ref);
    6.72 -
    6.73      return frame;
    6.74  }
    6.75  
    24.1 --- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c	Thu Aug 25 14:41:06 2005 +0000
    24.2 +++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c	Thu Aug 25 14:41:52 2005 +0000
    24.3 @@ -364,7 +364,7 @@ static void network_tx_buf_gc(struct net
    24.4                         "still in use by backend domain.\n");
    24.5                  goto out; 
    24.6              }
    24.7 -            gnttab_end_foreign_access(grant_tx_ref[id], GNTMAP_readonly);
    24.8 +            gnttab_end_foreign_access_ref(grant_tx_ref[id], GNTMAP_readonly);
    24.9              gnttab_release_grant_reference(&gref_tx_head, grant_tx_ref[id]);
   24.10              grant_tx_ref[id] = GRANT_INVALID_REF;
   24.11  #endif
   24.12 @@ -650,7 +650,7 @@ static int netif_poll(struct net_device 
   24.13  #ifdef CONFIG_XEN_NETDEV_GRANT_RX
   24.14          ref = grant_rx_ref[rx->id];
   24.15          grant_rx_ref[rx->id] = GRANT_INVALID_REF;
   24.16 -        mfn = gnttab_end_foreign_transfer(ref);
   24.17 +        mfn = gnttab_end_foreign_transfer_ref(ref);
   24.18          gnttab_release_grant_reference(&gref_rx_head, ref);
   24.19  #endif
   24.20  
    27.1 --- a/linux-2.6-xen-sparse/include/asm-xen/gnttab.h	Thu Aug 25 14:41:06 2005 +0000
    27.2 +++ b/linux-2.6-xen-sparse/include/asm-xen/gnttab.h	Thu Aug 25 14:41:52 2005 +0000
    27.3 @@ -30,10 +30,12 @@ struct gnttab_free_callback {
    27.4  int gnttab_grant_foreign_access(domid_t domid, unsigned long frame,
    27.5  				int readonly);
    27.6  
    27.7 +void gnttab_end_foreign_access_ref(grant_ref_t ref, int readonly);
    27.8  void gnttab_end_foreign_access(grant_ref_t ref, int readonly);
    27.9  
   27.10  int gnttab_grant_foreign_transfer(domid_t domid, unsigned long pfn);
   27.11  
   27.12 +unsigned long gnttab_end_foreign_transfer_ref(grant_ref_t ref);
   27.13  unsigned long gnttab_end_foreign_transfer(grant_ref_t ref);
   27.14  
   27.15  int gnttab_query_foreign_access(grant_ref_t ref);