# HG changeset patch
# User sd386@xxxxxxxxxxxxxxxxx
# Node ID eb9df2c3a478813d5278bc1e08925ad239257e0d
# Parent 42f0160093ff4aa587fdef9ab5fa899e25b58b06
# Parent 5e8123554d158af331c65dfd5a93981f54b54196
Local merge of two headed repo.
diff -r 42f0160093ff -r eb9df2c3a478
linux-2.6-xen-sparse/arch/xen/i386/kernel/ioport.c
--- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/ioport.c Fri Aug 19
18:08:29 2005
+++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/ioport.c Fri Aug 19
18:12:48 2005
@@ -80,7 +80,7 @@
t->io_bitmap_ptr = bitmap;
op.cmd = PHYSDEVOP_SET_IOBITMAP;
- op.u.set_iobitmap.bitmap = (unsigned long)bitmap;
+ op.u.set_iobitmap.bitmap = (char *)bitmap;
op.u.set_iobitmap.nr_ports = IO_BITMAP_BITS;
HYPERVISOR_physdev_op(&op);
}
diff -r 42f0160093ff -r eb9df2c3a478
linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c
--- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c Fri Aug 19
18:08:29 2005
+++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c Fri Aug 19
18:12:48 2005
@@ -547,7 +547,7 @@
iobmp_op.cmd =
PHYSDEVOP_SET_IOBITMAP;
iobmp_op.u.set_iobitmap.bitmap =
- (unsigned long)next->io_bitmap_ptr;
+ (char *)next->io_bitmap_ptr;
iobmp_op.u.set_iobitmap.nr_ports =
next->io_bitmap_ptr ? IO_BITMAP_BITS : 0;
mcl->op = __HYPERVISOR_physdev_op;
diff -r 42f0160093ff -r eb9df2c3a478
linux-2.6-xen-sparse/arch/xen/i386/kernel/swiotlb.c
--- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/swiotlb.c Fri Aug 19
18:08:29 2005
+++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/swiotlb.c Fri Aug 19
18:12:48 2005
@@ -43,20 +43,18 @@
#define IO_TLB_SHIFT 11
int swiotlb_force;
+static char *iotlb_virt_start;
+static unsigned long iotlb_nslabs;
/*
* Used to do a quick range check in swiotlb_unmap_single and
* swiotlb_sync_single_*, to see if the memory was in fact allocated by this
* API.
*/
-static char *iotlb_virt_start, *iotlb_virt_end;
-static dma_addr_t iotlb_bus_start, iotlb_bus_end;
-
-/*
- * The number of IO TLB blocks (in groups of 64) betweeen iotlb_virt_start and
- * iotlb_virt_end. This is command line adjustable via setup_io_tlb_npages.
- */
-static unsigned long iotlb_nslabs;
+static dma_addr_t iotlb_bus_start, iotlb_bus_mask;
+
+/* Does the given dma address reside within the swiotlb aperture? */
+#define in_swiotlb_aperture(a) (!(((a) ^ iotlb_bus_start) & iotlb_bus_mask))
/*
* When the IOMMU overflows we return a fallback buffer. This sets the size.
@@ -94,6 +92,9 @@
iotlb_nslabs = simple_strtoul(str, &str, 0) <<
(20 - IO_TLB_SHIFT);
iotlb_nslabs = ALIGN(iotlb_nslabs, IO_TLB_SEGSIZE);
+ /* Round up to power of two (xen_create_contiguous_region). */
+ while (iotlb_nslabs & (iotlb_nslabs-1))
+ iotlb_nslabs += iotlb_nslabs & ~(iotlb_nslabs-1);
}
if (*str == ',')
++str;
@@ -120,6 +121,9 @@
if (!iotlb_nslabs) {
iotlb_nslabs = (default_size >> IO_TLB_SHIFT);
iotlb_nslabs = ALIGN(iotlb_nslabs, IO_TLB_SEGSIZE);
+ /* Round up to power of two (xen_create_contiguous_region). */
+ while (iotlb_nslabs & (iotlb_nslabs-1))
+ iotlb_nslabs += iotlb_nslabs & ~(iotlb_nslabs-1);
}
bytes = iotlb_nslabs * (1UL << IO_TLB_SHIFT);
@@ -133,17 +137,12 @@
"Use dom0_mem Xen boot parameter to reserve\n"
"some DMA memory (e.g., dom0_mem=-128M).\n");
- for (i = 0; i < iotlb_nslabs; i += IO_TLB_SEGSIZE)
- xen_create_contiguous_region(
- (unsigned long)iotlb_virt_start + (i << IO_TLB_SHIFT),
- get_order(IO_TLB_SEGSIZE << IO_TLB_SHIFT));
-
- iotlb_virt_end = iotlb_virt_start + bytes;
+ xen_create_contiguous_region(
+ (unsigned long)iotlb_virt_start, get_order(bytes));
/*
* Allocate and initialize the free list array. This array is used
- * to find contiguous free memory regions of size up to IO_TLB_SEGSIZE
- * between iotlb_virt_start and iotlb_virt_end.
+ * to find contiguous free memory regions of size up to IO_TLB_SEGSIZE.
*/
io_tlb_list = alloc_bootmem(iotlb_nslabs * sizeof(int));
for (i = 0; i < iotlb_nslabs; i++)
@@ -156,15 +155,19 @@
* Get the overflow emergency buffer
*/
io_tlb_overflow_buffer = alloc_bootmem_low(io_tlb_overflow);
+
iotlb_bus_start = virt_to_bus(iotlb_virt_start);
- iotlb_bus_end = iotlb_bus_start + bytes;
+ iotlb_bus_mask = ~(dma_addr_t)(bytes - 1);
+
printk(KERN_INFO "Software IO TLB enabled: \n"
" Aperture: %lu megabytes\n"
" Bus range: 0x%016lx - 0x%016lx\n"
" Kernel range: 0x%016lx - 0x%016lx\n",
bytes >> 20,
- (unsigned long)iotlb_bus_start, (unsigned long)iotlb_bus_end,
- (unsigned long)iotlb_virt_start, (unsigned long)iotlb_virt_end);
+ (unsigned long)iotlb_bus_start,
+ (unsigned long)iotlb_bus_start + bytes,
+ (unsigned long)iotlb_virt_start,
+ (unsigned long)iotlb_virt_start + bytes);
}
void
@@ -444,7 +447,7 @@
int dir)
{
BUG_ON(dir == DMA_NONE);
- if ((dev_addr >= iotlb_bus_start) && (dev_addr < iotlb_bus_end))
+ if (in_swiotlb_aperture(dev_addr))
unmap_single(hwdev, bus_to_virt(dev_addr), size, dir);
}
@@ -463,7 +466,7 @@
size_t size, int dir)
{
BUG_ON(dir == DMA_NONE);
- if ((dev_addr >= iotlb_bus_start) && (dev_addr < iotlb_bus_end))
+ if (in_swiotlb_aperture(dev_addr))
sync_single(hwdev, bus_to_virt(dev_addr), size, dir);
}
@@ -472,7 +475,7 @@
size_t size, int dir)
{
BUG_ON(dir == DMA_NONE);
- if ((dev_addr >= iotlb_bus_start) && (dev_addr < iotlb_bus_end))
+ if (in_swiotlb_aperture(dev_addr))
sync_single(hwdev, bus_to_virt(dev_addr), size, dir);
}
@@ -610,7 +613,7 @@
size_t size, enum dma_data_direction direction)
{
BUG_ON(direction == DMA_NONE);
- if ((dma_address >= iotlb_bus_start) && (dma_address < iotlb_bus_end))
+ if (in_swiotlb_aperture(dma_address))
unmap_single(hwdev, bus_to_virt(dma_address), size, direction);
}
diff -r 42f0160093ff -r eb9df2c3a478
linux-2.6-xen-sparse/arch/xen/x86_64/kernel/process.c
--- a/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/process.c Fri Aug 19
18:08:29 2005
+++ b/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/process.c Fri Aug 19
18:12:48 2005
@@ -474,7 +474,7 @@
iobmp_op.cmd =
PHYSDEVOP_SET_IOBITMAP;
iobmp_op.u.set_iobitmap.bitmap =
- (unsigned long)next->io_bitmap_ptr;
+ (char *)next->io_bitmap_ptr;
iobmp_op.u.set_iobitmap.nr_ports =
next->io_bitmap_ptr ? IO_BITMAP_BITS : 0;
mcl->op = __HYPERVISOR_physdev_op;
diff -r 42f0160093ff -r eb9df2c3a478
linux-2.6-xen-sparse/drivers/xen/blkback/common.h
--- a/linux-2.6-xen-sparse/drivers/xen/blkback/common.h Fri Aug 19 18:08:29 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/blkback/common.h Fri Aug 19 18:12:48 2005
@@ -71,7 +71,7 @@
struct work_struct work;
#ifdef CONFIG_XEN_BLKDEV_GRANT
u16 shmem_handle;
- memory_t shmem_vaddr;
+ unsigned long shmem_vaddr;
grant_ref_t shmem_ref;
#endif
} blkif_t;
diff -r 42f0160093ff -r eb9df2c3a478
linux-2.6-xen-sparse/drivers/xen/blkback/xenbus.c
--- a/linux-2.6-xen-sparse/drivers/xen/blkback/xenbus.c Fri Aug 19 18:08:29 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/blkback/xenbus.c Fri Aug 19 18:12:48 2005
@@ -182,14 +182,18 @@
"frontend-id", "%li", &be->frontend_id,
"frontend", NULL, &frontend,
NULL);
- if (err == -ENOENT || err == -ERANGE ||
+ if (XENBUS_EXIST_ERR(err) ||
strlen(frontend) == 0 || !xenbus_exists(frontend, "")) {
- if (frontend)
- kfree(frontend);
/* If we can't get a frontend path and a frontend-id,
* then our bus-id is no longer valid and we need to
* destroy the backend device.
*/
+ goto device_fail;
+ }
+ if (err < 0) {
+ xenbus_dev_error(dev, err,
+ "reading %s/frontend or frontend-id",
+ dev->nodename);
goto device_fail;
}
@@ -199,6 +203,7 @@
if (be->frontpath)
kfree(be->frontpath);
be->frontpath = frontend;
+ frontend = NULL;
be->watch.node = be->frontpath;
be->watch.callback = frontend_changed;
err = register_xenbus_watch(&be->watch);
@@ -206,14 +211,13 @@
be->watch.node = NULL;
goto device_fail;
}
- } else
- kfree(frontend);
+ }
err = xenbus_scanf(dev->nodename, "physical-device", "%li", &pdev);
- if (err == -ENOENT || err == -ERANGE)
+ if (XENBUS_EXIST_ERR(err))
goto out;
if (err < 0) {
- xenbus_dev_error(dev, err, "Reading physical-device");
+ xenbus_dev_error(dev, err, "reading physical-device");
goto device_fail;
}
if (be->pdev && be->pdev != pdev) {
@@ -253,12 +257,14 @@
frontend_changed(&be->watch, be->frontpath);
}
+ out:
+ if (frontend)
+ kfree(frontend);
return;
device_fail:
device_unregister(&be->dev->dev);
- out:
- return;
+ goto out;
}
static int blkback_probe(struct xenbus_device *dev,
diff -r 42f0160093ff -r eb9df2c3a478
linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c
--- a/linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c Fri Aug 19
18:08:29 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/blkfront/blkfront.c Fri Aug 19
18:12:48 2005
@@ -1134,25 +1134,24 @@
"info", "%u", &binfo,
"sector-size", "%lu", §or_size,
NULL);
-
- if (err)
+ if (err) {
xenbus_dev_error(info->dev, err, "reading backend fields");
- else {
- xlvbd_add(sectors, info->vdevice, info->handle, binfo,
- sector_size);
- info->connected = 1;
-
- /* First to connect? blkif is now connected. */
- if (blkif_vbds_connected++ == 0)
- blkif_state = BLKIF_STATE_CONNECTED;
-
- xenbus_dev_ok(info->dev);
-
- /* Kick pending requests. */
- spin_lock_irq(&blkif_io_lock);
- kick_pending_request_queues();
- spin_unlock_irq(&blkif_io_lock);
- }
+ return;
+ }
+
+ xlvbd_add(sectors, info->vdevice, info->handle, binfo, sector_size);
+ info->connected = 1;
+
+ /* First to connect? blkif is now connected. */
+ if (blkif_vbds_connected++ == 0)
+ blkif_state = BLKIF_STATE_CONNECTED;
+
+ xenbus_dev_ok(info->dev);
+
+ /* Kick pending requests. */
+ spin_lock_irq(&blkif_io_lock);
+ kick_pending_request_queues();
+ spin_unlock_irq(&blkif_io_lock);
}
static int setup_blkring(struct xenbus_device *dev, unsigned int backend_id)
@@ -1199,36 +1198,28 @@
const char *message;
int err, backend_id;
- backend = xenbus_read(dev->nodename, "backend", NULL);
- if (IS_ERR(backend)) {
- err = PTR_ERR(backend);
- if (err == -ENOENT)
- goto out;
- xenbus_dev_error(dev, err, "reading %s/backend",
+ backend = NULL;
+ err = xenbus_gather(dev->nodename,
+ "backend-id", "%i", &backend_id,
+ "backend", NULL, &backend,
+ NULL);
+ if (XENBUS_EXIST_ERR(err))
+ goto out;
+ if (backend && strlen(backend) == 0) {
+ err = -ENOENT;
+ goto out;
+ }
+ if (err < 0) {
+ xenbus_dev_error(dev, err, "reading %s/backend or backend-id",
dev->nodename);
goto out;
}
- if (strlen(backend) == 0) {
- err = -ENOENT;
- goto free_backend;
- }
-
- /* FIXME: This driver can't handle backends on different
- * domains. Check and fail gracefully. */
- err = xenbus_scanf(dev->nodename, "backend-id", "%i", &backend_id);
- if (err == -ENOENT)
- goto free_backend;
- if (err < 0) {
- xenbus_dev_error(dev, err, "reading %s/backend-id",
- dev->nodename);
- goto free_backend;
- }
/* First device? We create shared ring, alloc event channel. */
if (blkif_vbds == 0) {
err = setup_blkring(dev, backend_id);
if (err)
- goto free_backend;
+ goto out;
}
err = xenbus_transaction_start(dev->nodename);
@@ -1258,9 +1249,11 @@
goto abort_transaction;
}
- info->watch.node = info->backend = backend;
+ info->backend = backend;
+ backend = NULL;
+
+ info->watch.node = info->backend;
info->watch.callback = watch_for_status;
-
err = register_xenbus_watch(&info->watch);
if (err) {
message = "registering watch on backend";
@@ -1272,20 +1265,20 @@
xenbus_dev_error(dev, err, "completing transaction");
goto destroy_blkring;
}
- return 0;
-
-abort_transaction:
+
+ out:
+ if (backend)
+ kfree(backend);
+ return err;
+
+ abort_transaction:
xenbus_transaction_end(1);
/* Have to do this *outside* transaction. */
xenbus_dev_error(dev, err, "%s", message);
-destroy_blkring:
+ destroy_blkring:
if (blkif_vbds == 0)
blkif_free();
-free_backend:
- kfree(backend);
-out:
- printk("%s:%u = %i\n", __FILE__, __LINE__, err);
- return err;
+ goto out;
}
/* Setup supplies the backend dir, virtual device.
@@ -1301,7 +1294,7 @@
/* FIXME: Use dynamic device id if this is not set. */
err = xenbus_scanf(dev->nodename, "virtual-device", "%i", &vdevice);
- if (err == -ENOENT)
+ if (XENBUS_EXIST_ERR(err))
return err;
if (err < 0) {
xenbus_dev_error(dev, err, "reading virtual-device");
@@ -1316,6 +1309,7 @@
info->dev = dev;
info->vdevice = vdevice;
info->connected = 0;
+
/* Front end dir is a number, which is used as the id. */
info->handle = simple_strtoul(strrchr(dev->nodename,'/')+1, NULL, 0);
dev->data = info;
@@ -1427,8 +1421,8 @@
#ifdef CONFIG_XEN_BLKDEV_GRANT
/* A grant for every ring slot, plus one for the ring itself. */
- if ( 0 > gnttab_alloc_grant_references(MAXIMUM_OUTSTANDING_BLOCK_REQS + 1,
- &gref_head, &gref_terminal) )
+ if (gnttab_alloc_grant_references(MAXIMUM_OUTSTANDING_BLOCK_REQS + 1,
+ &gref_head, &gref_terminal) < 0)
return 1;
printk(KERN_ALERT "Blkif frontend is using grant tables.\n");
#endif
diff -r 42f0160093ff -r eb9df2c3a478
linux-2.6-xen-sparse/drivers/xen/blktap/blktap.h
--- a/linux-2.6-xen-sparse/drivers/xen/blktap/blktap.h Fri Aug 19 18:08:29 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/blktap/blktap.h Fri Aug 19 18:12:48 2005
@@ -87,7 +87,7 @@
struct work_struct work;
#ifdef CONFIG_XEN_BLKDEV_GRANT
u16 shmem_handle;
- memory_t shmem_vaddr;
+ unsigned long shmem_vaddr;
grant_ref_t shmem_ref;
#endif
} blkif_t;
diff -r 42f0160093ff -r eb9df2c3a478
linux-2.6-xen-sparse/drivers/xen/netback/common.h
--- a/linux-2.6-xen-sparse/drivers/xen/netback/common.h Fri Aug 19 18:08:29 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/netback/common.h Fri Aug 19 18:12:48 2005
@@ -49,13 +49,13 @@
unsigned long tx_shmem_frame;
#ifdef CONFIG_XEN_NETDEV_GRANT_TX
u16 tx_shmem_handle;
- memory_t tx_shmem_vaddr;
+ unsigned long tx_shmem_vaddr;
grant_ref_t tx_shmem_ref;
#endif
unsigned long rx_shmem_frame;
#ifdef CONFIG_XEN_NETDEV_GRANT_RX
u16 rx_shmem_handle;
- memory_t rx_shmem_vaddr;
+ unsigned long rx_shmem_vaddr;
grant_ref_t rx_shmem_ref;
#endif
unsigned int evtchn;
diff -r 42f0160093ff -r eb9df2c3a478
linux-2.6-xen-sparse/drivers/xen/netback/netback.c
--- a/linux-2.6-xen-sparse/drivers/xen/netback/netback.c Fri Aug 19
18:08:29 2005
+++ b/linux-2.6-xen-sparse/drivers/xen/netback/netback.c Fri Aug 19
18:12:48 2005
@@ -43,7 +43,7 @@
static int make_rx_response(netif_t *netif,
u16 id,
s8 st,
- memory_t addr,
+ unsigned long addr,
u16 size,
u16 csum_valid);
@@ -887,7 +887,7 @@
static int make_rx_response(netif_t *netif,
u16 id,
s8 st,
- memory_t addr,
+ unsigned long addr,
u16 size,
u16 csum_valid)
{
diff -r 42f0160093ff -r eb9df2c3a478
linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hypercall.h
--- a/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hypercall.h Fri Aug
19 18:08:29 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/hypercall.h Fri Aug
19 18:12:48 2005
@@ -507,14 +507,14 @@
int vcpu, vcpu_guest_context_t *ctxt)
{
int ret;
- unsigned long ign1, ign2;
- __asm__ __volatile__ (
- TRAP_INSTR
- : "=a" (ret), "=b" (ign1), "=c" (ign2)
- : "0" (__HYPERVISOR_sched_op),
- "1" (SCHEDOP_vcpu_pickle | (vcpu << SCHEDOP_vcpushift)),
- "2" (ctxt)
- : __syscall_clobber );
+
+ __asm__ __volatile__ (
+ TRAP_INSTR
+ : "=a" (ret)
+ : "0" ((unsigned long)__HYPERVISOR_sched_op),
+ "D" ((unsigned long)SCHEDOP_vcpu_pickle | (vcpu << SCHEDOP_vcpushift)),
+ "S" ((unsigned long)ctxt)
+ : __syscall_clobber );
return ret;
}
diff -r 42f0160093ff -r eb9df2c3a478
linux-2.6-xen-sparse/include/asm-xen/xenbus.h
--- a/linux-2.6-xen-sparse/include/asm-xen/xenbus.h Fri Aug 19 18:08:29 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/xenbus.h Fri Aug 19 18:12:48 2005
@@ -128,4 +128,14 @@
void xenbus_suspend(void);
void xenbus_resume(void);
+#define XENBUS_IS_ERR_READ(str) ({ \
+ if (!IS_ERR(str) && strlen(str) == 0) { \
+ kfree(str); \
+ str = ERR_PTR(-ERANGE); \
+ } \
+ IS_ERR(str); \
+})
+
+#define XENBUS_EXIST_ERR(err) ((err) == -ENOENT || (err) == -ERANGE)
+
#endif /* _ASM_XEN_XENBUS_H */
diff -r 42f0160093ff -r eb9df2c3a478 tools/debugger/libxendebug/xendebug.c
--- a/tools/debugger/libxendebug/xendebug.c Fri Aug 19 18:08:29 2005
+++ b/tools/debugger/libxendebug/xendebug.c Fri Aug 19 18:12:48 2005
@@ -40,7 +40,7 @@
typedef struct bwcpoint /* break/watch/catch point */
{
struct list_head list;
- memory_t address;
+ unsigned long address;
u32 domain;
u8 old_value; /* old value for software bkpt */
} bwcpoint_t, *bwcpoint_p;
@@ -311,7 +311,7 @@
/* access to one page */
static int
xendebug_memory_page (domain_context_p ctxt, int xc_handle, u32 vcpu,
- int protection, memory_t address, int length, u8 *buffer)
+ int protection, unsigned long address, int length, u8
*buffer)
{
vcpu_guest_context_t *vcpu_ctxt = &ctxt->context[vcpu];
unsigned long pde, page;
@@ -407,7 +407,7 @@
/* divide a memory operation into accesses to individual pages */
static int
xendebug_memory_op (domain_context_p ctxt, int xc_handle, u32 vcpu,
- int protection, memory_t address, int length, u8 *buffer)
+ int protection, unsigned long address, int length, u8
*buffer)
{
int remain; /* number of bytes to touch past this page */
int bytes = 0;
@@ -431,7 +431,7 @@
xendebug_read_memory(int xc_handle,
u32 domid,
u32 vcpu,
- memory_t address,
+ unsigned long address,
u32 length,
u8 *data)
{
@@ -451,7 +451,7 @@
xendebug_write_memory(int xc_handle,
u32 domid,
u32 vcpu,
- memory_t address,
+ unsigned long address,
u32 length,
u8 *data)
{
@@ -471,7 +471,7 @@
xendebug_insert_memory_breakpoint(int xc_handle,
u32 domid,
u32 vcpu,
- memory_t address,
+ unsigned long address,
u32 length)
{
bwcpoint_p bkpt;
@@ -517,7 +517,7 @@
xendebug_remove_memory_breakpoint(int xc_handle,
u32 domid,
u32 vcpu,
- memory_t address,
+ unsigned long address,
u32 length)
{
bwcpoint_p bkpt = NULL;
diff -r 42f0160093ff -r eb9df2c3a478 tools/debugger/libxendebug/xendebug.h
--- a/tools/debugger/libxendebug/xendebug.h Fri Aug 19 18:08:29 2005
+++ b/tools/debugger/libxendebug/xendebug.h Fri Aug 19 18:12:48 2005
@@ -45,7 +45,7 @@
int xendebug_read_memory(int xc_handle,
u32 domid,
u32 vcpu,
- memory_t address,
+ unsigned long address,
u32 length,
u8 *data);
@@ -53,7 +53,7 @@
int xendebug_write_memory(int xc_handle,
u32 domid,
u32 vcpu,
- memory_t address,
+ unsigned long address,
u32 length,
u8 *data);
@@ -61,13 +61,13 @@
int xendebug_insert_memory_breakpoint(int xc_handle,
u32 domid,
u32 vcpu,
- memory_t address,
+ unsigned long address,
u32 length);
int xendebug_remove_memory_breakpoint(int xc_handle,
u32 domid,
u32 vcpu,
- memory_t address,
+ unsigned long address,
u32 length);
int xendebug_query_domain_stop(int xc_handle,
diff -r 42f0160093ff -r eb9df2c3a478 tools/debugger/pdb/linux-2.6-module/debug.c
--- a/tools/debugger/pdb/linux-2.6-module/debug.c Fri Aug 19 18:08:29 2005
+++ b/tools/debugger/pdb/linux-2.6-module/debug.c Fri Aug 19 18:12:48 2005
@@ -26,7 +26,7 @@
typedef struct bwcpoint /* break/watch/catch point */
{
struct list_head list;
- memory_t address;
+ unsigned long address;
int length;
u8 type; /* BWC_??? */
@@ -109,7 +109,7 @@
}
bwcpoint_p
-pdb_search_watchpoint (u32 process, memory_t address)
+pdb_search_watchpoint (u32 process, unsigned long address)
{
bwcpoint_p bwc_watch = (bwcpoint_p) 0;
bwcpoint_p bwc_entry = (bwcpoint_p) 0;
@@ -364,7 +364,7 @@
int
pdb_insert_memory_breakpoint (struct task_struct *target,
- memory_t address, u32 length)
+ unsigned long address, u32 length)
{
int rc = 0;
bwcpoint_p bkpt;
@@ -399,7 +399,7 @@
int
pdb_remove_memory_breakpoint (struct task_struct *target,
- memory_t address, u32 length)
+ unsigned long address, u32 length)
{
int rc = 0;
bwcpoint_p bkpt = NULL;
@@ -760,7 +760,7 @@
{
pdb_response_t resp;
bwcpoint_p bkpt = NULL;
- memory_t address = regs->eip - 1;
+ unsigned long address = regs->eip - 1;
struct list_head *entry;
list_for_each(entry, &bwcpoint_list)
diff -r 42f0160093ff -r eb9df2c3a478
tools/debugger/pdb/linux-2.6-module/module.c
--- a/tools/debugger/pdb/linux-2.6-module/module.c Fri Aug 19 18:08:29 2005
+++ b/tools/debugger/pdb/linux-2.6-module/module.c Fri Aug 19 18:12:48 2005
@@ -199,7 +199,7 @@
}
static void
-pdb_send_connection_status(int status, memory_t ring)
+pdb_send_connection_status(int status, unsigned long ring)
{
ctrl_msg_t cmsg =
{
diff -r 42f0160093ff -r eb9df2c3a478
tools/debugger/pdb/linux-2.6-module/pdb_debug.h
--- a/tools/debugger/pdb/linux-2.6-module/pdb_debug.h Fri Aug 19 18:08:29 2005
+++ b/tools/debugger/pdb/linux-2.6-module/pdb_debug.h Fri Aug 19 18:12:48 2005
@@ -18,9 +18,9 @@
int pdb_step (struct task_struct *target);
int pdb_insert_memory_breakpoint (struct task_struct *target,
- memory_t address, u32 length);
+ unsigned long address, u32 length);
int pdb_remove_memory_breakpoint (struct task_struct *target,
- memory_t address, u32 length);
+ unsigned long address, u32 length);
int pdb_insert_watchpoint (struct task_struct *target,
pdb_op_watchpt_p watchpt);
int pdb_remove_watchpoint (struct task_struct *target,
diff -r 42f0160093ff -r eb9df2c3a478 tools/debugger/pdb/pdb_caml_domain.c
--- a/tools/debugger/pdb/pdb_caml_domain.c Fri Aug 19 18:08:29 2005
+++ b/tools/debugger/pdb/pdb_caml_domain.c Fri Aug 19 18:12:48 2005
@@ -203,7 +203,7 @@
context_t ctx;
int loop;
char *buffer;
- memory_t my_address = Int32_val(address);
+ unsigned long my_address = Int32_val(address);
u32 my_length = Int_val(length);
printf ("(pdb) read memory\n");
@@ -259,7 +259,7 @@
context_t ctx;
char buffer[4096]; /* a big buffer */
- memory_t my_address;
+ unsigned long my_address;
u32 length = 0;
printf ("(pdb) write memory\n");
@@ -279,7 +279,7 @@
}
buffer[length++] = Int_val(Field(node, 0));
- my_address = (memory_t) Int32_val(address);
+ my_address = (unsigned long) Int32_val(address);
if ( xendebug_write_memory(xc_handle, ctx.domain, ctx.vcpu,
my_address, length, buffer) )
@@ -344,7 +344,7 @@
CAMLparam3(context, address, length);
context_t ctx;
- memory_t my_address = (memory_t) Int32_val(address);
+ unsigned long my_address = (unsigned long) Int32_val(address);
int my_length = Int_val(length);
decode_context(&ctx, context);
@@ -373,7 +373,7 @@
context_t ctx;
- memory_t my_address = (memory_t) Int32_val(address);
+ unsigned long my_address = (unsigned long) Int32_val(address);
int my_length = Int_val(length);
printf ("(pdb) remove memory breakpoint 0x%lx %d\n",
diff -r 42f0160093ff -r eb9df2c3a478 tools/debugger/pdb/pdb_caml_process.c
--- a/tools/debugger/pdb/pdb_caml_process.c Fri Aug 19 18:08:29 2005
+++ b/tools/debugger/pdb/pdb_caml_process.c Fri Aug 19 18:12:48 2005
@@ -495,7 +495,7 @@
req.operation = PDB_OPCODE_SET_BKPT;
req.process = ctx.process;
- req.u.bkpt.address = (memory_t) Int32_val(address);
+ req.u.bkpt.address = (unsigned long) Int32_val(address);
req.u.bkpt.length = Int_val(length);
send_request(ctx.ring, ctx.evtchn, &req);
@@ -518,7 +518,7 @@
req.operation = PDB_OPCODE_CLR_BKPT;
req.process = ctx.process;
- req.u.bkpt.address = (memory_t) Int32_val(address);
+ req.u.bkpt.address = (unsigned long) Int32_val(address);
req.u.bkpt.length = Int_val(length);
send_request(ctx.ring, ctx.evtchn, &req);
@@ -542,7 +542,7 @@
req.operation = PDB_OPCODE_SET_WATCHPT;
req.process = ctx.process;
req.u.watchpt.type = Int_val(kind);
- req.u.watchpt.address = (memory_t) Int32_val(address);
+ req.u.watchpt.address = (unsigned long) Int32_val(address);
req.u.watchpt.length = Int_val(length);
send_request(ctx.ring, ctx.evtchn, &req);
@@ -566,7 +566,7 @@
req.operation = PDB_OPCODE_CLR_WATCHPT;
req.process = ctx.process;
req.u.watchpt.type = Int_val(kind);
- req.u.watchpt.address = (memory_t) Int32_val(address);
+ req.u.watchpt.address = (unsigned long) Int32_val(address);
req.u.watchpt.length = Int_val(length);
send_request(ctx.ring, ctx.evtchn, &req);
diff -r 42f0160093ff -r eb9df2c3a478 tools/debugger/pdb/pdb_caml_xcs.c
--- a/tools/debugger/pdb/pdb_caml_xcs.c Fri Aug 19 18:08:29 2005
+++ b/tools/debugger/pdb/pdb_caml_xcs.c Fri Aug 19 18:12:48 2005
@@ -50,7 +50,7 @@
{
CAMLparam2(domain, ring);
int my_domain = Int_val(domain);
- memory_t my_ring = Int32_val(ring);
+ unsigned long my_ring = Int32_val(ring);
pdb_front_ring_t *front_ring;
pdb_sring_t *sring;
diff -r 42f0160093ff -r eb9df2c3a478 tools/libxc/xc.h
--- a/tools/libxc/xc.h Fri Aug 19 18:08:29 2005
+++ b/tools/libxc/xc.h Fri Aug 19 18:12:48 2005
@@ -515,25 +515,25 @@
*/
int xc_grant_interface_close(int xc_handle);
-int xc_gnttab_map_grant_ref(int xc_handle,
- memory_t host_virt_addr,
- u32 dom,
- u16 ref,
- u16 flags,
- s16 *handle,
- memory_t *dev_bus_addr);
-
-int xc_gnttab_unmap_grant_ref(int xc_handle,
- memory_t host_virt_addr,
- memory_t dev_bus_addr,
- u16 handle,
- s16 *status);
+int xc_gnttab_map_grant_ref(int xc_handle,
+ u64 host_virt_addr,
+ u32 dom,
+ u16 ref,
+ u16 flags,
+ s16 *handle,
+ u64 *dev_bus_addr);
+
+int xc_gnttab_unmap_grant_ref(int xc_handle,
+ u64 host_virt_addr,
+ u64 dev_bus_addr,
+ u16 handle,
+ s16 *status);
int xc_gnttab_setup_table(int xc_handle,
u32 dom,
u16 nr_frames,
s16 *status,
- memory_t **frame_list);
+ unsigned long **frame_list);
/* Grant debug builds only: */
int xc_gnttab_dump_table(int xc_handle,
diff -r 42f0160093ff -r eb9df2c3a478 tools/libxc/xc_gnttab.c
--- a/tools/libxc/xc_gnttab.c Fri Aug 19 18:08:29 2005
+++ b/tools/libxc/xc_gnttab.c Fri Aug 19 18:12:48 2005
@@ -40,12 +40,12 @@
int xc_gnttab_map_grant_ref(int xc_handle,
- memory_t host_virt_addr,
+ u64 host_virt_addr,
u32 dom,
u16 ref,
u16 flags,
s16 *handle,
- memory_t *dev_bus_addr)
+ u64 *dev_bus_addr)
{
struct gnttab_map_grant_ref op;
int rc;
@@ -67,8 +67,8 @@
int xc_gnttab_unmap_grant_ref(int xc_handle,
- memory_t host_virt_addr,
- memory_t dev_bus_addr,
+ u64 host_virt_addr,
+ u64 dev_bus_addr,
u16 handle,
s16 *status)
{
@@ -92,7 +92,7 @@
u32 dom,
u16 nr_frames,
s16 *status,
- memory_t **frame_list)
+ unsigned long **frame_list)
{
struct gnttab_setup_table op;
int rc, i;
diff -r 42f0160093ff -r eb9df2c3a478 tools/python/xen/lowlevel/xu/xu.c
--- a/tools/python/xen/lowlevel/xu/xu.c Fri Aug 19 18:08:29 2005
+++ b/tools/python/xen/lowlevel/xu/xu.c Fri Aug 19 18:12:48 2005
@@ -844,7 +844,7 @@
case TYPE(CMSG_BLKIF_BE, CMSG_BLKIF_BE_CONNECT):
P2C(blkif_be_connect_t, domid, u32);
P2C(blkif_be_connect_t, blkif_handle, u32);
- P2C(blkif_be_connect_t, shmem_frame, memory_t);
+ P2C(blkif_be_connect_t, shmem_frame, unsigned long);
P2C(blkif_be_connect_t, shmem_ref, u32);
P2C(blkif_be_connect_t, evtchn, u16);
break;
@@ -906,9 +906,9 @@
case TYPE(CMSG_NETIF_BE, CMSG_NETIF_BE_CONNECT):
P2C(netif_be_connect_t, domid, u32);
P2C(netif_be_connect_t, netif_handle, u32);
- P2C(netif_be_connect_t, tx_shmem_frame, memory_t);
+ P2C(netif_be_connect_t, tx_shmem_frame, unsigned long);
P2C(netif_be_connect_t, tx_shmem_ref, u32);
- P2C(netif_be_connect_t, rx_shmem_frame, memory_t);
+ P2C(netif_be_connect_t, rx_shmem_frame, unsigned long);
P2C(netif_be_connect_t, rx_shmem_ref, u32);
P2C(netif_be_connect_t, evtchn, u16);
break;
@@ -942,7 +942,7 @@
P2C(usbif_fe_driver_status_changed_t, status, u32);
break;
case TYPE(CMSG_USBIF_FE, CMSG_USBIF_FE_INTERFACE_CONNECT):
- P2C(usbif_fe_interface_connect_t, shmem_frame, memory_t);
+ P2C(usbif_fe_interface_connect_t, shmem_frame, unsigned long);
break;
case TYPE(CMSG_USBIF_FE, CMSG_USBIF_FE_INTERFACE_DISCONNECT):
break;
@@ -956,7 +956,7 @@
break;
case TYPE(CMSG_USBIF_BE, CMSG_USBIF_BE_CONNECT):
P2C(usbif_be_connect_t, domid, domid_t);
- P2C(usbif_be_connect_t, shmem_frame, memory_t);
+ P2C(usbif_be_connect_t, shmem_frame, unsigned long);
P2C(usbif_be_connect_t, evtchn, u32);
P2C(usbif_be_connect_t, bandwidth, u32);
P2C(usbif_be_connect_t, status, u32);
diff -r 42f0160093ff -r eb9df2c3a478 tools/xentrace/xentrace.c
--- a/tools/xentrace/xentrace.c Fri Aug 19 18:08:29 2005
+++ b/tools/xentrace/xentrace.c Fri Aug 19 18:12:48 2005
@@ -95,13 +95,13 @@
/**
* get_tbufs - get pointer to and size of the trace buffers
- * @mach_addr: location to store machine address if the trace buffers to
- * @size: location to store the size of a trace buffer to
+ * @mfn: location to store mfn of the trace buffers to
+ * @size: location to store the size of a trace buffer to
*
* Gets the machine address of the trace pointer area and the size of the
* per CPU buffers.
*/
-void get_tbufs(unsigned long *mach_addr, unsigned long *size)
+void get_tbufs(unsigned long *mfn, unsigned long *size)
{
int ret;
dom0_op_t op; /* dom0 op we'll build */
@@ -121,19 +121,19 @@
exit(EXIT_FAILURE);
}
- *mach_addr = op.u.tbufcontrol.mach_addr;
- *size = op.u.tbufcontrol.size;
+ *mfn = op.u.tbufcontrol.buffer_mfn;
+ *size = op.u.tbufcontrol.size;
}
/**
* map_tbufs - memory map Xen trace buffers into user space
- * @tbufs: machine address of the trace buffers
+ * @tbufs_mfn: mfn of the trace buffers
* @num: number of trace buffers to map
* @size: size of each trace buffer
*
* Maps the Xen trace buffers them into process address space.
*/
-struct t_buf *map_tbufs(unsigned long tbufs_mach, unsigned int num,
+struct t_buf *map_tbufs(unsigned long tbufs_mfn, unsigned int num,
unsigned long size)
{
int xc_handle; /* file descriptor for /proc/xen/privcmd */
@@ -149,7 +149,7 @@
tbufs_mapped = xc_map_foreign_range(xc_handle, 0 /* Dom 0 ID */,
size * num, PROT_READ,
- tbufs_mach >> PAGE_SHIFT);
+ tbufs_mfn);
xc_interface_close(xc_handle);
@@ -231,7 +231,7 @@
/**
* init_rec_ptrs - initialises data area pointers to locations in user space
- * @tbufs_mach: machine base address of the trace buffer area
+ * @tbufs_mfn: base mfn of the trace buffer area
* @tbufs_mapped: user virtual address of base of trace buffer area
* @meta: array of user-space pointers to struct t_buf's of metadata
* @num: number of trace buffers
@@ -240,7 +240,7 @@
* mapped in user space. Note that the trace buffer metadata contains machine
* pointers - the array returned allows more convenient access to them.
*/
-struct t_rec **init_rec_ptrs(unsigned long tbufs_mach,
+struct t_rec **init_rec_ptrs(unsigned long tbufs_mfn,
struct t_buf *tbufs_mapped,
struct t_buf **meta,
unsigned int num)
@@ -256,7 +256,7 @@
}
for ( i = 0; i < num; i++ )
- data[i] = (struct t_rec *)(meta[i]->rec_addr - tbufs_mach
+ data[i] = (struct t_rec *)(meta[i]->rec_addr -
(tbufs_mfn<<XC_PAGE_SHIFT) /* XXX */
+ (unsigned long)tbufs_mapped);
return data;
@@ -330,7 +330,7 @@
struct t_rec **data; /* pointers to the trace buffer data areas
* where they are mapped into user space. */
unsigned long *cons; /* store tail indexes for the trace buffers */
- unsigned long tbufs_mach; /* machine address of the tbufs */
+ unsigned long tbufs_mfn; /* mfn of the tbufs */
unsigned int num; /* number of trace buffers / logical CPUS */
unsigned long size; /* size of a single trace buffer */
@@ -340,14 +340,14 @@
num = get_num_cpus();
/* setup access to trace buffers */
- get_tbufs(&tbufs_mach, &size);
- tbufs_mapped = map_tbufs(tbufs_mach, num, size);
+ get_tbufs(&tbufs_mfn, &size);
+ tbufs_mapped = map_tbufs(tbufs_mfn, num, size);
size_in_recs = (size - sizeof(struct t_buf)) / sizeof(struct t_rec);
/* build arrays of convenience ptrs */
meta = init_bufs_ptrs (tbufs_mapped, num, size);
- data = init_rec_ptrs (tbufs_mach, tbufs_mapped, meta, num);
+ data = init_rec_ptrs (tbufs_mfn, tbufs_mapped, meta, num);
cons = init_tail_idxs (meta, num);
/* now, scan buffers for events */
diff -r 42f0160093ff -r eb9df2c3a478 xen/arch/x86/physdev.c
--- a/xen/arch/x86/physdev.c Fri Aug 19 18:08:29 2005
+++ b/xen/arch/x86/physdev.c Fri Aug 19 18:12:48 2005
@@ -106,7 +106,7 @@
(op.u.set_iobitmap.nr_ports > 65536) )
break;
ret = 0;
- current->arch.iobmp = (u8 *)op.u.set_iobitmap.bitmap;
+ current->arch.iobmp = op.u.set_iobitmap.bitmap;
current->arch.iobmp_limit = op.u.set_iobitmap.nr_ports;
break;
default:
diff -r 42f0160093ff -r eb9df2c3a478 xen/common/trace.c
--- a/xen/common/trace.c Fri Aug 19 18:08:29 2005
+++ b/xen/common/trace.c Fri Aug 19 18:12:48 2005
@@ -113,10 +113,10 @@
switch ( tbc->op)
{
case DOM0_TBUF_GET_INFO:
- tbc->cpu_mask = tb_cpu_mask;
- tbc->evt_mask = tb_event_mask;
- tbc->mach_addr = __pa(t_bufs[0]);
- tbc->size = opt_tbuf_size * PAGE_SIZE;
+ tbc->cpu_mask = tb_cpu_mask;
+ tbc->evt_mask = tb_event_mask;
+ tbc->buffer_mfn = __pa(t_bufs[0]) >> PAGE_SHIFT;
+ tbc->size = opt_tbuf_size * PAGE_SIZE;
break;
case DOM0_TBUF_SET_CPU_MASK:
tb_cpu_mask = tbc->cpu_mask;
diff -r 42f0160093ff -r eb9df2c3a478 xen/include/public/arch-ia64.h
--- a/xen/include/public/arch-ia64.h Fri Aug 19 18:08:29 2005
+++ b/xen/include/public/arch-ia64.h Fri Aug 19 18:12:48 2005
@@ -12,9 +12,6 @@
#define MAX_VIRT_CPUS 1
#ifndef __ASSEMBLY__
-
-/* NB. Both the following are 64 bits each. */
-typedef unsigned long memory_t; /* Full-sized pointer/address/memory-size. */
#define MAX_NR_SECTION 32 // at most 32 memory holes
typedef struct {
diff -r 42f0160093ff -r eb9df2c3a478 xen/include/public/arch-x86_32.h
--- a/xen/include/public/arch-x86_32.h Fri Aug 19 18:08:29 2005
+++ b/xen/include/public/arch-x86_32.h Fri Aug 19 18:12:48 2005
@@ -63,9 +63,6 @@
#ifndef __ASSEMBLY__
-/* NB. Both the following are 32 bits each. */
-typedef unsigned long memory_t; /* Full-sized pointer/address/memory-size. */
-
/*
* Send an array of these to HYPERVISOR_set_trap_table()
*/
@@ -74,10 +71,10 @@
#define TI_SET_DPL(_ti,_dpl) ((_ti)->flags |= (_dpl))
#define TI_SET_IF(_ti,_if) ((_ti)->flags |= ((!!(_if))<<2))
typedef struct trap_info {
- u8 vector; /* exception vector */
- u8 flags; /* 0-3: privilege level; 4: clear event enable? */
- u16 cs; /* code selector */
- memory_t address; /* code address */
+ u8 vector; /* exception vector */
+ u8 flags; /* 0-3: privilege level; 4: clear event enable? */
+ u16 cs; /* code selector */
+ unsigned long address; /* code offset */
} trap_info_t;
typedef struct cpu_user_regs {
diff -r 42f0160093ff -r eb9df2c3a478 xen/include/public/arch-x86_64.h
--- a/xen/include/public/arch-x86_64.h Fri Aug 19 18:08:29 2005
+++ b/xen/include/public/arch-x86_64.h Fri Aug 19 18:12:48 2005
@@ -103,9 +103,6 @@
/* Bottom of switch_to_user stack frame. */
};
-/* NB. Both the following are 64 bits each. */
-typedef unsigned long memory_t; /* Full-sized pointer/address/memory-size. */
-
/*
* Send an array of these to HYPERVISOR_set_trap_table().
* N.B. As in x86/32 mode, the privilege level specifies which modes may enter
@@ -121,10 +118,10 @@
#define TI_SET_DPL(_ti,_dpl) ((_ti)->flags |= (_dpl))
#define TI_SET_IF(_ti,_if) ((_ti)->flags |= ((!!(_if))<<2))
typedef struct trap_info {
- u8 vector; /* exception vector */
- u8 flags; /* 0-3: privilege level; 4: clear event enable? */
- u16 cs; /* code selector */
- memory_t address; /* code address */
+ u8 vector; /* exception vector */
+ u8 flags; /* 0-3: privilege level; 4: clear event enable? */
+ u16 cs; /* code selector */
+ unsigned long address; /* code offset */
} trap_info_t;
typedef struct cpu_user_regs {
diff -r 42f0160093ff -r eb9df2c3a478 xen/include/public/dom0_ops.h
--- a/xen/include/public/dom0_ops.h Fri Aug 19 18:08:29 2005
+++ b/xen/include/public/dom0_ops.h Fri Aug 19 18:12:48 2005
@@ -19,7 +19,7 @@
* This makes sure that old versions of dom0 tools will stop working in a
* well-defined way (rather than crashing the machine, for instance).
*/
-#define DOM0_INTERFACE_VERSION 0xAAAA100E
+#define DOM0_INTERFACE_VERSION 0xAAAA100F
/************************************************************************/
@@ -27,10 +27,10 @@
typedef struct {
/* IN variables. */
domid_t domain;
- memory_t max_pfns;
+ unsigned long max_pfns;
void *buffer;
/* OUT variables. */
- memory_t num_pfns;
+ unsigned long num_pfns;
} dom0_getmemlist_t;
#define DOM0_SCHEDCTL 6
@@ -83,9 +83,9 @@
#define DOMFLAGS_SHUTDOWNMASK 255 /* DOMFLAGS_SHUTDOWN guest-supplied code. */
#define DOMFLAGS_SHUTDOWNSHIFT 16
u32 flags;
- memory_t tot_pages;
- memory_t max_pages;
- memory_t shared_info_frame; /* MFN of shared_info struct */
+ unsigned long tot_pages;
+ unsigned long max_pages;
+ unsigned long shared_info_frame; /* MFN of shared_info struct */
u64 cpu_time;
u32 n_vcpu;
s32 vcpu_to_cpu[MAX_VIRT_CPUS]; /* current mapping */
@@ -155,7 +155,7 @@
typedef struct {
/* IN variables. */
- memory_t pfn; /* Machine page frame number to query. */
+ unsigned long pfn; /* Machine page frame number to query. */
domid_t domain; /* To which domain does the frame belong? */
/* OUT variables. */
/* Is the page PINNED to a type? */
@@ -197,7 +197,7 @@
unsigned long cpu_mask;
u32 evt_mask;
/* OUT variables */
- memory_t mach_addr;
+ unsigned long buffer_mfn;
u32 size;
} dom0_tbufcontrol_t;
@@ -211,8 +211,8 @@
u32 sockets_per_node;
u32 nr_nodes;
u32 cpu_khz;
- memory_t total_pages;
- memory_t free_pages;
+ unsigned long total_pages;
+ unsigned long free_pages;
} dom0_physinfo_t;
/*
@@ -252,7 +252,7 @@
u32 op;
unsigned long *dirty_bitmap; /* pointer to locked buffer */
/* IN/OUT variables. */
- memory_t pages; /* size of buffer, updated with actual size */
+ unsigned long pages; /* size of buffer, updated with actual size */
/* OUT variables. */
dom0_shadow_control_stats_t stats;
} dom0_shadow_control_t;
@@ -260,15 +260,15 @@
#define DOM0_SETDOMAINMAXMEM 28
typedef struct {
/* IN variables. */
- domid_t domain;
- memory_t max_memkb;
+ domid_t domain;
+ unsigned long max_memkb;
} dom0_setdomainmaxmem_t;
#define DOM0_GETPAGEFRAMEINFO2 29 /* batched interface */
typedef struct {
/* IN variables. */
- domid_t domain;
- memory_t num;
+ domid_t domain;
+ unsigned long num;
/* IN/OUT variables. */
unsigned long *array;
} dom0_getpageframeinfo2_t;
@@ -283,12 +283,12 @@
#define DOM0_ADD_MEMTYPE 31
typedef struct {
/* IN variables. */
- memory_t pfn;
- memory_t nr_pfns;
- u32 type;
- /* OUT variables. */
- u32 handle;
- u32 reg;
+ unsigned long pfn;
+ unsigned long nr_pfns;
+ u32 type;
+ /* OUT variables. */
+ u32 handle;
+ u32 reg;
} dom0_add_memtype_t;
/*
@@ -311,8 +311,8 @@
/* IN variables. */
u32 reg;
/* OUT variables. */
- memory_t pfn;
- memory_t nr_pfns;
+ unsigned long pfn;
+ unsigned long nr_pfns;
u32 type;
} dom0_read_memtype_t;
@@ -361,10 +361,10 @@
typedef struct {
/* IN variables. */
domid_t first_domain;
- memory_t max_domains;
+ unsigned int max_domains;
dom0_getdomaininfo_t *buffer;
/* OUT variables. */
- memory_t num_domains;
+ unsigned int num_domains;
} dom0_getdomaininfolist_t;
#define DOM0_PLATFORM_QUIRK 39
diff -r 42f0160093ff -r eb9df2c3a478 xen/include/public/grant_table.h
--- a/xen/include/public/grant_table.h Fri Aug 19 18:08:29 2005
+++ b/xen/include/public/grant_table.h Fri Aug 19 18:12:48 2005
@@ -153,13 +153,13 @@
#define GNTTABOP_map_grant_ref 0
typedef struct gnttab_map_grant_ref {
/* IN parameters. */
- memory_t host_addr;
+ u64 host_addr;
domid_t dom;
grant_ref_t ref;
u16 flags; /* GNTMAP_* */
/* OUT parameters. */
s16 handle; /* +ve: handle; -ve: GNTST_* */
- memory_t dev_bus_addr;
+ u64 dev_bus_addr;
} gnttab_map_grant_ref_t;
/*
@@ -176,8 +176,8 @@
#define GNTTABOP_unmap_grant_ref 1
typedef struct gnttab_unmap_grant_ref {
/* IN parameters. */
- memory_t host_addr;
- memory_t dev_bus_addr;
+ u64 host_addr;
+ u64 dev_bus_addr;
u16 handle;
/* OUT parameters. */
s16 status; /* GNTST_* */
@@ -223,7 +223,7 @@
*/
#define GNTTABOP_donate 4
typedef struct {
- memory_t mfn; /* 0 */
+ unsigned long mfn; /* 0 */
domid_t domid; /* 4 */
u16 handle; /* 8 */
s16 status; /* 10: GNTST_* */
diff -r 42f0160093ff -r eb9df2c3a478 xen/include/public/io/domain_controller.h
--- a/xen/include/public/io/domain_controller.h Fri Aug 19 18:08:29 2005
+++ b/xen/include/public/io/domain_controller.h Fri Aug 19 18:12:48 2005
@@ -139,7 +139,7 @@
*/
typedef struct blkif_fe_interface_connect {
u32 handle;
- memory_t shmem_frame;
+ unsigned long shmem_frame;
int shmem_ref;
} blkif_fe_interface_connect_t;
@@ -249,7 +249,7 @@
/* IN */
domid_t domid; /* Domain attached to new interface. */
u32 blkif_handle; /* Domain-specific interface handle. */
- memory_t shmem_frame; /* Page cont. shared comms window. */
+ unsigned long shmem_frame;/* Page cont. shared comms window. */
int shmem_ref; /* Grant table reference. */
u32 evtchn; /* Event channel for notifications. */
/* OUT */
@@ -364,11 +364,11 @@
* STATUS_CONNECTED message.
*/
typedef struct netif_fe_interface_connect {
- u32 handle;
- memory_t tx_shmem_frame;
- int tx_shmem_ref;
- memory_t rx_shmem_frame;
- int rx_shmem_ref;
+ u32 handle;
+ unsigned long tx_shmem_frame;
+ int tx_shmem_ref;
+ unsigned long rx_shmem_frame;
+ int rx_shmem_ref;
} netif_fe_interface_connect_t;
/*
@@ -486,13 +486,13 @@
*/
typedef struct netif_be_connect {
/* IN */
- domid_t domid; /* Domain attached to new interface. */
- u32 netif_handle; /* Domain-specific interface handle. */
- memory_t tx_shmem_frame; /* Page cont. tx shared comms window. */
- int tx_shmem_ref; /* Grant reference for above */
- memory_t rx_shmem_frame; /* Page cont. rx shared comms window. */
- int rx_shmem_ref; /* Grant reference for above */
- u16 evtchn; /* Event channel for notifications. */
+ domid_t domid; /* Domain attached to new interface. */
+ u32 netif_handle; /* Domain-specific interface handle. */
+ unsigned long tx_shmem_frame;/* Page cont. tx shared comms window. */
+ int tx_shmem_ref; /* Grant reference for above */
+ unsigned long rx_shmem_frame;/* Page cont. rx shared comms window. */
+ int rx_shmem_ref; /* Grant reference for above */
+ u16 evtchn; /* Event channel for notifications. */
/* OUT */
u32 status;
} netif_be_connect_t;
@@ -577,7 +577,7 @@
* STATUS_CONNECTED message.
*/
typedef struct usbif_fe_interface_connect {
- memory_t shmem_frame;
+ unsigned long shmem_frame;
} usbif_fe_interface_connect_t;
/*
@@ -660,7 +660,7 @@
typedef struct usbif_be_connect {
/* IN */
domid_t domid; /* Domain attached to new interface. */
- memory_t shmem_frame; /* Page cont. shared comms window. */
+ unsigned long shmem_frame;/* Page cont. shared comms window. */
u32 evtchn; /* Event channel for notifications. */
u32 bandwidth; /* Bandwidth allocated for isoch / int - us
* per 1ms frame (ie between 0 and 900 or 800
@@ -780,7 +780,7 @@
#define PDB_CONNECTION_STATUS_UP 1
#define PDB_CONNECTION_STATUS_DOWN 2
u32 status;
- memory_t ring; /* status: UP */
+ unsigned long ring; /* status: UP */
u32 evtchn; /* status: UP */
} pdb_connection_t, *pdb_connection_p;
diff -r 42f0160093ff -r eb9df2c3a478 xen/include/public/io/netif.h
--- a/xen/include/public/io/netif.h Fri Aug 19 18:08:29 2005
+++ b/xen/include/public/io/netif.h Fri Aug 19 18:12:48 2005
@@ -10,7 +10,7 @@
#define __XEN_PUBLIC_IO_NETIF_H__
typedef struct netif_tx_request {
- memory_t addr; /* Machine address of packet. */
+ unsigned long addr; /* Machine address of packet. */
u16 csum_blank:1; /* Proto csum field blank? */
u16 id:15; /* Echoed in response message. */
u16 size; /* Packet size in bytes. */
@@ -32,7 +32,7 @@
#ifdef CONFIG_XEN_NETDEV_GRANT_TX
u32 addr; /* 0: Offset in page of start of received packet */
#else
- memory_t addr; /* Machine address of packet. */
+ unsigned long addr; /* Machine address of packet. */
#endif
u16 csum_valid:1; /* Protocol checksum is validated? */
u16 id:15;
diff -r 42f0160093ff -r eb9df2c3a478 xen/include/public/physdev.h
--- a/xen/include/public/physdev.h Fri Aug 19 18:08:29 2005
+++ b/xen/include/public/physdev.h Fri Aug 19 18:12:48 2005
@@ -27,8 +27,8 @@
typedef struct physdevop_set_iobitmap {
/* IN */
- memory_t bitmap;
- u32 nr_ports;
+ char *bitmap;
+ u32 nr_ports;
} physdevop_set_iobitmap_t;
typedef struct physdevop_apic {
diff -r 42f0160093ff -r eb9df2c3a478 xen/include/public/xen.h
--- a/xen/include/public/xen.h Fri Aug 19 18:08:29 2005
+++ b/xen/include/public/xen.h Fri Aug 19 18:12:48 2005
@@ -171,9 +171,9 @@
unsigned int cmd;
union {
/* [UN]PIN_TABLE, NEW_BASEPTR, NEW_USER_BASEPTR, REASSIGN_PAGE */
- memory_t mfn;
+ unsigned long mfn;
/* INVLPG_LOCAL, INVLPG_ALL, SET_LDT */
- memory_t linear_addr;
+ unsigned long linear_addr;
};
union {
/* SET_LDT */
@@ -438,18 +438,18 @@
#define MAX_GUEST_CMDLINE 1024
typedef struct start_info {
/* THE FOLLOWING ARE FILLED IN BOTH ON INITIAL BOOT AND ON RESUME. */
- memory_t nr_pages; /* Total pages allocated to this domain. */
- memory_t shared_info; /* MACHINE address of shared info struct. */
+ unsigned long nr_pages; /* Total pages allocated to this domain. */
+ unsigned long shared_info;/* MACHINE address of shared info struct. */
u32 flags; /* SIF_xxx flags. */
u16 domain_controller_evtchn;
/* THE FOLLOWING ARE ONLY FILLED IN ON INITIAL BOOT (NOT RESUME). */
- memory_t pt_base; /* VIRTUAL address of page directory. */
- memory_t nr_pt_frames; /* Number of bootstrap p.t. frames. */
- memory_t mfn_list; /* VIRTUAL address of page-frame list. */
- memory_t mod_start; /* VIRTUAL address of pre-loaded module. */
- memory_t mod_len; /* Size (bytes) of pre-loaded module. */
+ unsigned long pt_base; /* VIRTUAL address of page directory. */
+ unsigned long nr_pt_frames;/* Number of bootstrap p.t. frames. */
+ unsigned long mfn_list; /* VIRTUAL address of page-frame list. */
+ unsigned long mod_start; /* VIRTUAL address of pre-loaded module. */
+ unsigned long mod_len; /* Size (bytes) of pre-loaded module. */
s8 cmd_line[MAX_GUEST_CMDLINE];
- memory_t store_mfn; /* MACHINE page number of shared page. */
+ unsigned long store_mfn; /* MACHINE page number of shared page. */
u16 store_evtchn; /* Event channel for store communication. */
} start_info_t;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|