WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] Add an explicit result field to multicall_entry_t, rathe

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Add an explicit result field to multicall_entry_t, rather than abusing
From: BitKeeper Bot <riel@xxxxxxxxxxx>
Date: Wed, 01 Jun 2005 09:49:24 +0000
Delivery-date: Wed, 01 Jun 2005 13:01:26 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: Xen Development List <xen-devel@xxxxxxxxxxxxxxxxxxx>
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
ChangeSet 1.1625, 2005/06/01 10:49:24+01:00, kaf24@xxxxxxxxxxxxxxxxxxxx

        Add an explicit result field to multicall_entry_t, rather than abusing
        the sixth argument field.
        Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>



 freebsd-5.3-xen-sparse/i386-xen/xen/netfront/xn_netfront.c |    2 -
 linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c      |    2 -
 linux-2.6.11-xen-sparse/drivers/xen/netback/netback.c      |    8 ++---
 linux-2.6.11-xen-sparse/drivers/xen/netfront/netfront.c    |    2 -
 linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c      |    2 -
 netbsd-2.0-xen-sparse/sys/arch/xen/xen/if_xennet.c         |    4 +-
 xen/arch/x86/x86_32/asm-offsets.c                          |    4 ++
 xen/arch/x86/x86_64/asm-offsets.c                          |    4 ++
 xen/include/public/arch-ia64.h                             |    1 
 xen/include/public/arch-x86_32.h                           |    1 
 xen/include/public/arch-x86_64.h                           |    1 
 xen/include/public/xen.h                                   |   18 ++-----------
 12 files changed, 20 insertions(+), 29 deletions(-)


diff -Nru a/freebsd-5.3-xen-sparse/i386-xen/xen/netfront/xn_netfront.c 
b/freebsd-5.3-xen-sparse/i386-xen/xen/netfront/xn_netfront.c
--- a/freebsd-5.3-xen-sparse/i386-xen/xen/netfront/xn_netfront.c        
2005-06-01 09:02:17 -04:00
+++ b/freebsd-5.3-xen-sparse/i386-xen/xen/netfront/xn_netfront.c        
2005-06-01 09:02:17 -04:00
@@ -454,7 +454,7 @@
     (void)HYPERVISOR_multicall(xn_rx_mcl, i+1);
 
     /* Check return status of HYPERVISOR_dom_mem_op(). */
-    if (unlikely(xn_rx_mcl[i].args[5] != i))
+    if (unlikely(xn_rx_mcl[i].result != i))
         panic("Unable to reduce memory reservation\n");
 
     /* Above is a suitable barrier to ensure backend will see requests. */
diff -Nru a/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c 
b/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c
--- a/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c     2005-06-01 
09:02:17 -04:00
+++ b/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c     2005-06-01 
09:02:17 -04:00
@@ -562,7 +562,7 @@
 
     for ( i = 0; i < nseg; i++ )
     {
-        if ( unlikely(mcl[i].args[5] != 0) )
+        if ( unlikely(mcl[i].result != 0) )
         {
             DPRINTK("invalid buffer -- could not remap it\n");
             fast_flush_area(pending_idx, nseg);
diff -Nru a/linux-2.6.11-xen-sparse/drivers/xen/netback/netback.c 
b/linux-2.6.11-xen-sparse/drivers/xen/netback/netback.c
--- a/linux-2.6.11-xen-sparse/drivers/xen/netback/netback.c     2005-06-01 
09:02:17 -04:00
+++ b/linux-2.6.11-xen-sparse/drivers/xen/netback/netback.c     2005-06-01 
09:02:17 -04:00
@@ -296,12 +296,12 @@
         netif->stats.tx_packets++;
 
         /* The update_va_mapping() must not fail. */
-        if ( unlikely(mcl[0].args[5] != 0) )
+        if ( unlikely(mcl[0].result != 0) )
             BUG();
 
         /* Check the reassignment error code. */
         status = NETIF_RSP_OKAY;
-        if ( unlikely(mcl[1].args[5] != 0) )
+        if ( unlikely(mcl[1].result != 0) )
         {
             DPRINTK("Failed MMU update transferring to DOM%u\n", netif->domid);
             free_mfn(mdata >> PAGE_SHIFT);
@@ -440,7 +440,7 @@
     while ( dealloc_cons != dp )
     {
         /* The update_va_mapping() must not fail. */
-        if ( unlikely(mcl[0].args[5] != 0) )
+        if ( unlikely(mcl[0].result != 0) )
             BUG();
 
         pending_idx = dealloc_ring[MASK_PEND_IDX(dealloc_cons++)];
@@ -606,7 +606,7 @@
         memcpy(&txreq, &pending_tx_info[pending_idx].req, sizeof(txreq));
 
         /* Check the remap error code. */
-        if ( unlikely(mcl[0].args[5] != 0) )
+        if ( unlikely(mcl[0].result != 0) )
         {
             DPRINTK("Bad page frame\n");
             make_tx_response(netif, txreq.id, NETIF_RSP_ERROR);
diff -Nru a/linux-2.6.11-xen-sparse/drivers/xen/netfront/netfront.c 
b/linux-2.6.11-xen-sparse/drivers/xen/netfront/netfront.c
--- a/linux-2.6.11-xen-sparse/drivers/xen/netfront/netfront.c   2005-06-01 
09:02:17 -04:00
+++ b/linux-2.6.11-xen-sparse/drivers/xen/netfront/netfront.c   2005-06-01 
09:02:17 -04:00
@@ -419,7 +419,7 @@
     (void)HYPERVISOR_multicall(rx_mcl, i+1);
 
     /* Check return status of HYPERVISOR_dom_mem_op(). */
-    if (unlikely(rx_mcl[i].args[5] != i))
+    if (unlikely(rx_mcl[i].result != i))
         panic("Unable to reduce memory reservation\n");
 
     /* Above is a suitable barrier to ensure backend will see requests. */
diff -Nru a/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c 
b/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c
--- a/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c     2005-06-01 
09:02:17 -04:00
+++ b/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c     2005-06-01 
09:02:17 -04:00
@@ -686,7 +686,7 @@
         int j;
         for ( j = 0; j < i; j++ )
         {
-            if ( unlikely(mcl[j].args[5] != 0) )
+            if ( unlikely(mcl[j].result != 0) )
             {
                 printk(KERN_WARNING
                       "invalid buffer %d -- could not remap it\n", j);
diff -Nru a/netbsd-2.0-xen-sparse/sys/arch/xen/xen/if_xennet.c 
b/netbsd-2.0-xen-sparse/sys/arch/xen/xen/if_xennet.c
--- a/netbsd-2.0-xen-sparse/sys/arch/xen/xen/if_xennet.c        2005-06-01 
09:02:17 -04:00
+++ b/netbsd-2.0-xen-sparse/sys/arch/xen/xen/if_xennet.c        2005-06-01 
09:02:17 -04:00
@@ -612,7 +612,7 @@
        (void)HYPERVISOR_multicall(rx_mcl, nr_pfns+1);
 
        /* Check return status of HYPERVISOR_dom_mem_op(). */
-       if ( rx_mcl[nr_pfns].args[5] != nr_pfns )
+       if ( rx_mcl[nr_pfns].result != nr_pfns )
                panic("Unable to reduce memory reservation\n");
 
        /* Above is a suitable barrier to ensure backend will see requests. */
@@ -912,7 +912,7 @@
        (void)HYPERVISOR_multicall(rx_mcl, nr_pfns+1);
 
        /* Check return status of HYPERVISOR_dom_mem_op(). */
-       if (rx_mcl[nr_pfns].args[5] != nr_pfns)
+       if (rx_mcl[nr_pfns].result != nr_pfns)
                panic("Unable to reduce memory reservation\n");
 
        /* Above is a suitable barrier to ensure backend will see requests. */
diff -Nru a/xen/arch/x86/x86_32/asm-offsets.c 
b/xen/arch/x86/x86_32/asm-offsets.c
--- a/xen/arch/x86/x86_32/asm-offsets.c 2005-06-01 09:02:17 -04:00
+++ b/xen/arch/x86/x86_32/asm-offsets.c 2005-06-01 09:02:17 -04:00
@@ -88,7 +88,9 @@
     OFFSET(MULTICALL_arg2, multicall_entry_t, args[2]);
     OFFSET(MULTICALL_arg3, multicall_entry_t, args[3]);
     OFFSET(MULTICALL_arg4, multicall_entry_t, args[4]);
-    OFFSET(MULTICALL_result, multicall_entry_t, args[5]);
+    OFFSET(MULTICALL_arg5, multicall_entry_t, args[5]);
+    OFFSET(MULTICALL_arg6, multicall_entry_t, args[6]);
+    OFFSET(MULTICALL_result, multicall_entry_t, result);
     BLANK();
 
     DEFINE(FIXMAP_apic_base, fix_to_virt(FIX_APIC_BASE));
diff -Nru a/xen/arch/x86/x86_64/asm-offsets.c 
b/xen/arch/x86/x86_64/asm-offsets.c
--- a/xen/arch/x86/x86_64/asm-offsets.c 2005-06-01 09:02:17 -04:00
+++ b/xen/arch/x86/x86_64/asm-offsets.c 2005-06-01 09:02:17 -04:00
@@ -88,7 +88,9 @@
     OFFSET(MULTICALL_arg2, multicall_entry_t, args[2]);
     OFFSET(MULTICALL_arg3, multicall_entry_t, args[3]);
     OFFSET(MULTICALL_arg4, multicall_entry_t, args[4]);
-    OFFSET(MULTICALL_result, multicall_entry_t, args[5]);
+    OFFSET(MULTICALL_arg5, multicall_entry_t, args[5]);
+    OFFSET(MULTICALL_arg6, multicall_entry_t, args[6]);
+    OFFSET(MULTICALL_result, multicall_entry_t, result);
     BLANK();
 
     DEFINE(IRQSTAT_shift, LOG_2(sizeof(irq_cpustat_t)));
diff -Nru a/xen/include/public/arch-ia64.h b/xen/include/public/arch-ia64.h
--- a/xen/include/public/arch-ia64.h    2005-06-01 09:02:17 -04:00
+++ b/xen/include/public/arch-ia64.h    2005-06-01 09:02:17 -04:00
@@ -18,7 +18,6 @@
 
 /* NB. Both the following are 64 bits each. */
 typedef unsigned long memory_t;   /* Full-sized pointer/address/memory-size. */
-typedef unsigned long cpureg_t;   /* Full-sized register.                    */
 
 typedef struct
 {
diff -Nru a/xen/include/public/arch-x86_32.h b/xen/include/public/arch-x86_32.h
--- a/xen/include/public/arch-x86_32.h  2005-06-01 09:02:17 -04:00
+++ b/xen/include/public/arch-x86_32.h  2005-06-01 09:02:17 -04:00
@@ -77,7 +77,6 @@
 
 /* NB. Both the following are 32 bits each. */
 typedef unsigned long memory_t;   /* Full-sized pointer/address/memory-size. */
-typedef unsigned long cpureg_t;   /* Full-sized register.                    */
 
 /*
  * Send an array of these to HYPERVISOR_set_trap_table()
diff -Nru a/xen/include/public/arch-x86_64.h b/xen/include/public/arch-x86_64.h
--- a/xen/include/public/arch-x86_64.h  2005-06-01 09:02:17 -04:00
+++ b/xen/include/public/arch-x86_64.h  2005-06-01 09:02:17 -04:00
@@ -111,7 +111,6 @@
 
 /* NB. Both the following are 64 bits each. */
 typedef unsigned long memory_t;   /* Full-sized pointer/address/memory-size. */
-typedef unsigned long cpureg_t;   /* Full-sized register.                    */
 
 /*
  * Send an array of these to HYPERVISOR_set_trap_table().
diff -Nru a/xen/include/public/xen.h b/xen/include/public/xen.h
--- a/xen/include/public/xen.h  2005-06-01 09:02:17 -04:00
+++ b/xen/include/public/xen.h  2005-06-01 09:02:17 -04:00
@@ -59,16 +59,6 @@
 #define __HYPERVISOR_set_segment_base     25 /* x86/64 only */
 #define __HYPERVISOR_mmuext_op            26
 
-/*
- * MULTICALLS
- * 
- * Multicalls are listed in an array, with each element being a fixed size 
- * (BYTES_PER_MULTICALL_ENTRY). Each is of the form (op, arg1, ..., argN)
- * where each element of the tuple is a machine word. 
- */
-#define ARGS_PER_MULTICALL_ENTRY 8
-
-
 /* 
  * VIRTUAL INTERRUPTS
  * 
@@ -281,7 +271,7 @@
 {
     memory_t ptr;       /* Machine address of PTE. */
     memory_t val;       /* New contents of PTE.    */
-} PACKED mmu_update_t;
+} mmu_update_t;
 
 /*
  * Send an array of these to HYPERVISOR_multicall().
@@ -289,9 +279,9 @@
  */
 typedef struct
 {
-    cpureg_t op;
-    cpureg_t args[7];
-} PACKED multicall_entry_t;
+    unsigned long op, result;
+    unsigned long args[6];
+} multicall_entry_t;
 
 /* Event channel endpoints per domain. */
 #define NR_EVENT_CHANNELS 1024

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Add an explicit result field to multicall_entry_t, rather than abusing, BitKeeper Bot <=