[kernel] r15564 - dists/sid/linux-2.6/debian/patches/features/all/xen

Bastian Blank waldi at alioth.debian.org
Tue Apr 27 08:11:14 UTC 2010


Author: waldi
Date: Tue Apr 27 08:11:10 2010
New Revision: 15564

Log:
debian/patches/features/all/xen/pvops.patch: Update to b1cb4e89c3d2.

Modified:
   dists/sid/linux-2.6/debian/patches/features/all/xen/pvops.patch

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	Tue Apr 27 06:48:29 2010	(r15563)
+++ dists/sid/linux-2.6/debian/patches/features/all/xen/pvops.patch	Tue Apr 27 08:11:10 2010	(r15564)
@@ -1,4 +1,4 @@
-Patch based on commit 27f948a3bf365a5bc3d56119637a177d41147815 of
+Patch based on commit b1cb4e89c3d22864b169acb4574e950f87df8d5a of
 git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git.
 
 diff --git a/Documentation/x86/x86_64/boot-options.txt b/Documentation/x86/x86_64/boot-options.txt
@@ -1119,18 +1119,28 @@
  }
  
 diff --git a/arch/x86/kernel/acpi/processor.c b/arch/x86/kernel/acpi/processor.c
-index d85d1b2..8c9526d 100644
+index d85d1b2..8aabedd 100644
 --- a/arch/x86/kernel/acpi/processor.c
 +++ b/arch/x86/kernel/acpi/processor.c
-@@ -11,6 +11,7 @@
- 
+@@ -12,6 +12,8 @@
  #include <acpi/processor.h>
  #include <asm/acpi.h>
-+#include <asm/xen/hypervisor.h>
  
++#include <xen/xen.h>
++
  static void init_intel_pdc(struct acpi_processor *pr, struct cpuinfo_x86 *c)
  {
-@@ -88,6 +89,19 @@ void arch_acpi_processor_init_pdc(struct acpi_processor *pr)
+ 	struct acpi_object_list *obj_list;
+@@ -59,7 +61,7 @@ static void init_intel_pdc(struct acpi_processor *pr, struct cpuinfo_x86 *c)
+ 	/*
+ 	 * If mwait/monitor is unsupported, C2/C3_FFH will be disabled
+ 	 */
+-	if (!cpu_has(c, X86_FEATURE_MWAIT))
++	if (!cpu_has(c, X86_FEATURE_MWAIT) && !xen_initial_domain())
+ 		buf[2] &= ~(ACPI_PDC_C_C2C3_FFH);
+ 
+ 	obj->type = ACPI_TYPE_BUFFER;
+@@ -88,6 +90,19 @@ void arch_acpi_processor_init_pdc(struct acpi_processor *pr)
  
  EXPORT_SYMBOL(arch_acpi_processor_init_pdc);
  
@@ -1164,7 +1174,7 @@
  #include "sleep.h"
  
 diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c
-index 23fc9fe..40497d3 100644
+index c0ebc63..c8b5021 100644
 --- a/arch/x86/kernel/amd_iommu.c
 +++ b/arch/x86/kernel/amd_iommu.c
 @@ -928,7 +928,7 @@ static unsigned long dma_ops_alloc_addresses(struct device *dev,
@@ -1265,7 +1275,7 @@
  	gart_iommu_aperture_disabled = 1;
  	gart_iommu_aperture = 0;
 diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c
-index 362ab88..2ff5b5d 100644
+index 3925adf..642793e 100644
 --- a/arch/x86/kernel/amd_iommu_init.c
 +++ b/arch/x86/kernel/amd_iommu_init.c
 @@ -29,6 +29,7 @@
@@ -1305,7 +1315,7 @@
  out:
  	return ret;
  
-@@ -1336,11 +1329,6 @@ free:
+@@ -1338,11 +1331,6 @@ free:
  	goto out;
  }
  
@@ -1317,7 +1327,7 @@
  /****************************************************************************
   *
   * Early detect code. This code runs at IOMMU detection time in the DMA
-@@ -1355,16 +1343,13 @@ static int __init early_amd_iommu_detect(struct acpi_table_header *table)
+@@ -1357,16 +1345,13 @@ static int __init early_amd_iommu_detect(struct acpi_table_header *table)
  
  void __init amd_iommu_detect(void)
  {
@@ -1337,7 +1347,7 @@
  }
  
 diff --git a/arch/x86/kernel/aperture_64.c b/arch/x86/kernel/aperture_64.c
-index 128111d..e0dfb68 100644
+index 082089e..8d34362 100644
 --- a/arch/x86/kernel/aperture_64.c
 +++ b/arch/x86/kernel/aperture_64.c
 @@ -28,6 +28,7 @@
@@ -1348,15 +1358,15 @@
  
  int gart_iommu_aperture;
  int gart_iommu_aperture_disabled __initdata;
-@@ -400,6 +401,7 @@ void __init gart_iommu_hole_init(void)
+@@ -401,6 +402,7 @@ void __init gart_iommu_hole_init(void)
  
  			iommu_detected = 1;
  			gart_iommu_aperture = 1;
 +			x86_init.iommu.iommu_init = gart_iommu_init;
  
- 			aper_order = (read_pci_config(bus, slot, 3, AMD64_GARTAPERTURECTL) >> 1) & 7;
- 			aper_size = (32 * 1024 * 1024) << aper_order;
-@@ -456,7 +458,7 @@ out:
+ 			ctl = read_pci_config(bus, slot, 3,
+ 					      AMD64_GARTAPERTURECTL);
+@@ -469,7 +471,7 @@ out:
  
  	if (aper_alloc) {
  		/* Got the aperture from the AGP bridge */
@@ -1779,31 +1789,8 @@
 +		pat_init();
 +	}
 +}
-diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c
-index 5e409dc..a4849c1 100644
---- a/arch/x86/kernel/crash.c
-+++ b/arch/x86/kernel/crash.c
-@@ -27,8 +27,7 @@
- #include <asm/cpu.h>
- #include <asm/reboot.h>
- #include <asm/virtext.h>
--#include <asm/iommu.h>
--
-+#include <asm/x86_init.h>
- 
- #if defined(CONFIG_SMP) && defined(CONFIG_X86_LOCAL_APIC)
- 
-@@ -106,7 +105,7 @@ void native_machine_crash_shutdown(struct pt_regs *regs)
- #endif
- 
- #ifdef CONFIG_X86_64
--	pci_iommu_shutdown();
-+	x86_platform.iommu_shutdown();
- #endif
- 
- 	crash_save_cpu(regs, safe_smp_processor_id());
 diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
-index 5877873..1aab4be 100644
+index 74f5a3f..b69c4e8 100644
 --- a/arch/x86/kernel/hpet.c
 +++ b/arch/x86/kernel/hpet.c
 @@ -98,7 +98,7 @@ static int __init hpet_setup(char *str)
@@ -2418,7 +2405,7 @@
  rootfs_initcall(pci_iommu_init);
  
 diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c
-index fcc0b5c..61c4d1e 100644
+index c245b6a..d4a50e9 100644
 --- a/arch/x86/kernel/pci-gart_64.c
 +++ b/arch/x86/kernel/pci-gart_64.c
 @@ -39,6 +39,7 @@
@@ -2486,7 +2473,7 @@
  static int no_agp;
  
  static __init unsigned long check_iommu_size(unsigned long aper, u64 aper_size)
-@@ -686,14 +694,15 @@ static struct dma_map_ops gart_dma_ops = {
+@@ -689,14 +697,15 @@ static struct dma_map_ops gart_dma_ops = {
  	.unmap_page			= gart_unmap_page,
  	.alloc_coherent			= gart_alloc_coherent,
  	.free_coherent			= gart_free_coherent,
@@ -2504,7 +2491,7 @@
  		return;
  
  	for (i = 0; i < num_k8_northbridges; i++) {
-@@ -708,7 +717,7 @@ void gart_iommu_shutdown(void)
+@@ -711,7 +720,7 @@ void gart_iommu_shutdown(void)
  	}
  }
  
@@ -2513,7 +2500,7 @@
  {
  	struct agp_kern_info info;
  	unsigned long iommu_start;
-@@ -718,7 +727,7 @@ void __init gart_iommu_init(void)
+@@ -721,7 +730,7 @@ void __init gart_iommu_init(void)
  	long i;
  
  	if (cache_k8_northbridges() < 0 || num_k8_northbridges == 0)
@@ -2522,7 +2509,7 @@
  
  #ifndef CONFIG_AGP_AMD64
  	no_agp = 1;
-@@ -730,13 +739,6 @@ void __init gart_iommu_init(void)
+@@ -733,13 +742,6 @@ void __init gart_iommu_init(void)
  		(agp_copy_info(agp_bridge, &info) < 0);
  #endif
  
@@ -2536,7 +2523,7 @@
  	if (no_iommu ||
  	    (!force_iommu && max_pfn <= MAX_DMA32_PFN) ||
  	    !gart_iommu_aperture ||
-@@ -746,7 +748,7 @@ void __init gart_iommu_init(void)
+@@ -749,7 +751,7 @@ void __init gart_iommu_init(void)
  			       "but GART IOMMU not available.\n");
  			printk(KERN_WARNING "falling back to iommu=soft.\n");
  		}
@@ -2545,7 +2532,7 @@
  	}
  
  	/* need to map that range */
-@@ -791,7 +793,7 @@ void __init gart_iommu_init(void)
+@@ -794,7 +796,7 @@ void __init gart_iommu_init(void)
  
  	iommu_start = aper_size - iommu_size;
  	iommu_bus_base = info.aper_base + iommu_start;
@@ -2554,7 +2541,7 @@
  	iommu_gatt_base = agp_gatt_table + (iommu_start>>PAGE_SHIFT);
  
  	/*
-@@ -838,6 +840,10 @@ void __init gart_iommu_init(void)
+@@ -841,6 +843,10 @@ void __init gart_iommu_init(void)
  
  	flush_gart();
  	dma_ops = &gart_dma_ops;
@@ -3022,7 +3009,7 @@
  #endif
 diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
 new file mode 100644
-index 0000000..2bac970
+index 0000000..9606bfa
 --- /dev/null
 +++ b/arch/x86/pci/xen.c
 @@ -0,0 +1,154 @@
@@ -3069,7 +3056,7 @@
 +	if (xen_initial_domain())
 +		return xen_setup_msi_irqs(dev, nvec, type);
 +
-+	v = kzalloc(sizeof(int) * min(1, nvec), GFP_KERNEL);
++	v = kzalloc(sizeof(int) * max(1, nvec), GFP_KERNEL);
 +	if (!v)
 +		return -ENOMEM;
 +
@@ -5190,7 +5177,7 @@
  	cpuidle_unregister_driver(&acpi_idle_driver);
  
 diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
-index c8f0797..bdee59e 100644
+index c8f0797..e62a40f 100644
 --- a/drivers/acpi/processor_idle.c
 +++ b/drivers/acpi/processor_idle.c
 @@ -58,6 +58,7 @@
@@ -5201,7 +5188,17 @@
  #include <asm/processor.h>
  
  #define PREFIX "ACPI: "
-@@ -477,6 +478,9 @@ static int acpi_processor_get_power_info_cst(struct acpi_processor *pr)
+@@ -439,7 +440,8 @@ static int acpi_processor_get_power_info_cst(struct acpi_processor *pr)
+ 				cx.entry_method = ACPI_CSTATE_HALT;
+ 				snprintf(cx.desc, ACPI_CX_DESC_LEN, "ACPI HLT");
+ 			} else {
+-				continue;
++				if (!xen_initial_domain())
++					continue;
+ 			}
+ 			if (cx.type == ACPI_STATE_C1 &&
+ 					(idle_halt || idle_nomwait)) {
+@@ -477,6 +479,9 @@ static int acpi_processor_get_power_info_cst(struct acpi_processor *pr)
  
  		cx.power = obj->integer.value;
  
@@ -5211,7 +5208,7 @@
  		current_count++;
  		memcpy(&(pr->power.states[current_count]), &cx, sizeof(cx));
  
-@@ -653,7 +657,7 @@ static int acpi_processor_power_verify(struct acpi_processor *pr)
+@@ -653,7 +658,7 @@ static int acpi_processor_power_verify(struct acpi_processor *pr)
  	return (working);
  }
  
@@ -5220,7 +5217,7 @@
  {
  	unsigned int i;
  	int result;
-@@ -1223,9 +1227,14 @@ int __cpuinit acpi_processor_power_init(struct acpi_processor *pr,
+@@ -1223,9 +1228,14 @@ int __cpuinit acpi_processor_power_init(struct acpi_processor *pr,
  	 * platforms that only support C1.
  	 */
  	if (pr->flags.power) {
@@ -6227,10 +6224,10 @@
  };
  
 diff --git a/drivers/char/agp/intel-agp.c b/drivers/char/agp/intel-agp.c
-index 4dcfef0..399a017 100644
+index b8e0219..4d01d0e 100644
 --- a/drivers/char/agp/intel-agp.c
 +++ b/drivers/char/agp/intel-agp.c
-@@ -15,8 +15,12 @@
+@@ -16,8 +16,12 @@
   * an Intel IOMMU. So make the correct use of the PCI DMA API contingent
   * on the Intel IOMMU support (CONFIG_DMAR).
   * Only newer chipsets need to bother with this, of course.
@@ -6244,7 +6241,7 @@
  #define USE_PCI_DMA_API 1
  #endif
  
-@@ -394,15 +398,19 @@ static void intel_i810_agp_enable(struct agp_bridge_data *bridge, u32 mode)
+@@ -395,15 +399,19 @@ static void intel_i810_agp_enable(struct agp_bridge_data *bridge, u32 mode)
  /* Exists to support ARGB cursors */
  static struct page *i8xx_alloc_pages(void)
  {
@@ -6267,7 +6264,7 @@
  		return NULL;
  	}
  	get_page(page);
-@@ -412,12 +420,17 @@ static struct page *i8xx_alloc_pages(void)
+@@ -413,12 +421,17 @@ static struct page *i8xx_alloc_pages(void)
  
  static void i8xx_destroy_pages(struct page *page)
  {
@@ -28628,7 +28625,7 @@
  	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 bde4c66..3687da2 100644
+index 986519e..cae345b 100644
 --- a/kernel/irq/manage.c
 +++ b/kernel/irq/manage.c
 @@ -200,7 +200,8 @@ static inline int setup_affinity(unsigned int irq, struct irq_desc *desc)



More information about the Kernel-svn-changes mailing list