aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2005-06-01 09:49:24 +0000
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2005-06-01 09:49:24 +0000
commitb91f4d43223f0027f46e7629c2e6da9b70ebfc9a (patch)
tree1ca5ec8529d5c6c00f285ef8382cde140a3f090e
parent8ddeb426ef6bc0a89fafec8bab91feec387fa8f9 (diff)
downloadxen-b91f4d43223f0027f46e7629c2e6da9b70ebfc9a.tar.gz
xen-b91f4d43223f0027f46e7629c2e6da9b70ebfc9a.tar.bz2
xen-b91f4d43223f0027f46e7629c2e6da9b70ebfc9a.zip
bitkeeper revision 1.1625 (429d84a4tcD4ZWpKQyD4i0nn6K6LIg)
Add an explicit result field to multicall_entry_t, rather than abusing the sixth argument field. Signed-off-by: Keir Fraser <keir@xensource.com>
-rw-r--r--freebsd-5.3-xen-sparse/i386-xen/xen/netfront/xn_netfront.c2
-rw-r--r--linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c2
-rw-r--r--linux-2.6.11-xen-sparse/drivers/xen/netback/netback.c8
-rw-r--r--linux-2.6.11-xen-sparse/drivers/xen/netfront/netfront.c2
-rw-r--r--linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c2
-rw-r--r--netbsd-2.0-xen-sparse/sys/arch/xen/xen/if_xennet.c4
-rw-r--r--xen/arch/x86/x86_32/asm-offsets.c4
-rw-r--r--xen/arch/x86/x86_64/asm-offsets.c4
-rw-r--r--xen/include/public/arch-ia64.h1
-rw-r--r--xen/include/public/arch-x86_32.h1
-rw-r--r--xen/include/public/arch-x86_64.h1
-rw-r--r--xen/include/public/xen.h18
12 files changed, 20 insertions, 29 deletions
diff --git 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
index 33f1b336c5..a4ee3fbba0 100644
--- 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
@@ -454,7 +454,7 @@ xn_alloc_rx_buffers(struct xn_softc *sc)
(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 --git a/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c b/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c
index 09ff8c245b..3b5b7ff2d8 100644
--- a/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c
+++ b/linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c
@@ -562,7 +562,7 @@ static void dispatch_rw_block_io(blkif_t *blkif, blkif_request_t *req)
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 --git a/linux-2.6.11-xen-sparse/drivers/xen/netback/netback.c b/linux-2.6.11-xen-sparse/drivers/xen/netback/netback.c
index 2631bd1399..6b69decbc0 100644
--- a/linux-2.6.11-xen-sparse/drivers/xen/netback/netback.c
+++ b/linux-2.6.11-xen-sparse/drivers/xen/netback/netback.c
@@ -296,12 +296,12 @@ static void net_rx_action(unsigned long unused)
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 @@ static void net_tx_action(unsigned long unused)
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 @@ static void net_tx_action(unsigned long unused)
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 --git a/linux-2.6.11-xen-sparse/drivers/xen/netfront/netfront.c b/linux-2.6.11-xen-sparse/drivers/xen/netfront/netfront.c
index b7dbbd151f..c1cf253510 100644
--- a/linux-2.6.11-xen-sparse/drivers/xen/netfront/netfront.c
+++ b/linux-2.6.11-xen-sparse/drivers/xen/netfront/netfront.c
@@ -419,7 +419,7 @@ static void network_alloc_rx_buffers(struct net_device *dev)
(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 --git a/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c b/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c
index 42439405cd..0a4cf8b4ea 100644
--- a/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c
+++ b/linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c
@@ -686,7 +686,7 @@ static void dispatch_usb_io(usbif_priv_t *up, usbif_request_t *req)
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 --git 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
index 2ffe6da2a0..3c229b644a 100644
--- 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
@@ -612,7 +612,7 @@ xennet_rx_push_buffer(struct xennet_softc *sc, int id)
(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 @@ network_alloc_rx_buffers(struct xennet_softc *sc)
(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 --git a/xen/arch/x86/x86_32/asm-offsets.c b/xen/arch/x86/x86_32/asm-offsets.c
index 40c58ab7ef..b12d19bd80 100644
--- a/xen/arch/x86/x86_32/asm-offsets.c
+++ b/xen/arch/x86/x86_32/asm-offsets.c
@@ -88,7 +88,9 @@ void __dummy__(void)
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 --git a/xen/arch/x86/x86_64/asm-offsets.c b/xen/arch/x86/x86_64/asm-offsets.c
index 9d1f784a7b..fdb1359c76 100644
--- a/xen/arch/x86/x86_64/asm-offsets.c
+++ b/xen/arch/x86/x86_64/asm-offsets.c
@@ -88,7 +88,9 @@ void __dummy__(void)
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 --git a/xen/include/public/arch-ia64.h b/xen/include/public/arch-ia64.h
index ebae4b89c3..d2cc7c07ea 100644
--- a/xen/include/public/arch-ia64.h
+++ b/xen/include/public/arch-ia64.h
@@ -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 --git a/xen/include/public/arch-x86_32.h b/xen/include/public/arch-x86_32.h
index 84ba88e7f7..21f97669d5 100644
--- a/xen/include/public/arch-x86_32.h
+++ b/xen/include/public/arch-x86_32.h
@@ -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 --git a/xen/include/public/arch-x86_64.h b/xen/include/public/arch-x86_64.h
index c1a6699285..65efc977a5 100644
--- a/xen/include/public/arch-x86_64.h
+++ b/xen/include/public/arch-x86_64.h
@@ -111,7 +111,6 @@ struct switch_to_user {
/* 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 --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 31f264aaeb..7a97d88ed8 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -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 @@ typedef struct
{
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
*/
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