[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