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
     1.1 --- a/linux-2.6-xen-sparse/arch/xen/kernel/gnttab.c	Thu Aug 25 14:41:06 2005 +0000
     1.2 +++ b/linux-2.6-xen-sparse/arch/xen/kernel/gnttab.c	Thu Aug 25 14:41:52 2005 +0000
     1.3 @@ -34,9 +34,11 @@
     1.4  
     1.5  
     1.6  EXPORT_SYMBOL(gnttab_grant_foreign_access);
     1.7 +EXPORT_SYMBOL(gnttab_end_foreign_access_ref);
     1.8  EXPORT_SYMBOL(gnttab_end_foreign_access);
     1.9  EXPORT_SYMBOL(gnttab_query_foreign_access);
    1.10  EXPORT_SYMBOL(gnttab_grant_foreign_transfer);
    1.11 +EXPORT_SYMBOL(gnttab_end_foreign_transfer_ref);
    1.12  EXPORT_SYMBOL(gnttab_end_foreign_transfer);
    1.13  EXPORT_SYMBOL(gnttab_alloc_grant_references);
    1.14  EXPORT_SYMBOL(gnttab_free_grant_references);
    1.15 @@ -160,7 +162,7 @@ gnttab_query_foreign_access(grant_ref_t 
    1.16  }
    1.17  
    1.18  void
    1.19 -gnttab_end_foreign_access(grant_ref_t ref, int readonly)
    1.20 +gnttab_end_foreign_access_ref(grant_ref_t ref, int readonly)
    1.21  {
    1.22      u16 flags, nflags;
    1.23  
    1.24 @@ -170,7 +172,12 @@ gnttab_end_foreign_access(grant_ref_t re
    1.25              printk(KERN_ALERT "WARNING: g.e. still in use!\n");
    1.26      }
    1.27      while ( (nflags = synch_cmpxchg(&shared[ref].flags, flags, 0)) != flags );
    1.28 +}
    1.29  
    1.30 +void
    1.31 +gnttab_end_foreign_access(grant_ref_t ref, int readonly)
    1.32 +{
    1.33 +    gnttab_end_foreign_access_ref(ref, readonly);
    1.34      put_free_entry(ref);
    1.35  }
    1.36  
    1.37 @@ -201,20 +208,13 @@ gnttab_grant_foreign_transfer_ref(grant_
    1.38  }
    1.39  
    1.40  unsigned long
    1.41 -gnttab_end_foreign_transfer(grant_ref_t ref)
    1.42 +gnttab_end_foreign_transfer_ref(grant_ref_t ref)
    1.43  {
    1.44      unsigned long frame = 0;
    1.45      u16           flags;
    1.46  
    1.47      flags = shared[ref].flags;
    1.48 -#ifdef CONFIG_XEN_NETDEV_GRANT_RX
    1.49 -    /*
    1.50 -     * But can't flags == (GTF_accept_transfer | GTF_transfer_completed)
    1.51 -     * if gnttab_donate executes without interruption???
    1.52 -     */
    1.53 -#else
    1.54 -    ASSERT(flags == (GTF_accept_transfer | GTF_transfer_committed));
    1.55 -#endif
    1.56 +
    1.57      /*
    1.58       * If a transfer is committed then wait for the frame address to appear.
    1.59       * Otherwise invalidate the grant entry against future use.
    1.60 @@ -224,8 +224,14 @@ gnttab_end_foreign_transfer(grant_ref_t 
    1.61          while ( unlikely((frame = shared[ref].frame) == 0) )
    1.62              cpu_relax();
    1.63  
    1.64 +    return frame;
    1.65 +}
    1.66 +
    1.67 +unsigned long
    1.68 +gnttab_end_foreign_transfer(grant_ref_t ref)
    1.69 +{
    1.70 +    unsigned long frame = gnttab_end_foreign_transfer_ref(ref);
    1.71      put_free_entry(ref);
    1.72 -
    1.73      return frame;
    1.74  }
    1.75  
     2.1 --- a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c	Thu Aug 25 14:41:06 2005 +0000
     2.2 +++ b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c	Thu Aug 25 14:41:52 2005 +0000
     2.3 @@ -364,7 +364,7 @@ static void network_tx_buf_gc(struct net
     2.4                         "still in use by backend domain.\n");
     2.5                  goto out; 
     2.6              }
     2.7 -            gnttab_end_foreign_access(grant_tx_ref[id], GNTMAP_readonly);
     2.8 +            gnttab_end_foreign_access_ref(grant_tx_ref[id], GNTMAP_readonly);
     2.9              gnttab_release_grant_reference(&gref_tx_head, grant_tx_ref[id]);
    2.10              grant_tx_ref[id] = GRANT_INVALID_REF;
    2.11  #endif
    2.12 @@ -650,7 +650,7 @@ static int netif_poll(struct net_device 
    2.13  #ifdef CONFIG_XEN_NETDEV_GRANT_RX
    2.14          ref = grant_rx_ref[rx->id];
    2.15          grant_rx_ref[rx->id] = GRANT_INVALID_REF;
    2.16 -        mfn = gnttab_end_foreign_transfer(ref);
    2.17 +        mfn = gnttab_end_foreign_transfer_ref(ref);
    2.18          gnttab_release_grant_reference(&gref_rx_head, ref);
    2.19  #endif
    2.20  
     3.1 --- a/linux-2.6-xen-sparse/include/asm-xen/gnttab.h	Thu Aug 25 14:41:06 2005 +0000
     3.2 +++ b/linux-2.6-xen-sparse/include/asm-xen/gnttab.h	Thu Aug 25 14:41:52 2005 +0000
     3.3 @@ -30,10 +30,12 @@ struct gnttab_free_callback {
     3.4  int gnttab_grant_foreign_access(domid_t domid, unsigned long frame,
     3.5  				int readonly);
     3.6  
     3.7 +void gnttab_end_foreign_access_ref(grant_ref_t ref, int readonly);
     3.8  void gnttab_end_foreign_access(grant_ref_t ref, int readonly);
     3.9  
    3.10  int gnttab_grant_foreign_transfer(domid_t domid, unsigned long pfn);
    3.11  
    3.12 +unsigned long gnttab_end_foreign_transfer_ref(grant_ref_t ref);
    3.13  unsigned long gnttab_end_foreign_transfer(grant_ref_t ref);
    3.14  
    3.15  int gnttab_query_foreign_access(grant_ref_t ref);