[kernel] r16449 - in dists/sid/linux-2.6/debian: . patches/features/all/xen patches/features/all/xen/pvhvm patches/series
Ian Campbell
ijc-guest at alioth.debian.org
Fri Oct 15 15:31:58 UTC 2010
Author: ijc-guest
Date: Fri Oct 15 15:31:54 2010
New Revision: 16449
Log:
xen: backport pair of fixes from v2.6.36-rc7 for issues caused by pvhvm support
Added:
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0018-xen-do-not-set-xenstored_ready-before-xenbus_probe.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0019-xen-do-not-initialize-PV-timers-on-HVM-if-xen_have.patch
dists/sid/linux-2.6/debian/patches/series/26
dists/sid/linux-2.6/debian/patches/series/26-extra
- copied, changed from r16448, dists/sid/linux-2.6/debian/patches/series/25-extra
Deleted:
dists/sid/linux-2.6/debian/patches/series/25-extra
Modified:
dists/sid/linux-2.6/debian/changelog
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0001-xen-Add-support-for-HVM-hypercalls.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0002-x86-early-PV-on-HVM-features-initialization.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0003-x86-xen-event-channels-delivery-on-HVM.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0004-xen-Xen-PCI-platform-device-driver.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0005-xen-Add-suspend-resume-support-for-PV-on-HVM-guests.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0006-xen-Fix-find_unbound_irq-in-presence-of-ioapic-irqs.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0007-x86-Use-xen_vcpuop_clockevent-xen_clocksource-and.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0008-x86-Unplug-emulated-disks-and-nics.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0009-x86-Call-HVMOP_pagetable_dying-on-exit_mmap.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0010-xenfs-enable-for-HVM-domains-too.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0011-support-multiple-.discard.-sections-to-avoid-sectio.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0012-blkfront-do-not-create-a-PV-cdrom-device-if-xen_hvm.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0013-Introduce-CONFIG_XEN_PVHVM-compile-option.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0014-pvops-do-not-notify-callers-from-register_xenstore_.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0015-xen-pvhvm-allow-user-to-request-no-emulated-device.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0016-xen-pvhvm-rename-xen_emul_unplug-ignore-to-unnnec.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0017-xen-pvhvm-make-it-clearer-that-XEN_UNPLUG_-define.patch
dists/sid/linux-2.6/debian/patches/features/all/xen/pvops.patch
Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/changelog Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,3 +1,12 @@
+linux-2.6 (2.6.32-26) UNRELEASED; urgency=low
+
+ [ Ian Campbell ]
+ * xen: fix PVHVM hang at boot when Xen does not support vector callbacks.
+ * xen: fix race between PV drivers and xenstore initialisation which caused
+ breakage in drivers for both regular PV and PVHVM guests.
+
+ -- dann frazier <dannf at debian.org> Fri, 15 Oct 2010 16:03:12 +0100
+
linux-2.6 (2.6.32-25) unstable; urgency=high
[ Ben Hutchings ]
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0001-xen-Add-support-for-HVM-hypercalls.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0001-xen-Add-support-for-HVM-hypercalls.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0001-xen-Add-support-for-HVM-hypercalls.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From f1d25fa1b16536b1dfe8ee41fd152b6960d618a1 Mon Sep 17 00:00:00 2001
+From 18bead72e8ef16cbf7deb1e62b6cf49ea17208cf Mon Sep 17 00:00:00 2001
From: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com>
Date: Fri, 14 May 2010 12:38:24 +0100
Subject: [PATCH] xen: Add support for HVM hypercalls.
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0002-x86-early-PV-on-HVM-features-initialization.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0002-x86-early-PV-on-HVM-features-initialization.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0002-x86-early-PV-on-HVM-features-initialization.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From d1d33440ff3851e3e3937ef16c94e238e7b6209b Mon Sep 17 00:00:00 2001
+From a8467e58d26fba816ec66b213f1ef64b599d3696 Mon Sep 17 00:00:00 2001
From: Sheng Yang <sheng at linux.intel.com>
Date: Fri, 14 May 2010 12:39:33 +0100
Subject: [PATCH] x86: early PV on HVM features initialization.
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0003-x86-xen-event-channels-delivery-on-HVM.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0003-x86-xen-event-channels-delivery-on-HVM.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0003-x86-xen-event-channels-delivery-on-HVM.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From b1a340f0801b0cb7225436fdd115b4d162f3fb4f Mon Sep 17 00:00:00 2001
+From 72d5868bd133a6de295ec11fd8c479ff66c4daee Mon Sep 17 00:00:00 2001
From: Sheng Yang <sheng at linux.intel.com>
Date: Fri, 14 May 2010 12:40:51 +0100
Subject: [PATCH] x86/xen: event channels delivery on HVM.
@@ -152,7 +152,7 @@
void xen_init_irq_ops(void);
diff --git a/drivers/xen/events.c b/drivers/xen/events.c
-index 30e0467..9b03dcd 100644
+index ac91a4e..b18ed66 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -28,6 +28,7 @@
@@ -177,7 +177,7 @@
/*
* This lock protects updates to the following mapping and reference-count
-@@ -617,17 +621,13 @@ static DEFINE_PER_CPU(unsigned, xed_nesting_count);
+@@ -618,17 +622,13 @@ static DEFINE_PER_CPU(unsigned, xed_nesting_count);
* a bitset of words which contain pending event bits. The second
* level is a bitset of pending events themselves.
*/
@@ -196,7 +196,7 @@
do {
unsigned long pending_words;
-@@ -663,10 +663,26 @@ void xen_evtchn_do_upcall(struct pt_regs *regs)
+@@ -664,10 +664,26 @@ void xen_evtchn_do_upcall(struct pt_regs *regs)
} while(count != 1);
out:
@@ -224,8 +224,8 @@
}
/* Rebind a new event channel to an existing irq. */
-@@ -929,6 +945,40 @@ static struct irq_chip xen_dynamic_chip __read_mostly = {
- .retrigger = retrigger_dynirq,
+@@ -940,6 +956,40 @@ static struct irq_chip xen_percpu_chip __read_mostly = {
+ .ack = ack_dynirq,
};
+int xen_set_callback_via(uint64_t via)
@@ -265,7 +265,7 @@
void __init xen_init_IRQ(void)
{
int i;
-@@ -943,5 +993,10 @@ void __init xen_init_IRQ(void)
+@@ -954,5 +1004,10 @@ void __init xen_init_IRQ(void)
for (i = 0; i < NR_EVENT_CHANNELS; i++)
mask_evtchn(i);
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0004-xen-Xen-PCI-platform-device-driver.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0004-xen-Xen-PCI-platform-device-driver.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0004-xen-Xen-PCI-platform-device-driver.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From 06fdafa2eb7de1a800febb62d302fe72ddba033e Mon Sep 17 00:00:00 2001
+From c405b056d5c75c010f0ceccf6603f157dd67a2d1 Mon Sep 17 00:00:00 2001
From: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Date: Mon, 17 May 2010 17:08:21 +0100
Subject: [PATCH] xen: Xen PCI platform device driver.
@@ -77,10 +77,10 @@
+obj-$(CONFIG_XEN_SYS_HYPERVISOR) += sys-hypervisor.o
+obj-$(CONFIG_XEN_PLATFORM_PCI) += platform-pci.o
diff --git a/drivers/xen/events.c b/drivers/xen/events.c
-index 9b03dcd..9d99c9a 100644
+index b18ed66..4e27981 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
-@@ -660,7 +660,7 @@ static void __xen_evtchn_do_upcall(struct pt_regs *regs)
+@@ -661,7 +661,7 @@ static void __xen_evtchn_do_upcall(struct pt_regs *regs)
count = __get_cpu_var(xed_nesting_count);
__get_cpu_var(xed_nesting_count) = 0;
@@ -89,7 +89,7 @@
out:
-@@ -684,6 +684,7 @@ void xen_hvm_evtchn_do_upcall(void)
+@@ -685,6 +685,7 @@ void xen_hvm_evtchn_do_upcall(void)
{
__xen_evtchn_do_upcall(get_irq_regs());
}
@@ -97,7 +97,7 @@
/* Rebind a new event channel to an existing irq. */
void rebind_evtchn_irq(int evtchn, int irq)
-@@ -720,7 +721,10 @@ static int rebind_irq_to_cpu(unsigned irq, unsigned tcpu)
+@@ -721,7 +722,10 @@ static int rebind_irq_to_cpu(unsigned irq, unsigned tcpu)
struct evtchn_bind_vcpu bind_vcpu;
int evtchn = evtchn_from_irq(irq);
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0005-xen-Add-suspend-resume-support-for-PV-on-HVM-guests.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0005-xen-Add-suspend-resume-support-for-PV-on-HVM-guests.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0005-xen-Add-suspend-resume-support-for-PV-on-HVM-guests.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From 86e23db6cf392fe26d24653d64ef39586fd8dc5a Mon Sep 17 00:00:00 2001
+From 303aa8c43299c101aec84cdd2734aeba0f98164c Mon Sep 17 00:00:00 2001
From: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Date: Fri, 14 May 2010 12:45:07 +0100
Subject: [PATCH] xen: Add suspend/resume support for PV on HVM guests.
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0006-xen-Fix-find_unbound_irq-in-presence-of-ioapic-irqs.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0006-xen-Fix-find_unbound_irq-in-presence-of-ioapic-irqs.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0006-xen-Fix-find_unbound_irq-in-presence-of-ioapic-irqs.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From 3dc94dc81f56fec4a409b049c12413e847d05056 Mon Sep 17 00:00:00 2001
+From 157110d7caaa447b7cb3f53efe52cf2b45b7bbc2 Mon Sep 17 00:00:00 2001
From: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Date: Fri, 14 May 2010 12:41:20 +0100
Subject: [PATCH] xen: Fix find_unbound_irq in presence of ioapic irqs.
@@ -18,10 +18,10 @@
1 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/drivers/xen/events.c b/drivers/xen/events.c
-index 9d99c9a..da01209 100644
+index 4e27981..30891d0 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
-@@ -338,9 +338,18 @@ static int find_unbound_irq(void)
+@@ -339,9 +339,18 @@ static int find_unbound_irq(void)
int irq;
struct irq_desc *desc;
@@ -41,7 +41,7 @@
if (irq == nr_irqs)
panic("No available IRQ to bind to: increase nr_irqs!\n");
-@@ -349,7 +358,7 @@ static int find_unbound_irq(void)
+@@ -350,7 +359,7 @@ static int find_unbound_irq(void)
if (WARN_ON(desc == NULL))
return -1;
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0007-x86-Use-xen_vcpuop_clockevent-xen_clocksource-and.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0007-x86-Use-xen_vcpuop_clockevent-xen_clocksource-and.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0007-x86-Use-xen_vcpuop_clockevent-xen_clocksource-and.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From fa466b657a6fcd885010a11181facc7b546d304d Mon Sep 17 00:00:00 2001
+From 482a146c01b7d0ab909ea46db8a1a9668f95fad8 Mon Sep 17 00:00:00 2001
From: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Date: Fri, 14 May 2010 12:48:19 +0100
Subject: [PATCH] x86: Use xen_vcpuop_clockevent, xen_clocksource and xen wallclock.
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0008-x86-Unplug-emulated-disks-and-nics.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0008-x86-Unplug-emulated-disks-and-nics.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0008-x86-Unplug-emulated-disks-and-nics.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From 2028bd4b38952279d585c8cb9c4fcf20dbe49f8d Mon Sep 17 00:00:00 2001
+From 92b4c1980e16ac02e5c67de2e78d1008197c7a79 Mon Sep 17 00:00:00 2001
From: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Date: Fri, 14 May 2010 12:44:30 +0100
Subject: [PATCH] x86: Unplug emulated disks and nics.
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0009-x86-Call-HVMOP_pagetable_dying-on-exit_mmap.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0009-x86-Call-HVMOP_pagetable_dying-on-exit_mmap.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0009-x86-Call-HVMOP_pagetable_dying-on-exit_mmap.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From 433c1fcf01da8d4e860c8632d6173fa7e71131f4 Mon Sep 17 00:00:00 2001
+From f1dcacf67b12417de4ea44490e284306079211c2 Mon Sep 17 00:00:00 2001
From: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Date: Thu, 17 Jun 2010 14:22:52 +0100
Subject: [PATCH] x86: Call HVMOP_pagetable_dying on exit_mmap.
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0010-xenfs-enable-for-HVM-domains-too.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0010-xenfs-enable-for-HVM-domains-too.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0010-xenfs-enable-for-HVM-domains-too.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From 35d88765e6e1d7f823321197374de2eb8dff49a2 Mon Sep 17 00:00:00 2001
+From 95015fe45d55b139001badc4b6d81e13643d05e9 Mon Sep 17 00:00:00 2001
From: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com>
Date: Wed, 21 Jul 2010 22:51:39 -0700
Subject: [PATCH] xenfs: enable for HVM domains too
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0011-support-multiple-.discard.-sections-to-avoid-sectio.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0011-support-multiple-.discard.-sections-to-avoid-sectio.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0011-support-multiple-.discard.-sections-to-avoid-sectio.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From a543c647ea71c2888c989424c2931419dd269a34 Mon Sep 17 00:00:00 2001
+From de808912b7a98963650bd69b14d43f5b18d26ab2 Mon Sep 17 00:00:00 2001
From: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com>
Date: Thu, 22 Jul 2010 22:58:01 -0700
Subject: [PATCH] support multiple .discard.* sections to avoid section type conflicts
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0012-blkfront-do-not-create-a-PV-cdrom-device-if-xen_hvm.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0012-blkfront-do-not-create-a-PV-cdrom-device-if-xen_hvm.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0012-blkfront-do-not-create-a-PV-cdrom-device-if-xen_hvm.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From f1626eb8756c2aae216e3f1e56008013876cdee8 Mon Sep 17 00:00:00 2001
+From 94a2d06759ffaee52d07a9234f1fbaa17c2fb604 Mon Sep 17 00:00:00 2001
From: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Date: Thu, 29 Jul 2010 14:53:16 +0100
Subject: [PATCH] blkfront: do not create a PV cdrom device if xen_hvm_guest
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0013-Introduce-CONFIG_XEN_PVHVM-compile-option.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0013-Introduce-CONFIG_XEN_PVHVM-compile-option.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0013-Introduce-CONFIG_XEN_PVHVM-compile-option.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From 5a949a535944f82ae85d56c7fabb232a61499273 Mon Sep 17 00:00:00 2001
+From 85fd6f697ed3d6eaad0a4a5d313ccd0aad076a2c Mon Sep 17 00:00:00 2001
From: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Date: Thu, 29 Jul 2010 14:37:48 +0100
Subject: [PATCH] Introduce CONFIG_XEN_PVHVM compile option
@@ -121,10 +121,10 @@
help
Driver for the Xen PCI Platform device: it is responsible for
diff --git a/drivers/xen/events.c b/drivers/xen/events.c
-index da01209..5d25cdf 100644
+index 30891d0..373905b 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
-@@ -968,6 +968,7 @@ int xen_set_callback_via(uint64_t via)
+@@ -979,6 +979,7 @@ int xen_set_callback_via(uint64_t via)
}
EXPORT_SYMBOL_GPL(xen_set_callback_via);
@@ -132,7 +132,7 @@
/* Vector callbacks are better than PCI interrupts to receive event
* channel notifications because we can receive vector callbacks on any
* vcpu and we don't need PCI support or APIC interactions. */
-@@ -991,6 +992,9 @@ void xen_callback_vector(void)
+@@ -1002,6 +1003,9 @@ void xen_callback_vector(void)
alloc_intr_gate(XEN_HVM_EVTCHN_CALLBACK, xen_hvm_callback_vector);
}
}
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0014-pvops-do-not-notify-callers-from-register_xenstore_.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0014-pvops-do-not-notify-callers-from-register_xenstore_.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0014-pvops-do-not-notify-callers-from-register_xenstore_.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From 2444ef2cef95949d2f429d5e0dfef2e987a2c491 Mon Sep 17 00:00:00 2001
+From 645691ac94c92a6891c5aac9fbc49dc1867742d3 Mon Sep 17 00:00:00 2001
From: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
Date: Fri, 16 Jul 2010 17:30:19 +0100
Subject: [PATCH] pvops: do not notify callers from register_xenstore_notifier
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0015-xen-pvhvm-allow-user-to-request-no-emulated-device.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0015-xen-pvhvm-allow-user-to-request-no-emulated-device.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0015-xen-pvhvm-allow-user-to-request-no-emulated-device.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From fb9586290f3fe27d154394c8f899d3f09f999721 Mon Sep 17 00:00:00 2001
+From 518855d71bcd59c8c0f3e8f6d2c3eda07a0a405f Mon Sep 17 00:00:00 2001
From: Ian Campbell <ian.campbell at citrix.com>
Date: Mon, 23 Aug 2010 11:59:28 +0100
Subject: [PATCH] xen: pvhvm: allow user to request no emulated device unplug
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0016-xen-pvhvm-rename-xen_emul_unplug-ignore-to-unnnec.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0016-xen-pvhvm-rename-xen_emul_unplug-ignore-to-unnnec.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0016-xen-pvhvm-rename-xen_emul_unplug-ignore-to-unnnec.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From 8ea5516badd9ccaa6088e8d1c634bb146f0125da Mon Sep 17 00:00:00 2001
+From bb18d7f128a63e23f88f5f346b7f397521380ae4 Mon Sep 17 00:00:00 2001
From: Ian Campbell <ian.campbell at citrix.com>
Date: Mon, 23 Aug 2010 11:59:29 +0100
Subject: [PATCH] xen: pvhvm: rename xen_emul_unplug=ignore to =unnnecessary
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0017-xen-pvhvm-make-it-clearer-that-XEN_UNPLUG_-define.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0017-xen-pvhvm-make-it-clearer-that-XEN_UNPLUG_-define.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0017-xen-pvhvm-make-it-clearer-that-XEN_UNPLUG_-define.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -1,4 +1,4 @@
-From 416d0512ba8d717ce996a89ab1e900208feebe46 Mon Sep 17 00:00:00 2001
+From bc2c1a9783634b4ec6a0895276399771e2e2c20d Mon Sep 17 00:00:00 2001
From: Ian Campbell <ian.campbell at citrix.com>
Date: Mon, 23 Aug 2010 12:01:35 +0100
Subject: [PATCH] xen: pvhvm: make it clearer that XEN_UNPLUG_* define bits in a bitfield
Added: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0018-xen-do-not-set-xenstored_ready-before-xenbus_probe.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0018-xen-do-not-set-xenstored_ready-before-xenbus_probe.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -0,0 +1,64 @@
+From 6f79b062998da6aced68cc190ba61d9d132efa7a Mon Sep 17 00:00:00 2001
+From: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
+Date: Mon, 4 Oct 2010 16:10:06 +0100
+Subject: [PATCH] xen: do not set xenstored_ready before xenbus_probe on hvm
+
+Register_xenstore_notifier should guarantee that the caller gets
+notified even if xenstore is already up.
+Therefore we revert "do not notify callers from
+register_xenstore_notifier" and set xenstored_read at the right time for
+PV on HVM guests too.
+In fact in case of PV on HVM guests xenstored is ready only after the
+platform pci driver has completed the initialization, so do not set
+xenstored_ready before the call to xenbus_probe().
+
+This patch fixes a shutdown_event watcher registration bug that causes
+"xm shutdown" not to work properly.
+
+Signed-off-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
+Acked-by: Jeremy Fitzhardinge <jeremy at goop.org>
+(cherry picked from commit a947f0f8f7012a5e8689a9cff7209ec6964ec154)
+
+Signed-off-by: Ian Campbell <ian.campbell at citrix.com>
+---
+ drivers/xen/xenbus/xenbus_probe.c | 9 ++++++---
+ 1 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/xen/xenbus/xenbus_probe.c b/drivers/xen/xenbus/xenbus_probe.c
+index f52baf3..59857e8 100644
+--- a/drivers/xen/xenbus/xenbus_probe.c
++++ b/drivers/xen/xenbus/xenbus_probe.c
+@@ -752,7 +752,10 @@ int register_xenstore_notifier(struct notifier_block *nb)
+ {
+ int ret = 0;
+
+- blocking_notifier_chain_register(&xenstore_chain, nb);
++ if (xenstored_ready > 0)
++ ret = nb->notifier_call(nb, 0, NULL);
++ else
++ blocking_notifier_chain_register(&xenstore_chain, nb);
+
+ return ret;
+ }
+@@ -766,7 +769,7 @@ EXPORT_SYMBOL_GPL(unregister_xenstore_notifier);
+
+ void xenbus_probe(struct work_struct *unused)
+ {
+- BUG_ON((xenstored_ready <= 0));
++ xenstored_ready = 1;
+
+ /* Enumerate devices in xenstore and watch for changes. */
+ xenbus_probe_devices(&xenbus_frontend);
+@@ -832,8 +835,8 @@ static int __init xenbus_init(void)
+ xen_store_evtchn = xen_start_info->store_evtchn;
+ xen_store_mfn = xen_start_info->store_mfn;
+ xen_store_interface = mfn_to_virt(xen_store_mfn);
++ xenstored_ready = 1;
+ }
+- xenstored_ready = 1;
+ }
+
+ /* Initialize the interface to xenstore. */
+--
+1.5.6.5
+
Added: dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0019-xen-do-not-initialize-PV-timers-on-HVM-if-xen_have.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvhvm/0019-xen-do-not-initialize-PV-timers-on-HVM-if-xen_have.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -0,0 +1,41 @@
+From be74246bdc4ec4de0b47ab5a937a7579cb9bad51 Mon Sep 17 00:00:00 2001
+From: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
+Date: Fri, 1 Oct 2010 17:35:46 +0100
+Subject: [PATCH] xen: do not initialize PV timers on HVM if !xen_have_vector_callback
+
+if !xen_have_vector_callback do not initialize PV timer unconditionally
+because we still don't know how many cpus are available and if there is
+more than one we won't be able to receive the timer interrupts on
+cpu > 0.
+
+This patch fixes an hang at boot when Xen does not support vector
+callbacks and the guest has multiple vcpus.
+
+Signed-off-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
+Acked-by: Jeremy Fitzhardinge <jeremy at goop.org>
+(cherry picked from commit 31e7e931cdc27f76dc68444edc4df1c0d1bfa6cc)
+
+Signed-off-by: Ian Campbell <ian.campbell at citrix.com>
+---
+ arch/x86/xen/time.c | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
+index 094c70a..3b1ba77 100644
+--- a/arch/x86/xen/time.c
++++ b/arch/x86/xen/time.c
+@@ -488,8 +488,9 @@ static void xen_hvm_setup_cpu_clockevents(void)
+ __init void xen_hvm_init_time_ops(void)
+ {
+ /* vector callback is needed otherwise we cannot receive interrupts
+- * on cpu > 0 */
+- if (!xen_have_vector_callback && num_present_cpus() > 1)
++ * on cpu > 0 and at this point we don't know how many cpus are
++ * available */
++ if (!xen_have_vector_callback)
+ return;
+ if (!xen_feature(XENFEAT_hvm_safe_pvclock)) {
+ printk(KERN_INFO "Xen doesn't support pvclock on HVM,"
+--
+1.5.6.5
+
Modified: dists/sid/linux-2.6/debian/patches/features/all/xen/pvops.patch
==============================================================================
--- dists/sid/linux-2.6/debian/patches/features/all/xen/pvops.patch Fri Oct 15 15:31:33 2010 (r16448)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvops.patch Fri Oct 15 15:31:54 2010 (r16449)
@@ -5274,7 +5274,7 @@
BUG();
}
diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
-index 094c70a..68feb40 100644
+index 3b1ba77..68feb40 100644
--- a/arch/x86/xen/time.c
+++ b/arch/x86/xen/time.c
@@ -201,8 +201,22 @@ static unsigned long xen_get_wallclock(void)
@@ -5340,7 +5340,19 @@
static void xen_hvm_setup_cpu_clockevents(void)
{
int cpu = smp_processor_id();
-@@ -505,4 +520,3 @@ __init void xen_hvm_init_time_ops(void)
+@@ -488,9 +503,8 @@ static void xen_hvm_setup_cpu_clockevents(void)
+ __init void xen_hvm_init_time_ops(void)
+ {
+ /* vector callback is needed otherwise we cannot receive interrupts
+- * on cpu > 0 and at this point we don't know how many cpus are
+- * available */
+- if (!xen_have_vector_callback)
++ * on cpu > 0 */
++ if (!xen_have_vector_callback && num_present_cpus() > 1)
+ return;
+ if (!xen_feature(XENFEAT_hvm_safe_pvclock)) {
+ printk(KERN_INFO "Xen doesn't support pvclock on HVM,"
+@@ -506,4 +520,3 @@ __init void xen_hvm_init_time_ops(void)
x86_platform.get_wallclock = xen_get_wallclock;
x86_platform.set_wallclock = xen_set_wallclock;
}
@@ -26309,7 +26321,7 @@
* @dev: xenbus device
* @ring_mfn: mfn of ring to grant
diff --git a/drivers/xen/xenbus/xenbus_probe.c b/drivers/xen/xenbus/xenbus_probe.c
-index f52baf3..3a83ba2 100644
+index 59857e8..3a83ba2 100644
--- a/drivers/xen/xenbus/xenbus_probe.c
+++ b/drivers/xen/xenbus/xenbus_probe.c
@@ -49,6 +49,8 @@
@@ -26675,19 +26687,33 @@
/* A flag to determine if xenstored is 'ready' (i.e. has started) */
int xenstored_ready = 0;
-@@ -768,11 +662,6 @@ void xenbus_probe(struct work_struct *unused)
+@@ -752,10 +646,7 @@ int register_xenstore_notifier(struct notifier_block *nb)
{
- BUG_ON((xenstored_ready <= 0));
+ int ret = 0;
+
+- if (xenstored_ready > 0)
+- ret = nb->notifier_call(nb, 0, NULL);
+- else
+- blocking_notifier_chain_register(&xenstore_chain, nb);
++ blocking_notifier_chain_register(&xenstore_chain, nb);
+
+ return ret;
+ }
+@@ -769,12 +660,7 @@ EXPORT_SYMBOL_GPL(unregister_xenstore_notifier);
+ void xenbus_probe(struct work_struct *unused)
+ {
+- xenstored_ready = 1;
+-
- /* Enumerate devices in xenstore and watch for changes. */
- xenbus_probe_devices(&xenbus_frontend);
- register_xenbus_watch(&fe_watch);
- xenbus_backend_probe_and_watch();
--
++ BUG_ON((xenstored_ready <= 0));
+
/* Notify others that xenstore is up */
blocking_notifier_call_chain(&xenstore_chain, 0, NULL);
- }
-@@ -795,28 +684,45 @@ device_initcall(xenbus_probe_initcall);
+@@ -798,28 +684,45 @@ device_initcall(xenbus_probe_initcall);
static int __init xenbus_init(void)
{
int err = 0;
@@ -26744,15 +26770,15 @@
if (xen_hvm_domain()) {
uint64_t v = 0;
err = hvm_get_parameter(HVM_PARAM_STORE_EVTCHN, &v);
-@@ -833,7 +739,6 @@ static int __init xenbus_init(void)
+@@ -835,7 +738,6 @@ static int __init xenbus_init(void)
+ xen_store_evtchn = xen_start_info->store_evtchn;
xen_store_mfn = xen_start_info->store_mfn;
xen_store_interface = mfn_to_virt(xen_store_mfn);
+- xenstored_ready = 1;
}
-- xenstored_ready = 1;
}
- /* Initialize the interface to xenstore. */
-@@ -841,7 +746,7 @@ static int __init xenbus_init(void)
+@@ -844,7 +746,7 @@ static int __init xenbus_init(void)
if (err) {
printk(KERN_WARNING
"XENBUS: Error initializing xenstore comms: %i\n", err);
@@ -26761,7 +26787,7 @@
}
#ifdef CONFIG_XEN_COMPAT_XENFS
-@@ -854,131 +759,13 @@ static int __init xenbus_init(void)
+@@ -857,131 +759,13 @@ static int __init xenbus_init(void)
return 0;
Added: dists/sid/linux-2.6/debian/patches/series/26
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/series/26 Fri Oct 15 15:31:54 2010 (r16449)
@@ -0,0 +1,3 @@
++ features/all/xen/pvhvm/0018-xen-do-not-set-xenstored_ready-before-xenbus_probe.patch
++ features/all/xen/pvhvm/0019-xen-do-not-initialize-PV-timers-on-HVM-if-xen_have.patch
+
Copied and modified: dists/sid/linux-2.6/debian/patches/series/26-extra (from r16448, dists/sid/linux-2.6/debian/patches/series/25-extra)
==============================================================================
More information about the Kernel-svn-changes
mailing list