[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Merge freefall.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-2.0-testing.bk



ChangeSet 1.1493, 2005/05/20 23:18:38+01:00, iap10@xxxxxxxxxxxxxxxxxxxxx

        Merge 
freefall.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-2.0-testing.bk
        into freefall.cl.cam.ac.uk:/auto/groups/xeno-xenod/BK/xen-unstable.bk



 b/linux-2.4.30-xen-sparse/arch/xen/Makefile                     |    2 
 b/linux-2.4.30-xen-sparse/arch/xen/config.in                    |   16 
 b/linux-2.4.30-xen-sparse/arch/xen/defconfig-xen0               |    3 
 b/linux-2.4.30-xen-sparse/arch/xen/defconfig-xenU               |    2 
 b/linux-2.4.30-xen-sparse/arch/xen/drivers/blkif/frontend/vbd.c |   50 
 b/linux-2.4.30-xen-sparse/arch/xen/kernel/Makefile              |    4 
 b/linux-2.4.30-xen-sparse/arch/xen/kernel/head.S                |    4 
 b/linux-2.4.30-xen-sparse/arch/xen/kernel/ldt.c                 |    5 
 b/linux-2.4.30-xen-sparse/arch/xen/kernel/process.c             |   50 
 b/linux-2.4.30-xen-sparse/arch/xen/kernel/setup.c               |   31 
 b/linux-2.4.30-xen-sparse/arch/xen/kernel/traps.c               |   11 
 b/linux-2.4.30-xen-sparse/arch/xen/mm/fault.c                   |    4 
 b/linux-2.4.30-xen-sparse/arch/xen/mm/init.c                    |   13 
 b/linux-2.4.30-xen-sparse/arch/xen/mm/ioremap.c                 |   19 
 b/linux-2.4.30-xen-sparse/include/asm-xen/desc.h                |    8 
 b/linux-2.4.30-xen-sparse/include/asm-xen/fixmap.h              |    4 
 b/linux-2.4.30-xen-sparse/include/asm-xen/mmu_context.h         |   45 
 b/linux-2.4.30-xen-sparse/include/asm-xen/page.h                |   24 
 b/linux-2.4.30-xen-sparse/include/asm-xen/pgalloc.h             |   25 
 b/linux-2.4.30-xen-sparse/include/asm-xen/pgtable-2level.h      |   36 
 b/linux-2.4.30-xen-sparse/include/asm-xen/pgtable.h             |   53 
 b/linux-2.4.30-xen-sparse/include/asm-xen/system.h              |    2 
 b/linux-2.4.30-xen-sparse/mkbuildtree                           |   17 
 b/linux-2.4.30-xen-sparse/mm/highmem.c                          |    1 
 b/linux-2.4.30-xen-sparse/mm/memory.c                           |   36 
 b/linux-2.4.30-xen-sparse/mm/mremap.c                           |    2 
 b/linux-2.6.11-xen-sparse/drivers/xen/blkfront/block.h          |   11 
 linux-2.4.30-xen-sparse/fs/exec.c                               | 1179 
---------
 linux-2.4.30-xen-sparse/include/asm-xen/msr.h                   |  138 -
 linux-2.4.30-xen-sparse/mm/swapfile.c                           | 1269 
----------
 linux-2.4.30-xen-sparse/mm/vmalloc.c                            |  385 ---
 31 files changed, 201 insertions(+), 3248 deletions(-)


diff -Nru a/linux-2.4.30-xen-sparse/arch/xen/Makefile 
b/linux-2.4.30-xen-sparse/arch/xen/Makefile
--- a/linux-2.4.30-xen-sparse/arch/xen/Makefile 2005-05-20 19:04:06 -04:00
+++ b/linux-2.4.30-xen-sparse/arch/xen/Makefile 2005-05-20 19:04:06 -04:00
@@ -61,6 +61,7 @@
 SUBDIRS += arch/xen/drivers/evtchn
 SUBDIRS += arch/xen/drivers/blkif
 SUBDIRS += arch/xen/drivers/netif
+SUBDIRS += arch/xen/drivers/usbif
 SUBDIRS += arch/xen/drivers/balloon
 ifdef CONFIG_XEN_PRIVILEGED_GUEST
 SUBDIRS += arch/xen/drivers/dom0 
@@ -71,6 +72,7 @@
 CORE_FILES += arch/xen/drivers/console/drv.o
 DRIVERS += arch/xen/drivers/blkif/drv.o
 DRIVERS += arch/xen/drivers/netif/drv.o
+DRIVERS += arch/xen/drivers/usbif/drv.o
 ifdef CONFIG_XEN_PRIVILEGED_GUEST
 CORE_FILES += arch/xen/drivers/dom0/drv.o
 endif
diff -Nru a/linux-2.4.30-xen-sparse/arch/xen/config.in 
b/linux-2.4.30-xen-sparse/arch/xen/config.in
--- a/linux-2.4.30-xen-sparse/arch/xen/config.in        2005-05-20 19:04:06 
-04:00
+++ b/linux-2.4.30-xen-sparse/arch/xen/config.in        2005-05-20 19:04:06 
-04:00
@@ -16,14 +16,19 @@
 comment 'Xen'
 bool 'Support for privileged operations (domain 0)' CONFIG_XEN_PRIVILEGED_GUEST
 bool 'Device-driver domain (physical device access)' CONFIG_XEN_PHYSDEV_ACCESS
+if [ "$CONFIG_XEN_PHYSDEV_ACCESS" = "y" ]; then
+    bool 'USB-device backend driver' CONFIG_XEN_USB_BACKEND
+fi
 bool 'Scrub memory before freeing it to Xen' CONFIG_XEN_SCRUB_PAGES
 bool 'Network-device frontend driver' CONFIG_XEN_NETDEV_FRONTEND
 bool 'Block-device frontend driver' CONFIG_XEN_BLKDEV_FRONTEND
+bool 'Block-device uses grant tables' CONFIG_XEN_BLKDEV_GRANT
+bool 'USB-device frontend driver' CONFIG_XEN_USB_FRONTEND
 endmenu
 # The IBM S/390 patch needs this.
 define_bool CONFIG_NO_IDLE_HZ y
 
-if [ "$CONFIG_XEN_PHYSDEV_ACCESS" == "y" ]; then
+if [ "$CONFIG_XEN_PHYSDEV_ACCESS" = "y" ]; then
    define_bool CONFIG_FOREIGN_PAGES y
 else
    define_bool CONFIG_FOREIGN_PAGES n
@@ -262,7 +267,7 @@
 
 source drivers/char/Config.in
 
-if [ "$CONFIG_XEN_PHYSDEV_ACCESS" = "y" ]; then
+if [ "$CONFIG_XEN_PHYSDEV_ACCESS" = "y" -o "$CONFIG_XEN_USB_FRONTEND" = "y" ]; 
then
    source drivers/media/Config.in
 fi
 
@@ -295,9 +300,16 @@
       source drivers/sound/Config.in
    fi
    endmenu
+fi
 
+if [ "$CONFIG_XEN_PHYSDEV_ACCESS" = "y" -o "$CONFIG_XEN_USB_FRONTEND" = "y" ]; 
then
+   if [ "$CONFIG_XEN_USB_FRONTEND" = "y" -o "$CONFIG_XEN_USB_BACKEND" = "y" ]; 
then
+       define_bool CONFIG_USB y
+   fi
    source drivers/usb/Config.in
+fi
 
+if [ "$CONFIG_XEN_PHYSDEV_ACCESS" = "y" ]; then
    source net/bluetooth/Config.in
 fi
 
diff -Nru a/linux-2.4.30-xen-sparse/arch/xen/defconfig-xen0 
b/linux-2.4.30-xen-sparse/arch/xen/defconfig-xen0
--- a/linux-2.4.30-xen-sparse/arch/xen/defconfig-xen0   2005-05-20 19:04:06 
-04:00
+++ b/linux-2.4.30-xen-sparse/arch/xen/defconfig-xen0   2005-05-20 19:04:06 
-04:00
@@ -12,9 +12,12 @@
 #
 CONFIG_XEN_PRIVILEGED_GUEST=y
 CONFIG_XEN_PHYSDEV_ACCESS=y
+# CONFIG_XEN_USB_BACKEND is not set
 CONFIG_XEN_SCRUB_PAGES=y
 CONFIG_XEN_NETDEV_FRONTEND=y
 CONFIG_XEN_BLKDEV_FRONTEND=y
+CONFIG_XEN_BLKDEV_GRANT=y
+# CONFIG_XEN_USB_FRONTEND is not set
 CONFIG_NO_IDLE_HZ=y
 CONFIG_FOREIGN_PAGES=y
 
diff -Nru a/linux-2.4.30-xen-sparse/arch/xen/defconfig-xenU 
b/linux-2.4.30-xen-sparse/arch/xen/defconfig-xenU
--- a/linux-2.4.30-xen-sparse/arch/xen/defconfig-xenU   2005-05-20 19:04:06 
-04:00
+++ b/linux-2.4.30-xen-sparse/arch/xen/defconfig-xenU   2005-05-20 19:04:06 
-04:00
@@ -15,6 +15,8 @@
 CONFIG_XEN_SCRUB_PAGES=y
 CONFIG_XEN_NETDEV_FRONTEND=y
 CONFIG_XEN_BLKDEV_FRONTEND=y
+CONFIG_XEN_BLKDEV_GRANT=y
+# CONFIG_XEN_USB_FRONTEND is not set
 CONFIG_NO_IDLE_HZ=y
 # CONFIG_FOREIGN_PAGES is not set
 CONFIG_NETDEVICES=y
diff -Nru a/linux-2.4.30-xen-sparse/arch/xen/drivers/blkif/frontend/vbd.c 
b/linux-2.4.30-xen-sparse/arch/xen/drivers/blkif/frontend/vbd.c
--- a/linux-2.4.30-xen-sparse/arch/xen/drivers/blkif/frontend/vbd.c     
2005-05-20 19:04:07 -04:00
+++ b/linux-2.4.30-xen-sparse/arch/xen/drivers/blkif/frontend/vbd.c     
2005-05-20 19:04:07 -04:00
@@ -67,9 +67,14 @@
     memset(&req, 0, sizeof(req));
     req.operation   = BLKIF_OP_PROBE;
     req.nr_segments = 1;
+#ifdef CONFIG_XEN_BLKDEV_GRANT
+    blkif_control_probe_send(&req, &rsp,
+                             (unsigned long)(virt_to_machine(buf)));
+#else
     req.frame_and_sects[0] = virt_to_machine(buf) | 7;
 
     blkif_control_send(&req, &rsp);
+#endif
 
     if ( rsp.status <= 0 )
     {
@@ -114,12 +119,6 @@
     if ( (bd = bdget(device)) == NULL )
         return -1;
 
-    /*
-     * Update of partition info, and check of usage count, is protected
-     * by the per-block-device semaphore.
-     */
-    down(&bd->bd_sem);
-
     if ( ((disk = xldev_to_xldisk(device)) != NULL) && (disk->usage != 0) )
     {
         printk(KERN_ALERT "VBD update failed - in use [dev=%x]\n", device);
@@ -137,11 +136,6 @@
        major_name = XLSCSI_MAJOR_NAME;
        max_part   = XLSCSI_MAX_PART;
 
-    } else if (VDISK_VIRTUAL(xd->info)) {
-
-       major_name = XLVBD_MAJOR_NAME;
-       max_part   = XLVBD_MAX_PART;
-
     } else { 
 
         /* SMH: hmm - probably a CCISS driver or sim; assume CCISS for now */
@@ -248,8 +242,8 @@
         blk_size[major] = gd->sizes;
     }
 
-    if ( VDISK_READONLY(xd->info) )
-        set_device_ro(device, 1); 
+    if ( xd->info & VDISK_READONLY )
+        set_device_ro(device, 1);
 
     gd->flags[minor >> gd->minor_shift] |= GENHD_FL_XEN;
 
@@ -298,20 +292,16 @@
         gd->sizes[minor] = capacity>>(BLOCK_SIZE_BITS-9);
         
         /* Some final fix-ups depending on the device type */
-        switch ( VDISK_TYPE(xd->info) )
+        if ( xd->info & VDISK_REMOVABLE )
         { 
-        case VDISK_TYPE_CDROM:
-        case VDISK_TYPE_FLOPPY: 
-        case VDISK_TYPE_TAPE:
             gd->flags[minor >> gd->minor_shift] |= GENHD_FL_REMOVABLE; 
             printk(KERN_ALERT 
                    "Skipping partition check on %s /dev/%s\n", 
-                   VDISK_TYPE(xd->info)==VDISK_TYPE_CDROM ? "cdrom" : 
-                   (VDISK_TYPE(xd->info)==VDISK_TYPE_TAPE ? "tape" : 
-                    "floppy"), disk_name(gd, MINOR(device), buf)); 
-            break; 
-
-        case VDISK_TYPE_DISK:
+                   (xd->info & VDISK_CDROM) ? "cdrom" : "removable",
+                   disk_name(gd, MINOR(device), buf)); 
+        }
+        else
+        {
             /* Only check partitions on real discs (not virtual!). */
             if ( gd->flags[minor>>gd->minor_shift] & GENHD_FL_VIRT_PARTNS )
             {
@@ -321,17 +311,10 @@
                 break;
             }
             register_disk(gd, device, gd->max_p, &xlvbd_block_fops, capacity);
-            break; 
-
-        default:
-            printk(KERN_ALERT "XenoLinux: unknown device type %d\n", 
-                   VDISK_TYPE(xd->info)); 
-            break; 
         }
     }
 
  out:
-    up(&bd->bd_sem);
     bdput(bd);    
     return rc;
 }
@@ -356,12 +339,6 @@
     if ( (bd = bdget(device)) == NULL )
         return -1;
 
-    /*
-     * Update of partition info, and check of usage count, is protected
-     * by the per-block-device semaphore.
-     */
-    down(&bd->bd_sem);
-
     if ( ((gd = get_gendisk(device)) == NULL) ||
          ((disk = xldev_to_xldisk(device)) == NULL) )
         BUG();
@@ -423,7 +400,6 @@
     }
 
  out:
-    up(&bd->bd_sem);
     bdput(bd);
     return rc;
 }
diff -Nru a/linux-2.4.30-xen-sparse/arch/xen/kernel/Makefile 
b/linux-2.4.30-xen-sparse/arch/xen/kernel/Makefile
--- a/linux-2.4.30-xen-sparse/arch/xen/kernel/Makefile  2005-05-20 19:04:07 
-04:00
+++ b/linux-2.4.30-xen-sparse/arch/xen/kernel/Makefile  2005-05-20 19:04:07 
-04:00
@@ -6,12 +6,12 @@
 
 O_TARGET := kernel.o
 
-export-objs     := i386_ksyms.o skbuff.o ctrl_if.o
+export-objs     := i386_ksyms.o gnttab.o skbuff.o ctrl_if.o
 
 obj-y  := process.o semaphore.o signal.o entry.o traps.o irq.o  \
                ptrace.o ioport.o ldt.o setup.o time.o sys_i386.o \
                i386_ksyms.o i387.o evtchn.o ctrl_if.o pci-dma.o \
-               reboot.o fixup.o skbuff.o
+               reboot.o fixup.o gnttab.o skbuff.o
 
 ifdef CONFIG_PCI
 obj-y  += pci-i386.o pci-pc.o
diff -Nru a/linux-2.4.30-xen-sparse/arch/xen/kernel/head.S 
b/linux-2.4.30-xen-sparse/arch/xen/kernel/head.S
--- a/linux-2.4.30-xen-sparse/arch/xen/kernel/head.S    2005-05-20 19:04:06 
-04:00
+++ b/linux-2.4.30-xen-sparse/arch/xen/kernel/head.S    2005-05-20 19:04:06 
-04:00
@@ -1,6 +1,8 @@
 
 .section __xen_guest
-    .asciz "GUEST_OS=linux,GUEST_VER=2.4,XEN_VER=2.0,VIRT_BASE=0xC0000000"
+    .ascii "GUEST_OS=linux,GUEST_VER=2.4,XEN_VER=3.0,VIRT_BASE=0xC0000000"
+    .ascii ",LOADER=generic"
+    .byte  0
 
 .text
 #include <linux/config.h>
diff -Nru a/linux-2.4.30-xen-sparse/arch/xen/kernel/ldt.c 
b/linux-2.4.30-xen-sparse/arch/xen/kernel/ldt.c
--- a/linux-2.4.30-xen-sparse/arch/xen/kernel/ldt.c     2005-05-20 19:04:06 
-04:00

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.