diff options
author | Robert Buchholz <rbu@gentoo.org> | 2007-07-24 18:13:27 +0000 |
---|---|---|
committer | Robert Buchholz <rbu@gentoo.org> | 2007-07-24 18:13:27 +0000 |
commit | 30b3f84940fbc7f62b798a1dd355efc5029090ca (patch) | |
tree | 42b41807f1cfacfffa29faff95518f8d32212c6d /tags | |
parent | Adding 13.fc7 patches (diff) | |
download | xen-30b3f84940fbc7f62b798a1dd355efc5029090ca.tar.gz xen-30b3f84940fbc7f62b798a1dd355efc5029090ca.tar.bz2 xen-30b3f84940fbc7f62b798a1dd355efc5029090ca.zip |
Tagging 13.fc7
svn path=/patches/; revision=10
Diffstat (limited to 'tags')
8 files changed, 332 insertions, 0 deletions
diff --git a/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0952-linux-2.6-xen-x86_64-silence-up-apic-errors.patch b/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0952-linux-2.6-xen-x86_64-silence-up-apic-errors.patch new file mode 100644 index 0000000..788af81 --- /dev/null +++ b/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0952-linux-2.6-xen-x86_64-silence-up-apic-errors.patch @@ -0,0 +1,13 @@ +diff -r 00cc4568f10f arch/x86_64/kernel/apic-xen.c +--- a/arch/x86_64/kernel/apic-xen.c Tue Jul 25 21:07:37 2006 +0200 ++++ b/arch/x86_64/kernel/apic-xen.c Tue Jul 25 21:17:54 2006 +0200 +@@ -174,7 +174,8 @@ asmlinkage void smp_error_interrupt(void + 6: Received illegal vector + 7: Illegal register address + */ +- printk (KERN_DEBUG "APIC error on CPU%d: %02x(%02x)\n", ++ if (num_online_cpus() > 1) ++ printk (KERN_DEBUG "APIC error on CPU%d: %02x(%02x)\n", + smp_processor_id(), v , v1); + irq_exit(); + } diff --git a/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0956-linux-2.6-fix-x86_64-smp.patch b/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0956-linux-2.6-fix-x86_64-smp.patch new file mode 100644 index 0000000..24796a5 --- /dev/null +++ b/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0956-linux-2.6-fix-x86_64-smp.patch @@ -0,0 +1,19 @@ +--- linux-2.6.20.noarch/arch/x86_64/kernel/time-xen.c~orig 2007-04-26 02:05:31.000000000 -0700 ++++ linux-2.6.20.noarch/arch/x86_64/kernel/time-xen.c 2007-04-26 02:02:27.000000000 -0700 +@@ -985,7 +985,7 @@ void time_resume(void) + #ifdef CONFIG_SMP + static char timer_name[NR_CPUS][15]; + +-void local_setup_timer(unsigned int cpu) ++int local_setup_timer(unsigned int cpu) + { + int seq; + +@@ -1009,6 +1009,7 @@ void local_setup_timer(unsigned int cpu) + timer_name[cpu], + NULL); + BUG_ON(per_cpu(timer_irq, cpu) < 0); ++ return 0; + } + + void local_teardown_timer(unsigned int cpu) diff --git a/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0957-linux-2.6-fix-x86_64-vgetcpu.patch b/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0957-linux-2.6-fix-x86_64-vgetcpu.patch new file mode 100644 index 0000000..17e0247 --- /dev/null +++ b/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0957-linux-2.6-fix-x86_64-vgetcpu.patch @@ -0,0 +1,65 @@ +--- linux-2.6.20.noarch/arch/x86_64/kernel/vsyscall.c~orig 2007-04-26 02:05:31.000000000 -0700 ++++ linux-2.6.20.noarch/arch/x86_64/kernel/vsyscall.c 2007-04-26 15:11:02.000000000 -0700 +@@ -40,6 +40,9 @@ + #include <asm/segment.h> + #include <asm/desc.h> + #include <asm/topology.h> ++#ifdef CONFIG_XEN ++#include <asm/hypercall.h> ++#endif + + #define __vsyscall(nr) __attribute__ ((unused,__section__(".vsyscall_" #nr))) + #define __syscall_clobber "r11","rcx","memory" +@@ -246,12 +249,11 @@ + + #endif + +-#ifndef CONFIG_XEN + /* Assume __initcall executes before all user space. Hopefully kmod + doesn't violate that. We'll find out if it does. */ + static void __cpuinit vsyscall_set_cpu(int cpu) + { +- unsigned long *d; ++ unsigned long *d, n; + unsigned long node = 0; + #ifdef CONFIG_NUMA + node = cpu_to_node[cpu]; +@@ -263,10 +265,15 @@ + in user space in vgetcpu. + 12 bits for the CPU and 8 bits for the node. */ + d = (unsigned long *)(cpu_gdt(cpu) + GDT_ENTRY_PER_CPU); +- *d = 0x0f40000000000ULL; +- *d |= cpu; +- *d |= (node & 0xf) << 12; +- *d |= (node >> 4) << 48; ++ n = 0x0f40000000000ULL; ++ n |= cpu; ++ n |= (node & 0xf) << 12; ++ n |= (node >> 4) << 48; ++#ifndef CONFIG_XEN ++ *d = n; ++#else ++ HYPERVISOR_update_descriptor(virt_to_machine(d), n); ++#endif + } + + static void __cpuinit cpu_vsyscall_init(void *arg) +@@ -283,7 +290,6 @@ + smp_call_function_single(cpu, cpu_vsyscall_init, NULL, 0, 1); + return NOTIFY_DONE; + } +-#endif + + static void __init map_vsyscall(void) + { +@@ -320,10 +326,8 @@ + #ifdef CONFIG_SYSCTL + register_sysctl_table(kernel_root_table2, 0); + #endif +-#ifndef CONFIG_XEN + on_each_cpu(cpu_vsyscall_init, NULL, 0, 1); + hotcpu_notifier(cpu_vsyscall_notifier, 0); +-#endif + return 0; + } + diff --git a/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0958-linux-2.6-xen-iscsi-x86_64-no_iommu_init.patch b/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0958-linux-2.6-xen-iscsi-x86_64-no_iommu_init.patch new file mode 100644 index 0000000..e46e657 --- /dev/null +++ b/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0958-linux-2.6-xen-iscsi-x86_64-no_iommu_init.patch @@ -0,0 +1,46 @@ +# HG changeset patch +# User chrisw@sous-sol.org +# Date Tue Oct 03 13:44:38 2006 -0400 +# Node ID e5a7f30e1db3f1084f6789d21ea2a6fdaafdb96d +# parent: 6cd0fae5d84c4a4b15546ceaade74b7d7f044404 +Make sure no_iommu_init is called when needed on x86_64. Thanks +to Mark McLoughlin <markmc@redhat.com> for spotting the issue and +proposing a fix. + +Index: linux-2.6.20.i386/arch/i386/kernel/pci-dma-xen.c +=================================================================== +--- linux-2.6.20.i386.orig/arch/i386/kernel/pci-dma-xen.c ++++ linux-2.6.20.i386/arch/i386/kernel/pci-dma-xen.c +@@ -21,6 +21,9 @@ + #include <asm/bug.h> + + #ifdef __x86_64__ ++#include <asm/proto.h> ++#include <asm/calgary.h> ++ + int iommu_merge __read_mostly = 0; + EXPORT_SYMBOL(iommu_merge); + +@@ -69,6 +72,22 @@ void __init pci_iommu_alloc(void) + #endif + } + ++static int __init pci_iommu_init(void) ++{ ++#ifdef CONFIG_CALGARY_IOMMU ++ calgary_iommu_init(); ++#endif ++ ++#ifdef CONFIG_IOMMU ++ gart_iommu_init(); ++#endif ++ ++ no_iommu_init(); ++ return 0; ++} ++ ++/* Must execute after PCI subsystem */ ++fs_initcall(pci_iommu_init); + #endif + + struct dma_coherent_mem { diff --git a/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0959-linux-2.6-xen-fix-nosegneg-detection.patch b/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0959-linux-2.6-xen-fix-nosegneg-detection.patch new file mode 100644 index 0000000..915b84a --- /dev/null +++ b/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0959-linux-2.6-xen-fix-nosegneg-detection.patch @@ -0,0 +1,29 @@ +From: Rik van Riel <riel@redhat.com> +Subject: [PATCH][RHEL5] fix nosegneg detection +Date: Wed, 03 Jan 2007 12:59:10 -0500 +Bugzilla: 220675 +Message-Id: <459BEEEE.2060006@redhat.com> +Changelog: xen: fix nosegneg detection + + +The attached patch fixes bug 220675, by placing the nosegneg flag +exactly where glibc expects it to be. I swear I fixed this bug +before once or twice, but the fix must have gotten lost somewhere. + +Please apply. + +-- +Politics is the struggle between those who want to make their country +the best in the world, and those who believe it already is. Each group +calls the other unpatriotic. + +--- linux-2.6.18.x86_64/arch/i386/kernel/vsyscall-note-xen.S.220675 2007-01-03 12:56:38.000000000 -0500 ++++ linux-2.6.18.x86_64/arch/i386/kernel/vsyscall-note-xen.S 2007-01-03 12:56:47.000000000 -0500 +@@ -28,5 +28,5 @@ + #define NOTE_KERNELCAP_END ASM_ELF_NOTE_END + + NOTE_KERNELCAP_BEGIN(1, 1) +-NOTE_KERNELCAP(1, "nosegneg") /* Change 1 back to 0 when glibc is fixed! */ ++NOTE_KERNELCAP(0, "nosegneg") + NOTE_KERNELCAP_END + diff --git a/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0960-linux-2.6-xen-blkfront-wait-add.patch b/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0960-linux-2.6-xen-blkfront-wait-add.patch new file mode 100644 index 0000000..e17438b --- /dev/null +++ b/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/0960-linux-2.6-xen-blkfront-wait-add.patch @@ -0,0 +1,85 @@ +Make xenblk wait to the disk to be added +See http://bugzilla.redhat.com/248462 + +Index: linux-2.6.20.i386/drivers/xen/blkfront/blkfront.c +=================================================================== +--- linux-2.6.20.i386.orig/drivers/xen/blkfront/blkfront.c ++++ linux-2.6.20.i386/drivers/xen/blkfront/blkfront.c +@@ -343,6 +343,8 @@ static void connect(struct blkfront_info + spin_unlock_irq(&blkif_io_lock); + + add_disk(info->gd); ++ ++ info->is_ready = 1; + } + + /** +@@ -852,6 +854,13 @@ static void blkif_recover(struct blkfron + spin_unlock_irq(&blkif_io_lock); + } + ++int blkfront_is_ready(struct xenbus_device *dev) ++{ ++ struct blkfront_info *info = dev->dev.driver_data; ++ ++ return info->is_ready; ++} ++ + + /* ** Driver Registration ** */ + +@@ -870,6 +879,7 @@ static struct xenbus_driver blkfront = { + .remove = blkfront_remove, + .resume = blkfront_resume, + .otherend_changed = backend_changed, ++ .is_ready = blkfront_is_ready, + }; + + +Index: linux-2.6.20.i386/drivers/xen/blkfront/block.h +=================================================================== +--- linux-2.6.20.i386.orig/drivers/xen/blkfront/block.h ++++ linux-2.6.20.i386/drivers/xen/blkfront/block.h +@@ -125,6 +125,7 @@ struct blkfront_info + struct blk_shadow shadow[BLK_RING_SIZE]; + unsigned long shadow_free; + int feature_barrier; ++ int is_ready; + + /** + * The number of people holding this device open. We won't allow a +Index: linux-2.6.20.i386/drivers/xen/xenbus/xenbus_probe.c +=================================================================== +--- linux-2.6.20.i386.orig/drivers/xen/xenbus/xenbus_probe.c ++++ linux-2.6.20.i386/drivers/xen/xenbus/xenbus_probe.c +@@ -940,6 +940,7 @@ static int is_disconnected_device(struct + { + struct xenbus_device *xendev = to_xenbus_device(dev); + struct device_driver *drv = data; ++ struct xenbus_driver *xendrv; + + /* + * A device with no driver will never connect. We care only about +@@ -952,7 +953,9 @@ static int is_disconnected_device(struct + if (drv && (dev->driver != drv)) + return 0; + +- return (xendev->state != XenbusStateConnected); ++ xendrv = to_xenbus_driver(dev->driver); ++ return (xendev->state != XenbusStateConnected || ++ (xendrv->is_ready && !xendrv->is_ready(xendev))); + } + + static int exists_disconnected_device(struct device_driver *drv) +Index: linux-2.6.20.i386/include/xen/xenbus.h +=================================================================== +--- linux-2.6.20.i386.orig/include/xen/xenbus.h ++++ linux-2.6.20.i386/include/xen/xenbus.h +@@ -105,6 +105,7 @@ struct xenbus_driver { + int (*uevent)(struct xenbus_device *, char **, int, char *, int); + struct device_driver driver; + int (*read_otherend_details)(struct xenbus_device *dev); ++ int (*is_ready)(struct xenbus_device *dev); + }; + + static inline struct xenbus_driver *to_xenbus_driver(struct device_driver *drv) diff --git a/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/1665-linux-2.6-disable-netback-checksum.patch b/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/1665-linux-2.6-disable-netback-checksum.patch new file mode 100644 index 0000000..18b4dae --- /dev/null +++ b/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/1665-linux-2.6-disable-netback-checksum.patch @@ -0,0 +1,37 @@ +From: Herbert Xu <herbert.xu@redhat.com> +Subject: Re: Final resolution for the checksum problems + + +Daniel P. Berrange <berrange@redhat.com> wrote: +> +>> > Alternatively we could just make netback default tx checksums to off +>> > which should have a similar effect as disabling it on virbr0. +>> +>> This seems like a simpler path than introducing new infrastructure for +>> scripts to run every time the interface is brought up/down. And then +>> it's even easier to remove the "trigger" when we get the functionality +>> in the kernel +> +> I agree - this would be even simpler. + +Here is a patch which does just that. + +Cheers, +-- +Visit Openswan at http://www.openswan.org/ +Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> +Home Page: http://gondor.apana.org.au/~herbert/ +PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt +-- +--- a/drivers/xen/netback/interface.c 2007-04-28 11:57:31.000000000 +1000 ++++ b/drivers/xen/netback/interface.c 2007-05-02 19:58:16.000000000 +1000 +@@ -161,7 +161,6 @@ + dev->open = net_open; + dev->stop = net_close; + dev->change_mtu = netbk_change_mtu; +- dev->features = NETIF_F_IP_CSUM; + + SET_ETHTOOL_OPS(dev, &network_ethtool_ops); + + + diff --git a/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/3000-linux-2.6-acpi-config_pm-poweroff.patch b/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/3000-linux-2.6-acpi-config_pm-poweroff.patch new file mode 100644 index 0000000..e925785 --- /dev/null +++ b/tags/2.6.20/fedora-xen-patches-2.6.20-2925.13.fc7/3000-linux-2.6-acpi-config_pm-poweroff.patch @@ -0,0 +1,38 @@ +See http://bugzilla.redhat.com/241381 + +From b7da11fc422b5d06ab6ed5444a1f01ac0e805c74 Mon Sep 17 00:00:00 2001 +From: Eduardo Habkost <ehabkost@redhat.com> +Date: Tue, 10 Jul 2007 19:02:14 -0300 +Subject: [PATCH] Remove #ifdef CONFIG_PM from ACPI power-off code + +The ACPI poweroff code is inside a #ifdef CONFIG_PM, that was added on +commit b35c67a46b025e8dc320b59fbe5c283094e1d7f5. It is not necessary +because the poweroff code compiles and works even with CONFIG_PM disabled. + +Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> +--- + drivers/acpi/sleep/poweroff.c | 4 ---- + 1 files changed, 0 insertions(+), 4 deletions(-) + +diff --git a/drivers/acpi/sleep/poweroff.c b/drivers/acpi/sleep/poweroff.c +index d9801ef..5d6ba10 100644 +--- a/drivers/acpi/sleep/poweroff.c ++++ b/drivers/acpi/sleep/poweroff.c +@@ -37,8 +37,6 @@ #endif + return 0; + } + +-#ifdef CONFIG_PM +- + void acpi_power_off(void) + { + /* acpi_sleep_prepare(ACPI_STATE_S5) should have already been called */ +@@ -94,5 +92,3 @@ static int acpi_poweroff_init(void) + } + + late_initcall(acpi_poweroff_init); +- +-#endif /* CONFIG_PM */ +-- +silverbrick.install.2006.08.14-dirty + |