[kernel] r18009 - dists/squeeze/linux-2.6/debian/patches/features/all/xen
Ian Campbell
ijc-guest at alioth.debian.org
Thu Aug 25 10:25:05 UTC 2011
Author: ijc-guest
Date: Thu Aug 25 10:25:03 2011
New Revision: 18009
Log:
xen: regenerate pvops.patch against 2.6.32.43.
No substantive change to the final patched source, blk_put_queue export moves
to the right place and a panic message in swiotlb.c changes.
Modified:
dists/squeeze/linux-2.6/debian/patches/features/all/xen/pvops.patch
Modified: dists/squeeze/linux-2.6/debian/patches/features/all/xen/pvops.patch
==============================================================================
--- dists/squeeze/linux-2.6/debian/patches/features/all/xen/pvops.patch Thu Aug 25 05:07:55 2011 (r18008)
+++ dists/squeeze/linux-2.6/debian/patches/features/all/xen/pvops.patch Thu Aug 25 10:25:03 2011 (r18009)
@@ -6,24 +6,20 @@
To regenerate:
-$ git checkout -b debian-base v2.6.32.24
+$ git checkout -b debian-base v2.6.32.43
$ git pull git://xenbits.xensource.com/people/ianc/linux-2.6.git debian/squeeze/pvhvm
$ git checkout -b debian-pvops e73f4955a821f850f5b88c32d12a81714523a95f
$ git revert -m 1 bcf16b6b4f34fb40a7aaf637947c7d3bce0be671
-$ git merge v2.6.32.24
+$ git merge v2.6.32.43
$ git diff debian-base..debian-pvops
-[bwh: Fix context in arch/x86/xen/mmu.c following 2.6.32.36]
-[bwh: Drop redundant changes to block/blk-core.c following 2.6.32.42]
-[maks: Fix context in arch/x86/xen/mmu.c following 2.6.32.43]
-
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
-index 9ec8558..3e30e60 100644
+index 9238f05..eb729e4 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
-@@ -2768,10 +2768,8 @@ and is between 256 and 4096 characters. It is defined in the file
+@@ -2773,10 +2773,8 @@ and is between 256 and 4096 characters. It is defined in the file
aux-ide-disks -- unplug non-primary-master IDE devices
nics -- unplug network devices
all -- unplug all emulated devices (NICs and IDE disks)
@@ -146,10 +142,10 @@
paging_init();
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
-index 04f638d..df2c9e9 100644
+index 00d3b65..dc5eede 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
-@@ -550,7 +550,7 @@ void __init setup_arch(char **cmdline_p)
+@@ -559,7 +559,7 @@ void __init setup_arch(char **cmdline_p)
#ifdef CONFIG_SWIOTLB
if (ppc_swiotlb_enable)
@@ -159,10 +155,10 @@
paging_init();
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index cb5a57c..a3b7475 100644
+index 73ae02a..0266f87 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -1885,6 +1885,10 @@ config PCI_OLPC
+@@ -1896,6 +1896,10 @@ config PCI_OLPC
def_bool y
depends on PCI && OLPC && (PCI_GOOLPC || PCI_GOANY)
@@ -360,7 +356,7 @@
static inline int arch_prepare_hugepage(struct page *page)
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
-index 7373932..49ee1a9 100644
+index 6a63b86..21eebd7 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -7,6 +7,10 @@
@@ -374,7 +370,7 @@
#define build_mmio_read(name, size, type, reg, barrier) \
static inline type name(const volatile void __iomem *addr) \
{ type ret; asm volatile("mov" size " %1,%0":reg (ret) \
-@@ -199,6 +203,17 @@ extern void __iomem *early_memremap(resource_size_t phys_addr,
+@@ -200,6 +204,17 @@ extern void __iomem *early_memremap(resource_size_t phys_addr,
unsigned long size);
extern void early_iounmap(void __iomem *addr, unsigned long size);
@@ -699,7 +695,7 @@
/* fs/proc/kcore.c */
diff --git a/arch/x86/include/asm/processor.h b/arch/x86/include/asm/processor.h
-index 13b1885..0aac25a 100644
+index da35a70..a285ddb 100644
--- a/arch/x86/include/asm/processor.h
+++ b/arch/x86/include/asm/processor.h
@@ -551,6 +551,9 @@ static inline void native_set_iopl_mask(unsigned mask)
@@ -1243,10 +1239,10 @@
+
+#endif /* _ASM_X86_SWIOTLB_XEN_H */
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
-index d8e5d0c..6e80af9 100644
+index d1911ab..cfe00bc 100644
--- a/arch/x86/kernel/Makefile
+++ b/arch/x86/kernel/Makefile
-@@ -111,6 +111,7 @@ obj-$(CONFIG_X86_MRST) += mrst.o
+@@ -113,6 +113,7 @@ obj-$(CONFIG_X86_MRST) += mrst.o
microcode-y := microcode_core.o
microcode-$(CONFIG_MICROCODE_INTEL) += microcode_intel.o
microcode-$(CONFIG_MICROCODE_AMD) += microcode_amd.o
@@ -1255,7 +1251,7 @@
obj-$(CONFIG_X86_CHECK_BIOS_CORRUPTION) += check.o
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
-index 23c2da8..a2a5125 100644
+index 8ba08c7..90be997 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -42,6 +42,10 @@
@@ -1269,7 +1265,7 @@
static int __initdata acpi_force = 0;
u32 acpi_rsdt_forced;
int acpi_disabled;
-@@ -149,6 +153,10 @@ static void __cpuinit acpi_register_lapic(int id, u8 enabled)
+@@ -150,6 +154,10 @@ static void __cpuinit acpi_register_lapic(int id, u8 enabled)
{
unsigned int ver = 0;
@@ -1280,7 +1276,7 @@
if (!enabled) {
++disabled_cpus;
return;
-@@ -461,9 +469,13 @@ int acpi_gsi_to_irq(u32 gsi, unsigned int *irq)
+@@ -467,9 +475,13 @@ int acpi_gsi_to_irq(u32 gsi, unsigned int *irq)
*/
int acpi_register_gsi(struct device *dev, u32 gsi, int trigger, int polarity)
{
@@ -1295,7 +1291,7 @@
#ifdef CONFIG_PCI
/*
* Make sure all (legacy) PCI IRQs are set as level-triggered.
-@@ -740,6 +752,10 @@ static int __init acpi_parse_fadt(struct acpi_table_header *table)
+@@ -746,6 +758,10 @@ static int __init acpi_parse_fadt(struct acpi_table_header *table)
static void __init acpi_register_lapic_address(unsigned long address)
{
@@ -1306,7 +1302,7 @@
mp_lapic_addr = address;
set_fixmap_nocache(FIX_APIC_BASE, address);
-@@ -860,6 +876,9 @@ int __init acpi_probe_gsi(void)
+@@ -866,6 +882,9 @@ int __init acpi_probe_gsi(void)
max_gsi = gsi;
}
@@ -1372,7 +1368,7 @@
#include "sleep.h"
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c
-index f0fa7a1..0c1876b 100644
+index 7cd33f7..b8497c6 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,
@@ -1420,7 +1416,7 @@
}
/*
-@@ -1691,7 +1691,7 @@ static void __unmap_single(struct amd_iommu *iommu,
+@@ -1692,7 +1692,7 @@ static void __unmap_single(struct amd_iommu *iommu,
dma_addr_t i, start;
unsigned int pages;
@@ -1429,7 +1425,7 @@
(dma_addr + size > dma_dom->aperture_size))
return;
-@@ -1733,7 +1733,7 @@ static dma_addr_t map_page(struct device *dev, struct page *page,
+@@ -1735,7 +1735,7 @@ static dma_addr_t map_page(struct device *dev, struct page *page,
INC_STATS_COUNTER(cnt_map_single);
if (!check_device(dev))
@@ -1438,7 +1434,7 @@
dma_mask = *dev->dma_mask;
-@@ -1744,12 +1744,12 @@ static dma_addr_t map_page(struct device *dev, struct page *page,
+@@ -1746,12 +1746,12 @@ static dma_addr_t map_page(struct device *dev, struct page *page,
return (dma_addr_t)paddr;
if (!dma_ops_domain(domain))
@@ -1453,7 +1449,7 @@
goto out;
iommu_completion_wait(iommu);
-@@ -1958,7 +1958,7 @@ static void *alloc_coherent(struct device *dev, size_t size,
+@@ -1960,7 +1960,7 @@ static void *alloc_coherent(struct device *dev, size_t size,
*dma_addr = __map_single(dev, iommu, domain->priv, paddr,
size, DMA_BIDIRECTIONAL, true, dma_mask);
@@ -1462,7 +1458,7 @@
spin_unlock_irqrestore(&domain->lock, flags);
goto out_free;
}
-@@ -2120,8 +2120,7 @@ int __init amd_iommu_init_dma_ops(void)
+@@ -2122,8 +2122,7 @@ int __init amd_iommu_init_dma_ops(void)
prealloc_protection_domains();
iommu_detected = 1;
@@ -1473,7 +1469,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 3925adf..642793e 100644
+index fc5d470..838e1d7 100644
--- a/arch/x86/kernel/amd_iommu_init.c
+++ b/arch/x86/kernel/amd_iommu_init.c
@@ -29,6 +29,7 @@
@@ -1484,7 +1480,7 @@
/*
* definitions for the ACPI scanning code
-@@ -1183,19 +1184,10 @@ static struct sys_device device_amd_iommu = {
+@@ -1206,19 +1207,10 @@ static struct sys_device device_amd_iommu = {
* functions. Finally it prints some information about AMD IOMMUs and
* the driver state and enables the hardware.
*/
@@ -1505,7 +1501,7 @@
/*
* First parse ACPI tables to find the largest Bus/Dev/Func
* we need to handle. Upon this information the shared data
-@@ -1310,6 +1302,7 @@ int __init amd_iommu_init(void)
+@@ -1333,6 +1325,7 @@ int __init amd_iommu_init(void)
else
printk(KERN_INFO "AMD-Vi: Lazy IO/TLB flushing enabled\n");
@@ -1513,7 +1509,7 @@
out:
return ret;
-@@ -1338,11 +1331,6 @@ free:
+@@ -1361,11 +1354,6 @@ free:
goto out;
}
@@ -1525,7 +1521,7 @@
/****************************************************************************
*
* Early detect code. This code runs at IOMMU detection time in the DMA
-@@ -1357,16 +1345,13 @@ static int __init early_amd_iommu_detect(struct acpi_table_header *table)
+@@ -1380,16 +1368,13 @@ static int __init early_amd_iommu_detect(struct acpi_table_header *table)
void __init amd_iommu_detect(void)
{
@@ -1574,7 +1570,7 @@
} else if ((!no_iommu && max_pfn > MAX_DMA32_PFN) ||
force_iommu ||
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
-index 0da6495..42d1fe2 100644
+index 8928d97..4848d5d 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -63,7 +63,12 @@
@@ -1590,7 +1586,7 @@
#define __apicdebuginit(type) static type __init
#define for_each_irq_pin(entry, head) \
-@@ -390,14 +395,18 @@ static inline void io_apic_eoi(unsigned int apic, unsigned int vector)
+@@ -395,14 +400,18 @@ static inline void io_apic_eoi(unsigned int apic, unsigned int vector)
static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg)
{
@@ -1611,7 +1607,7 @@
writel(reg, &io_apic->index);
writel(value, &io_apic->data);
}
-@@ -410,7 +419,9 @@ static inline void io_apic_write(unsigned int apic, unsigned int reg, unsigned i
+@@ -415,7 +424,9 @@ static inline void io_apic_write(unsigned int apic, unsigned int reg, unsigned i
*/
static inline void io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value)
{
@@ -1622,7 +1618,7 @@
if (sis_apic_bug)
writel(reg, &io_apic->index);
-@@ -3487,6 +3498,9 @@ int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
+@@ -3494,6 +3505,9 @@ int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
if (type == PCI_CAP_ID_MSI && nvec > 1)
return 1;
@@ -1632,7 +1628,7 @@
node = dev_to_node(&dev->dev);
irq_want = nr_irqs_gsi;
sub_handle = 0;
-@@ -3536,7 +3550,29 @@ error:
+@@ -3543,7 +3557,29 @@ error:
void arch_teardown_msi_irq(unsigned int irq)
{
@@ -1663,7 +1659,7 @@
}
#if defined (CONFIG_DMAR) || defined (CONFIG_INTR_REMAP)
-@@ -3852,7 +3888,14 @@ void __init probe_nr_irqs_gsi(void)
+@@ -3860,7 +3896,14 @@ void __init probe_nr_irqs_gsi(void)
printk(KERN_DEBUG "nr_irqs_gsi: %d\n", nr_irqs_gsi);
}
@@ -1678,7 +1674,7 @@
int __init arch_probe_nr_irqs(void)
{
int nr;
-@@ -3870,6 +3913,8 @@ int __init arch_probe_nr_irqs(void)
+@@ -3878,6 +3921,8 @@ int __init arch_probe_nr_irqs(void)
if (nr < nr_irqs)
nr_irqs = nr;
@@ -1798,7 +1794,7 @@
+ .num_var_ranges = generic_num_var_ranges,
};
diff --git a/arch/x86/kernel/cpu/mtrr/main.c b/arch/x86/kernel/cpu/mtrr/main.c
-index 84e83de..c8cb9ed 100644
+index fd60f09..aa21994 100644
--- a/arch/x86/kernel/cpu/mtrr/main.c
+++ b/arch/x86/kernel/cpu/mtrr/main.c
@@ -110,21 +110,6 @@ static int have_wrcomb(void)
@@ -1823,7 +1819,7 @@
static void __init init_table(void)
{
int i, max;
-@@ -711,8 +696,11 @@ void __init mtrr_bp_init(void)
+@@ -721,8 +706,11 @@ void __init mtrr_bp_init(void)
}
}
@@ -2014,7 +2010,7 @@
#endif /* CONFIG_XEN */
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
-index a626344..1bf0911 100644
+index cba6d5a..f7aee5e 100644
--- a/arch/x86/kernel/entry_64.S
+++ b/arch/x86/kernel/entry_64.S
@@ -1365,7 +1365,7 @@ ENTRY(xen_failsafe_callback)
@@ -2027,7 +2023,7 @@
#endif /* CONFIG_XEN */
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
-index 19528ef..40e47cd 100644
+index 69cab24..e791bb2 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -98,7 +98,7 @@ static int __init hpet_setup(char *str)
@@ -2856,7 +2852,7 @@
}
}
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c
-index 5fd5b07..11d8667 100644
+index fc6c84d..d079f92 100644
--- a/arch/x86/kernel/process.c
+++ b/arch/x86/kernel/process.c
@@ -73,16 +73,12 @@ void exit_thread(void)
@@ -2904,7 +2900,7 @@
int sys_fork(struct pt_regs *regs)
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
-index 269c2a3..8e1aac8 100644
+index 200fcde..ff8cc40 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -23,7 +23,7 @@
@@ -2926,7 +2922,7 @@
}
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index c852868..594e324 100644
+index 917e531..ee5da53 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -70,6 +70,7 @@
@@ -2953,7 +2949,7 @@
#include <asm/percpu.h>
#include <asm/topology.h>
-@@ -967,6 +968,9 @@ void __init setup_arch(char **cmdline_p)
+@@ -968,6 +969,9 @@ void __init setup_arch(char **cmdline_p)
initmem_init(0, max_pfn);
@@ -3044,7 +3040,7 @@
#ifdef CONFIG_STRICT_DEVMEM
diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
-index c9ba9de..103e324 100644
+index e0e6fad..ef2236a 100644
--- a/arch/x86/mm/pgtable.c
+++ b/arch/x86/mm/pgtable.c
@@ -4,6 +4,9 @@
@@ -3074,7 +3070,7 @@
pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)
{
return (pte_t *)__get_free_page(PGALLOC_GFP);
-@@ -288,6 +301,12 @@ out:
+@@ -287,6 +300,12 @@ out:
void pgd_free(struct mm_struct *mm, pgd_t *pgd)
{
@@ -3531,7 +3527,7 @@
+#endif
+}
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
-index 37d30e4..56b85d2 100644
+index d96d81f..ce8db7a 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -29,6 +29,7 @@
@@ -3751,7 +3747,7 @@
.io_delay = xen_io_delay,
/* Xen takes care of %gs when switching to usermode for us */
-@@ -1024,15 +1068,40 @@ static void xen_machine_halt(void)
+@@ -1020,15 +1064,40 @@ static void xen_machine_halt(void)
xen_reboot(SHUTDOWN_poweroff);
}
@@ -3793,7 +3789,7 @@
.shutdown = xen_machine_halt,
.crash_shutdown = xen_crash_shutdown,
.emergency_restart = xen_emergency_restart,
-@@ -1065,6 +1134,8 @@ asmlinkage void __init xen_start_kernel(void)
+@@ -1061,6 +1130,8 @@ asmlinkage void __init xen_start_kernel(void)
xen_domain_type = XEN_PV_DOMAIN;
@@ -3802,7 +3798,7 @@
/* Install Xen paravirt ops */
pv_info = xen_info;
pv_init_ops = xen_init_ops;
-@@ -1113,6 +1184,10 @@ asmlinkage void __init xen_start_kernel(void)
+@@ -1109,6 +1180,10 @@ asmlinkage void __init xen_start_kernel(void)
*/
xen_setup_stackprotector();
@@ -3813,7 +3809,7 @@
xen_init_irq_ops();
xen_init_cpuid_mask();
-@@ -1141,6 +1216,8 @@ asmlinkage void __init xen_start_kernel(void)
+@@ -1137,6 +1212,8 @@ asmlinkage void __init xen_start_kernel(void)
pgd = (pgd_t *)xen_start_info->pt_base;
@@ -3822,7 +3818,7 @@
/* Don't do the full vcpu_info placement stuff until we have a
possible map and a non-dummy shared_info. */
per_cpu(xen_vcpu, 0) = &HYPERVISOR_shared_info->vcpu_info[0];
-@@ -1150,6 +1227,7 @@ asmlinkage void __init xen_start_kernel(void)
+@@ -1146,6 +1223,7 @@ asmlinkage void __init xen_start_kernel(void)
xen_raw_console_write("mapping kernel into physical memory\n");
pgd = xen_setup_kernel_pagetable(pgd, xen_start_info->nr_pages);
@@ -3830,7 +3826,7 @@
init_mm.pgd = pgd;
-@@ -1159,6 +1237,14 @@ asmlinkage void __init xen_start_kernel(void)
+@@ -1155,6 +1233,14 @@ asmlinkage void __init xen_start_kernel(void)
if (xen_feature(XENFEAT_supervisor_mode_kernel))
pv_info.kernel_rpl = 0;
@@ -3845,7 +3841,7 @@
/* set the limit of our address space */
xen_reserve_top();
-@@ -1181,6 +1267,16 @@ asmlinkage void __init xen_start_kernel(void)
+@@ -1177,6 +1263,16 @@ asmlinkage void __init xen_start_kernel(void)
add_preferred_console("xenboot", 0, NULL);
add_preferred_console("tty", 0, NULL);
add_preferred_console("hvc", 0, NULL);
@@ -3862,7 +3858,7 @@
}
xen_raw_console_write("about to get started...\n");
-@@ -1252,7 +1348,6 @@ void xen_hvm_init_shared_info(void)
+@@ -1248,7 +1344,6 @@ void xen_hvm_init_shared_info(void)
if (!shared_info_page)
shared_info_page = (struct shared_info *) alloc_bootmem_pages(PAGE_SIZE);
@@ -3870,7 +3866,7 @@
xatp.domid = DOMID_SELF;
xatp.idx = 0;
xatp.space = XENMAPSPACE_shared_info;
-@@ -1275,7 +1370,6 @@ void xen_hvm_init_shared_info(void)
+@@ -1271,7 +1366,6 @@ void xen_hvm_init_shared_info(void)
}
}
@@ -3878,13 +3874,13 @@
static int __cpuinit xen_hvm_cpu_notify(struct notifier_block *self,
unsigned long action, void *hcpu)
{
-@@ -1317,4 +1411,3 @@ void __init xen_hvm_guest_init(void)
+@@ -1313,4 +1407,3 @@ void __init xen_hvm_guest_init(void)
xen_hvm_init_time_ops();
xen_hvm_init_mmu_ops();
}
-#endif
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
-index 971a405..74e284f 100644
+index f23edcf..b33ace5 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -42,6 +42,7 @@
@@ -4223,7 +4219,7 @@
static void set_page_prot(void *addr, pgprot_t prot)
{
unsigned long pfn = __pa(addr) >> PAGE_SHIFT;
-@@ -1676,6 +1849,20 @@ static __init void xen_map_identity_early(pmd_t *pmd, unsigned long max_pfn)
+@@ -1678,6 +1851,20 @@ static __init void xen_map_identity_early(pmd_t *pmd, unsigned long max_pfn)
set_page_prot(pmd, PAGE_KERNEL_RO);
}
@@ -4244,7 +4240,7 @@
#ifdef CONFIG_X86_64
static void convert_pfn_mfn(void *v)
{
-@@ -1767,6 +1954,7 @@ __init pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd,
+@@ -1775,6 +1962,7 @@ __init pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd,
unsigned long max_pfn)
{
pmd_t *kernel_pmd;
@@ -4252,7 +4248,7 @@
max_pfn_mapped = PFN_DOWN(__pa(xen_start_info->pt_base) +
xen_start_info->nr_pt_frames * PAGE_SIZE +
-@@ -1778,6 +1966,20 @@ __init pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd,
+@@ -1786,6 +1974,20 @@ __init pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd,
xen_map_identity_early(level2_kernel_pgt, max_pfn);
memcpy(swapper_pg_dir, pgd, sizeof(pgd_t) * PTRS_PER_PGD);
@@ -4273,7 +4269,7 @@
set_pgd(&swapper_pg_dir[KERNEL_PGD_BOUNDARY],
__pgd(__pa(level2_kernel_pgt) | _PAGE_PRESENT));
-@@ -1800,6 +2002,8 @@ __init pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd,
+@@ -1808,6 +2010,8 @@ __init pgd_t *xen_setup_kernel_pagetable(pgd_t *pgd,
}
#endif /* CONFIG_X86_64 */
@@ -4282,7 +4278,7 @@
static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
{
pte_t pte;
-@@ -1829,9 +2033,26 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
+@@ -1837,9 +2041,26 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
pte = pfn_pte(phys, prot);
break;
@@ -4310,7 +4306,7 @@
}
__native_set_fixmap(idx, pte);
-@@ -1846,6 +2067,29 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
+@@ -1854,6 +2075,29 @@ static void xen_set_fixmap(unsigned idx, phys_addr_t phys, pgprot_t prot)
#endif
}
@@ -4340,7 +4336,7 @@
static __init void xen_post_allocator_init(void)
{
pv_mmu_ops.set_pte = xen_set_pte;
-@@ -1961,9 +2205,271 @@ void __init xen_init_mmu_ops(void)
+@@ -1969,9 +2213,271 @@ void __init xen_init_mmu_ops(void)
x86_init.paging.pagetable_setup_start = xen_pagetable_setup_start;
x86_init.paging.pagetable_setup_done = xen_pagetable_setup_done;
pv_mmu_ops = xen_mmu_ops;
@@ -4613,7 +4609,7 @@
static void xen_hvm_exit_mmap(struct mm_struct *mm)
{
struct xen_hvm_pagetable_dying a;
-@@ -1995,7 +2501,6 @@ void __init xen_hvm_init_mmu_ops(void)
+@@ -2003,7 +2509,6 @@ void __init xen_hvm_init_mmu_ops(void)
if (is_pagetable_dying_supported())
pv_mmu_ops.exit_mmap = xen_hvm_exit_mmap;
}
@@ -5237,7 +5233,7 @@
fiddle_vdso();
}
diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c
-index 360f8d8..8a390dc 100644
+index ca5f56e..3e06a9e 100644
--- a/arch/x86/xen/smp.c
+++ b/arch/x86/xen/smp.c
@@ -178,11 +178,18 @@ static void __init xen_smp_prepare_boot_cpu(void)
@@ -5278,7 +5274,7 @@
BUG();
}
diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
-index 3b1ba77..68feb40 100644
+index 11da865..bd4d114 100644
--- a/arch/x86/xen/time.c
+++ b/arch/x86/xen/time.c
@@ -201,8 +201,22 @@ static unsigned long xen_get_wallclock(void)
@@ -5314,7 +5310,7 @@
}
void xen_teardown_timer(int cpu)
-@@ -434,10 +450,6 @@ void xen_timer_resume(void)
+@@ -436,10 +452,6 @@ void xen_timer_resume(void)
}
}
@@ -5325,7 +5321,7 @@
static __init void xen_time_init(void)
{
int cpu = smp_processor_id();
-@@ -463,6 +475,10 @@ static __init void xen_time_init(void)
+@@ -465,6 +477,10 @@ static __init void xen_time_init(void)
xen_setup_cpu_clockevents();
}
@@ -5336,7 +5332,7 @@
__init void xen_init_time_ops(void)
{
pv_time_ops = xen_time_ops;
-@@ -476,7 +492,6 @@ __init void xen_init_time_ops(void)
+@@ -478,7 +494,6 @@ __init void xen_init_time_ops(void)
x86_platform.set_wallclock = xen_set_wallclock;
}
@@ -5344,7 +5340,7 @@
static void xen_hvm_setup_cpu_clockevents(void)
{
int cpu = smp_processor_id();
-@@ -488,9 +503,8 @@ static void xen_hvm_setup_cpu_clockevents(void)
+@@ -490,9 +505,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
@@ -5356,7 +5352,7 @@
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)
+@@ -508,4 +522,3 @@ __init void xen_hvm_init_time_ops(void)
x86_platform.get_wallclock = xen_get_wallclock;
x86_platform.set_wallclock = xen_set_wallclock;
}
@@ -5479,6 +5475,26 @@
+extern int xen_panic_handler_init(void);
+
#endif /* XEN_OPS_H */
+diff --git a/block/blk-core.c b/block/blk-core.c
+index cffd737..3efdae0 100644
+--- a/block/blk-core.c
++++ b/block/blk-core.c
+@@ -310,7 +310,6 @@ void blk_unplug_timeout(unsigned long data)
+ trace_block_unplug_timer(q);
+ kblockd_schedule_work(q, &q->unplug_work);
+ }
+-EXPORT_SYMBOL(blk_put_queue);
+
+ void blk_unplug(struct request_queue *q)
+ {
+@@ -440,6 +439,7 @@ void blk_put_queue(struct request_queue *q)
+ {
+ kobject_put(&q->kobj);
+ }
++EXPORT_SYMBOL_GPL(blk_put_queue);
+
+ void blk_cleanup_queue(struct request_queue *q)
+ {
diff --git a/drivers/acpi/Makefile b/drivers/acpi/Makefile
index 7702118..1be123c 100644
--- a/drivers/acpi/Makefile
@@ -5570,7 +5586,7 @@
status = acpi_hw_write_pm1_control(pm1a_control, pm1b_control);
if (ACPI_FAILURE(status)) {
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c
-index ec742a4..492a899 100644
+index 7102474..2428cc0 100644
--- a/drivers/acpi/processor_core.c
+++ b/drivers/acpi/processor_core.c
@@ -58,6 +58,7 @@
@@ -5593,7 +5609,7 @@
static acpi_status acpi_processor_hotadd_init(acpi_handle handle, int *p_cpu);
static int acpi_processor_handle_eject(struct acpi_processor *pr);
-@@ -253,7 +252,7 @@ static int acpi_processor_errata_piix4(struct pci_dev *dev)
+@@ -247,7 +246,7 @@ static int acpi_processor_errata_piix4(struct pci_dev *dev)
return 0;
}
@@ -5602,7 +5618,7 @@
{
int result = 0;
struct pci_dev *dev = NULL;
-@@ -284,7 +283,7 @@ static int acpi_processor_errata(struct acpi_processor *pr)
+@@ -278,7 +277,7 @@ static int acpi_processor_errata(struct acpi_processor *pr)
* _PDC is required for a BIOS-OS handshake for most of the newer
* ACPI processor features.
*/
@@ -5611,7 +5627,7 @@
{
struct acpi_object_list *pdc_in = pr->pdc;
acpi_status status = AE_OK;
-@@ -353,7 +352,7 @@ static int acpi_processor_info_open_fs(struct inode *inode, struct file *file)
+@@ -347,7 +346,7 @@ static int acpi_processor_info_open_fs(struct inode *inode, struct file *file)
PDE(inode)->data);
}
@@ -5620,7 +5636,7 @@
{
struct proc_dir_entry *entry = NULL;
-@@ -392,7 +391,7 @@ static int acpi_processor_add_fs(struct acpi_device *device)
+@@ -386,7 +385,7 @@ static int acpi_processor_add_fs(struct acpi_device *device)
return -EIO;
return 0;
}
@@ -5629,7 +5645,7 @@
{
if (acpi_device_dir(device)) {
-@@ -408,15 +407,6 @@ static int acpi_processor_remove_fs(struct acpi_device *device)
+@@ -402,15 +401,6 @@ static int acpi_processor_remove_fs(struct acpi_device *device)
return 0;
}
@@ -5645,7 +5661,7 @@
#endif
/* Use the acpiid in MADT to map cpus in case of SMP */
-@@ -711,7 +701,7 @@ static int acpi_processor_get_info(struct acpi_device *device)
+@@ -705,7 +695,7 @@ static int acpi_processor_get_info(struct acpi_device *device)
static DEFINE_PER_CPU(void *, processor_device_array);
@@ -5654,7 +5670,7 @@
{
struct acpi_processor *pr = acpi_driver_data(device);
int saved;
-@@ -879,7 +869,7 @@ err_free_cpumask:
+@@ -873,7 +863,7 @@ err_free_cpumask:
return result;
}
@@ -5663,7 +5679,7 @@
{
struct acpi_processor *pr = NULL;
-@@ -1154,7 +1144,11 @@ static int __init acpi_processor_init(void)
+@@ -1148,7 +1138,11 @@ static int __init acpi_processor_init(void)
if (result < 0)
goto out_proc;
@@ -5676,7 +5692,7 @@
if (result < 0)
goto out_cpuidle;
-@@ -1190,7 +1184,10 @@ static void __exit acpi_processor_exit(void)
+@@ -1184,7 +1178,10 @@ static void __exit acpi_processor_exit(void)
acpi_processor_uninstall_hotplug_notify();
@@ -7426,7 +7442,7 @@
}
EXPORT_SYMBOL(ttm_fbdev_mmap);
diff --git a/drivers/input/xen-kbdfront.c b/drivers/input/xen-kbdfront.c
-index 8ec2201..80a072e 100644
+index ac42691..546838f 100644
--- a/drivers/input/xen-kbdfront.c
+++ b/drivers/input/xen-kbdfront.c
@@ -21,7 +21,10 @@
@@ -7440,7 +7456,7 @@
#include <xen/events.h>
#include <xen/page.h>
#include <xen/interface/io/fbif.h>
-@@ -272,6 +275,8 @@ static void xenkbd_backend_changed(struct xenbus_device *dev,
+@@ -286,6 +289,8 @@ static void xenkbd_backend_changed(struct xenbus_device *dev,
switch (backend_state) {
case XenbusStateInitialising:
case XenbusStateInitialised:
@@ -7449,7 +7465,7 @@
case XenbusStateUnknown:
case XenbusStateClosed:
break;
-@@ -335,7 +340,7 @@ static struct xenbus_driver xenkbd_driver = {
+@@ -348,7 +353,7 @@ static struct xenbus_driver xenkbd_driver = {
static int __init xenkbd_init(void)
{
@@ -7796,7 +7812,7 @@
EXPORT_SYMBOL_GPL(pci_bus_add_device);
EXPORT_SYMBOL(pci_bus_add_devices);
diff --git a/drivers/pci/dmar.c b/drivers/pci/dmar.c
-index 5753036..8e6e6d1 100644
+index 91d0390..24f6f28 100644
--- a/drivers/pci/dmar.c
+++ b/drivers/pci/dmar.c
@@ -673,10 +673,13 @@ void __init detect_intel_iommu(void)
@@ -7816,10 +7832,10 @@
early_acpi_os_unmap_memory(dmar_tbl, dmar_tbl_size);
dmar_tbl = NULL;
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c
-index ba83495..1506d4a 100644
+index 5b680df..02bf548 100644
--- a/drivers/pci/intel-iommu.c
+++ b/drivers/pci/intel-iommu.c
-@@ -3278,7 +3278,7 @@ int __init intel_iommu_init(void)
+@@ -3284,7 +3284,7 @@ int __init intel_iommu_init(void)
* Check the need for DMA-remapping initialization now.
* Above initialization will also be used by Interrupt-remapping.
*/
@@ -7828,7 +7844,7 @@
return -ENODEV;
iommu_init_mempool();
-@@ -3299,7 +3299,9 @@ int __init intel_iommu_init(void)
+@@ -3305,7 +3305,9 @@ int __init intel_iommu_init(void)
"PCI-DMA: Intel(R) Virtualization Technology for Directed I/O\n");
init_timer(&unmap_timer);
@@ -12957,7 +12973,7 @@
+MODULE_LICENSE("Dual BSD/GPL");
diff --git a/drivers/xen/blktap/device.c b/drivers/xen/blktap/device.c
new file mode 100644
-index 0000000..6091780
+index 0000000..6091780b
--- /dev/null
+++ b/drivers/xen/blktap/device.c
@@ -0,0 +1,943 @@
@@ -15031,7 +15047,7 @@
#include <asm/xen/hypervisor.h>
diff --git a/drivers/xen/events.c b/drivers/xen/events.c
-index 373905b..937bad7 100644
+index e287ddd..904b402 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -16,7 +16,7 @@
@@ -15605,7 +15621,7 @@
}
EXPORT_SYMBOL_GPL(xen_hvm_evtchn_do_upcall);
-@@ -886,7 +1292,7 @@ void xen_clear_irq_pending(int irq)
+@@ -879,7 +1285,7 @@ void xen_clear_irq_pending(int irq)
if (VALID_EVTCHN(evtchn))
clear_evtchn(evtchn);
}
@@ -15614,7 +15630,7 @@
void xen_set_irq_pending(int irq)
{
int evtchn = evtchn_from_irq(irq);
-@@ -906,9 +1312,9 @@ bool xen_test_irq_pending(int irq)
+@@ -899,9 +1305,9 @@ bool xen_test_irq_pending(int irq)
return ret;
}
@@ -15626,7 +15642,7 @@
{
evtchn_port_t evtchn = evtchn_from_irq(irq);
-@@ -916,13 +1322,33 @@ void xen_poll_irq(int irq)
+@@ -909,13 +1315,33 @@ void xen_poll_irq(int irq)
struct sched_poll poll;
poll.nr_ports = 1;
@@ -15661,7 +15677,7 @@
void xen_irq_resume(void)
{
-@@ -969,6 +1395,26 @@ static struct irq_chip xen_percpu_chip __read_mostly = {
+@@ -962,6 +1388,26 @@ static struct irq_chip xen_percpu_chip __read_mostly = {
.ack = ack_dynirq,
};
@@ -15688,7 +15704,7 @@
int xen_set_callback_via(uint64_t via)
{
struct xen_hvm_param a;
-@@ -979,7 +1425,21 @@ int xen_set_callback_via(uint64_t via)
+@@ -972,7 +1418,21 @@ int xen_set_callback_via(uint64_t via)
}
EXPORT_SYMBOL_GPL(xen_set_callback_via);
@@ -15711,7 +15727,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. */
-@@ -998,14 +1458,9 @@ void xen_callback_vector(void)
+@@ -991,14 +1451,9 @@ void xen_callback_vector(void)
}
printk(KERN_INFO "Xen HVM callback vector for event delivery is "
"enabled\n");
@@ -15727,7 +15743,7 @@
void __init xen_init_IRQ(void)
{
-@@ -1013,7 +1468,12 @@ void __init xen_init_IRQ(void)
+@@ -1006,7 +1461,12 @@ void __init xen_init_IRQ(void)
cpu_evtchn_mask_p = kcalloc(nr_cpu_ids, sizeof(struct cpu_evtchn_s),
GFP_KERNEL);
@@ -15741,7 +15757,7 @@
init_evtchn_cpu_bindings();
-@@ -1026,5 +1486,6 @@ void __init xen_init_IRQ(void)
+@@ -1019,5 +1479,6 @@ void __init xen_init_IRQ(void)
native_init_IRQ();
} else {
irq_ctx_init(smp_processor_id());
@@ -22361,7 +22377,7 @@
+
diff --git a/drivers/xen/pciback/passthrough.c b/drivers/xen/pciback/passthrough.c
new file mode 100644
-index 0000000..5386beb
+index 0000000..5386bebf
--- /dev/null
+++ b/drivers/xen/pciback/passthrough.c
@@ -0,0 +1,178 @@
@@ -28458,7 +28474,7 @@
/**
diff --git a/include/drm/drmP.h b/include/drm/drmP.h
-index 7ad3faa..cf9ddce 100644
+index 66713c6..29c4ec1 100644
--- a/include/drm/drmP.h
+++ b/include/drm/drmP.h
@@ -1388,7 +1388,7 @@ extern int drm_vma_info(struct seq_file *m, void *data);
@@ -28581,7 +28597,7 @@
+};
#endif /* _LINUX_IF_LINK_H */
diff --git a/include/linux/mm.h b/include/linux/mm.h
-index a8d25e4..1bc4927 100644
+index 11e5be6..4c98621 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -109,6 +109,12 @@ extern unsigned int kobjsize(const void *objp);
@@ -28610,7 +28626,7 @@
/*
* set_policy() op must add a reference to any non-NULL @new mempolicy
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
-index ec12f8c..3f4991c 100644
+index c27a182..04a08e75f 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -28,6 +28,7 @@
@@ -32681,6 +32697,15 @@
if (!map) {
swiotlb_full(dev, size, dir, 1);
map = io_tlb_overflow_buffer;
+@@ -632,7 +123,7 @@ dma_addr_t swiotlb_map_page(struct device *dev, struct page *page,
+ * Ensure that the address returned is DMA'ble
+ */
+ if (!dma_capable(dev, dev_addr, size))
+- panic("map_single: bounce buffer is not DMA'ble");
++ panic("DMA: swiotlb_map_single: bounce buffer is not DMA'ble");
+
+ return dev_addr;
+ }
@@ -697,7 +188,7 @@ swiotlb_sync_single(struct device *hwdev, dma_addr_t dev_addr,
BUG_ON(dir == DMA_NONE);
@@ -32761,7 +32786,7 @@
{
int aligned;
diff --git a/mm/memory.c b/mm/memory.c
-index 53c1da0..c8741df 100644
+index 6c836d3..faa40d9 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -553,6 +553,13 @@ struct page *vm_normal_page(struct vm_area_struct *vma, unsigned long addr,
@@ -32865,7 +32890,7 @@
}
EXPORT_SYMBOL_GPL(apply_to_page_range);
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
-index 902e5fc..101715c 100644
+index 3ecab7e..8ab5033 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -594,6 +594,13 @@ static void __free_pages_ok(struct page *page, unsigned int order)
@@ -32897,7 +32922,7 @@
page->mapping = NULL;
if (free_pages_check(page))
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
-index c228731..cb459fb 100644
+index 680dcbb..4f701c2 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -31,6 +31,7 @@
@@ -32918,7 +32943,7 @@
log = fls(num_online_cpus());
return log * (32UL * 1024 * 1024 / PAGE_SIZE);
-@@ -561,8 +565,9 @@ static void __purge_vmap_area_lazy(unsigned long *start, unsigned long *end,
+@@ -570,8 +574,9 @@ static void __purge_vmap_area_lazy(unsigned long *start, unsigned long *end,
}
rcu_read_unlock();
More information about the Kernel-svn-changes
mailing list