rpms/kernel/devel kernel.spec, 1.1294.2.42, 1.1294.2.43 xen.pvops.patch, 1.1.2.28, 1.1.2.29

myoung myoung at fedoraproject.org
Wed Jul 15 22:20:15 UTC 2009


Author: myoung

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv12845

Modified Files:
      Tag: private-myoung-dom0-branch
	kernel.spec xen.pvops.patch 
Log Message:
update pvops patch again (last update didn't build)



Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1294.2.42
retrieving revision 1.1294.2.43
diff -u -p -r1.1294.2.42 -r1.1294.2.43
--- kernel.spec	15 Jul 2009 21:32:22 -0000	1.1294.2.42
+++ kernel.spec	15 Jul 2009 22:20:03 -0000	1.1294.2.43
@@ -1876,7 +1876,7 @@ fi
 
 %changelog
 * Wed Jul 15 2009 Michael Young <m.a.young at durham.ac.uk>
-- update pvops patch
+- update pvops patch x2
 
 * Tue Jul 14 2009 Kyle McMartin <kyle at redhat.com> 2.6.31-0.68-rc3
 - 2.6.31-rc3

xen.pvops.patch:

Index: xen.pvops.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/Attic/xen.pvops.patch,v
retrieving revision 1.1.2.28
retrieving revision 1.1.2.29
diff -u -p -r1.1.2.28 -r1.1.2.29
--- xen.pvops.patch	15 Jul 2009 20:58:07 -0000	1.1.2.28
+++ xen.pvops.patch	15 Jul 2009 22:20:03 -0000	1.1.2.29
@@ -4170,6 +4170,19 @@ index 429834e..4706af7 100644
  	per_cpu(cpu_state, cpu) = CPU_UP_PREPARE;
  
  	/* make sure interrupts start blocked */
+diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
+index 0a5aa44..d4e9a97 100644
+--- a/arch/x86/xen/time.c
++++ b/arch/x86/xen/time.c
+@@ -434,7 +434,7 @@ void xen_setup_timer(int cpu)
+ 		name = "<timer kasprintf failed>";
+ 
+ 	irq = bind_virq_to_irqhandler(VIRQ_TIMER, cpu, xen_timer_interrupt,
+-				      IRQF_DISABLED|IRQF_PERCPU|IRQF_NOBALANCING,
++				      IRQF_DISABLED|IRQF_PERCPU|IRQF_NOBALANCING|IRQF_TIMER,
+ 				      name, NULL);
+ 
+ 	evt = &per_cpu(xen_clock_events, cpu);
 diff --git a/arch/x86/xen/vga.c b/arch/x86/xen/vga.c
 new file mode 100644
 index 0000000..1cd7f4d
@@ -7040,7 +7053,7 @@ index 0000000..650f4b3
 +	(void)xenbus_register_backend(&blkback);
 +}
 diff --git a/drivers/xen/events.c b/drivers/xen/events.c
-index abad71b..ad7193f 100644
+index abad71b..2aed84f 100644
 --- a/drivers/xen/events.c
 +++ b/drivers/xen/events.c
 @@ -16,7 +16,7 @@
@@ -7406,7 +7419,15 @@ index abad71b..ad7193f 100644
  int bind_virq_to_irqhandler(unsigned int virq, unsigned int cpu,
  			    irq_handler_t handler,
  			    unsigned long irqflags, const char *devname, void *dev_id)
-@@ -924,13 +1193,37 @@ static struct irq_chip xen_dynamic_chip __read_mostly = {
+@@ -532,6 +801,7 @@ int bind_ipi_to_irqhandler(enum ipi_vector ipi,
+ 	if (irq < 0)
+ 		return irq;
+ 
++	irqflags |= IRQF_NO_SUSPEND;
+ 	retval = request_irq(irq, handler, irqflags, devname, dev_id);
+ 	if (retval != 0) {
+ 		unbind_from_irq(irq);
+@@ -924,13 +1194,38 @@ static struct irq_chip xen_dynamic_chip __read_mostly = {
  	.retrigger	= retrigger_dynirq,
  };
  
@@ -7437,15 +7458,16 @@ index abad71b..ad7193f 100644
  	cpu_evtchn_mask_p = kcalloc(nr_cpu_ids, sizeof(struct cpu_evtchn_s),
  				    GFP_KERNEL);
 -	BUG_ON(cpu_evtchn_mask_p == NULL);
-+	irq_info = alloc_bootmem(nr_irqs * sizeof(*irq_info));
++	irq_info = kcalloc(nr_irqs, sizeof(*irq_info), GFP_KERNEL);
 +
-+	evtchn_to_irq = alloc_bootmem(NR_EVENT_CHANNELS * sizeof(*evtchn_to_irq));
++	evtchn_to_irq = kcalloc(NR_EVENT_CHANNELS, sizeof(*evtchn_to_irq),
++				GFP_KERNEL);
 +	for(i = 0; i < NR_EVENT_CHANNELS; i++)
 +		evtchn_to_irq[i] = -1;
  
  	init_evtchn_cpu_bindings();
  
-@@ -939,4 +1232,6 @@ void __init xen_init_IRQ(void)
+@@ -939,4 +1234,6 @@ void __init xen_init_IRQ(void)
  		mask_evtchn(i);
  
  	irq_ctx_init(smp_processor_id());
@@ -10847,7 +10869,7 @@ index 6c5e318..0e5fc4c 100644
  #endif
 diff --git a/drivers/xen/xenbus/xenbus_probe_backend.c b/drivers/xen/xenbus/xenbus_probe_backend.c
 new file mode 100644
-index 0000000..70029e5
+index 0000000..a3cc535
 --- /dev/null
 +++ b/drivers/xen/xenbus/xenbus_probe_backend.c
 @@ -0,0 +1,298 @@
@@ -10907,7 +10929,7 @@ index 0000000..70029e5
 +#include "xenbus_probe.h"
 +
 +/* backend/<type>/<fe-uuid>/<id> => <type>-<fe-domid>-<id> */
-+static int backend_bus_id(char bus_id[BUS_ID_SIZE], const char *nodename)
++static int backend_bus_id(char bus_id[XEN_BUS_ID_SIZE], const char *nodename)
 +{
 +	int domid, err;
 +	const char *devid, *type, *frontend;
@@ -10937,8 +10959,8 @@ index 0000000..70029e5
 +	if (err)
 +		return err;
 +
-+	if (snprintf(bus_id, BUS_ID_SIZE,
-+		     "%.*s-%i-%s", typelen, type, domid, devid) >= BUS_ID_SIZE)
++	if (snprintf(bus_id, XEN_BUS_ID_SIZE,
++		     "%.*s-%i-%s", typelen, type, domid, devid) >= XEN_BUS_ID_SIZE)
 +		return -ENOSPC;
 +	return 0;
 +}
@@ -11151,7 +11173,7 @@ index 0000000..70029e5
 +subsys_initcall(xenbus_probe_backend_init);
 diff --git a/drivers/xen/xenbus/xenbus_probe_frontend.c b/drivers/xen/xenbus/xenbus_probe_frontend.c
 new file mode 100644
-index 0000000..689761d
+index 0000000..47be902
 --- /dev/null
 +++ b/drivers/xen/xenbus/xenbus_probe_frontend.c
 @@ -0,0 +1,292 @@
@@ -11182,15 +11204,15 @@ index 0000000..689761d
 +#include "xenbus_probe.h"
 +
 +/* device/<type>/<id> => <type>-<id> */
-+static int frontend_bus_id(char bus_id[BUS_ID_SIZE], const char *nodename)
++static int frontend_bus_id(char bus_id[XEN_BUS_ID_SIZE], const char *nodename)
 +{
 +	nodename = strchr(nodename, '/');
-+	if (!nodename || strlen(nodename + 1) >= BUS_ID_SIZE) {
++	if (!nodename || strlen(nodename + 1) >= XEN_BUS_ID_SIZE) {
 +		printk(KERN_WARNING "XENBUS: bad frontend %s\n", nodename);
 +		return -EINVAL;
 +	}
 +
-+	strlcpy(bus_id, nodename + 1, BUS_ID_SIZE);
++	strlcpy(bus_id, nodename + 1, XEN_BUS_ID_SIZE);
 +	if (!strchr(bus_id, '/')) {
 +		printk(KERN_WARNING "XENBUS: bus_id %s no slash\n", bus_id);
 +		return -EINVAL;
@@ -12098,6 +12120,18 @@ index b4326b5..bad75d1 100644
  
  #ifndef HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ
  static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
+diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
+index 2721f07..99264c3 100644
+--- a/include/linux/interrupt.h
++++ b/include/linux/interrupt.h
+@@ -58,6 +58,7 @@
+ #define IRQF_PERCPU		0x00000400
+ #define IRQF_NOBALANCING	0x00000800
+ #define IRQF_IRQPOLL		0x00001000
++#define IRQF_NO_SUSPEND		0x00002000
+ 
+ /*
+  * Bits used by threaded handlers:
 diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
 index e2e5ce5..ca67e2b 100644
 --- a/include/linux/page-flags.h
@@ -13050,6 +13084,20 @@ index b9763ba..542ca7c 100644
  	struct device_driver driver;
  	int (*read_otherend_details)(struct xenbus_device *dev);
  	int (*is_ready)(struct xenbus_device *dev);
+diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
+index 50da676..3dc4e74 100644
+--- a/kernel/irq/manage.c
++++ b/kernel/irq/manage.c
+@@ -192,7 +192,8 @@ static inline int setup_affinity(unsigned int irq, struct irq_desc *desc)
+ void __disable_irq(struct irq_desc *desc, unsigned int irq, bool suspend)
+ {
+ 	if (suspend) {
+-		if (!desc->action || (desc->action->flags & IRQF_TIMER))
++		if (!desc->action ||
++		    (desc->action->flags & (IRQF_TIMER | IRQF_NO_SUSPEND)))
+ 			return;
+ 		desc->status |= IRQ_SUSPENDED;
+ 	}
 diff --git a/lib/swiotlb.c b/lib/swiotlb.c
 index bffe6d7..cec5f62 100644
 --- a/lib/swiotlb.c




More information about the fedora-extras-commits mailing list