diff options
author | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-06-01 09:49:24 +0000 |
---|---|---|
committer | kaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk> | 2005-06-01 09:49:24 +0000 |
commit | b91f4d43223f0027f46e7629c2e6da9b70ebfc9a (patch) | |
tree | 1ca5ec8529d5c6c00f285ef8382cde140a3f090e | |
parent | 8ddeb426ef6bc0a89fafec8bab91feec387fa8f9 (diff) | |
download | xen-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.c | 2 | ||||
-rw-r--r-- | linux-2.6.11-xen-sparse/drivers/xen/blkback/blkback.c | 2 | ||||
-rw-r--r-- | linux-2.6.11-xen-sparse/drivers/xen/netback/netback.c | 8 | ||||
-rw-r--r-- | linux-2.6.11-xen-sparse/drivers/xen/netfront/netfront.c | 2 | ||||
-rw-r--r-- | linux-2.6.11-xen-sparse/drivers/xen/usbback/usbback.c | 2 | ||||
-rw-r--r-- | netbsd-2.0-xen-sparse/sys/arch/xen/xen/if_xennet.c | 4 | ||||
-rw-r--r-- | xen/arch/x86/x86_32/asm-offsets.c | 4 | ||||
-rw-r--r-- | xen/arch/x86/x86_64/asm-offsets.c | 4 | ||||
-rw-r--r-- | xen/include/public/arch-ia64.h | 1 | ||||
-rw-r--r-- | xen/include/public/arch-x86_32.h | 1 | ||||
-rw-r--r-- | xen/include/public/arch-x86_64.h | 1 | ||||
-rw-r--r-- | xen/include/public/xen.h | 18 |
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 |