[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |