1 From: Greg Kroah-Hartman <gregkh@suse.de>
2 Subject: Linux 2.6.27.15
4 Upstream 2.6.27.15 release from kernel.org
6 Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
8 Automatically created from "patches.kernel.org/patch-2.6.27.14-15" by xen-port-patches.py
10 --- sle11-2009-03-16.orig/arch/x86/mm/pageattr-xen.c 2009-03-16 16:38:32.000000000 +0100
11 +++ sle11-2009-03-16/arch/x86/mm/pageattr-xen.c 2009-03-16 16:38:34.000000000 +0100
12 @@ -602,6 +602,36 @@ out_unlock:
16 +static int __cpa_process_fault(struct cpa_data *cpa, unsigned long vaddr,
20 + * Ignore all non primary paths.
26 + * Ignore the NULL PTE for kernel identity mapping, as it is expected
28 + * Also set numpages to '1' indicating that we processed cpa req for
29 + * one virtual address page and its pfn. TBD: numpages can be set based
30 + * on the initial value and the level returned by lookup_address().
32 + if (within(vaddr, PAGE_OFFSET,
33 + PAGE_OFFSET + (max_pfn_mapped << PAGE_SHIFT))) {
35 + cpa->pfn = __pa(vaddr) >> PAGE_SHIFT;
38 + WARN(1, KERN_WARNING "CPA: called for zero pte. "
39 + "vaddr = %lx cpa->vaddr = %lx\n", vaddr,
46 static int __change_page_attr(struct cpa_data *cpa, int primary)
48 unsigned long address = cpa->vaddr;
49 @@ -612,17 +642,11 @@ static int __change_page_attr(struct cpa
51 kpte = lookup_address(address, &level);
54 + return __cpa_process_fault(cpa, address, primary);
57 - if (!__pte_val(old_pte)) {
60 - WARN(1, KERN_WARNING "CPA: called for zero pte. "
61 - "vaddr = %lx cpa->vaddr = %lx\n", address,
65 + if (!__pte_val(old_pte))
66 + return __cpa_process_fault(cpa, address, primary);
68 if (level == PG_LEVEL_4K) {
70 @@ -697,12 +721,7 @@ static int cpa_process_alias(struct cpa_
73 if (!(within(cpa->vaddr, PAGE_OFFSET,
74 - PAGE_OFFSET + (max_low_pfn_mapped << PAGE_SHIFT))
76 - || within(cpa->vaddr, PAGE_OFFSET + (1UL<<32),
77 - PAGE_OFFSET + (max_pfn_mapped << PAGE_SHIFT))
80 + PAGE_OFFSET + (max_pfn_mapped << PAGE_SHIFT)))) {
83 alias_cpa.vaddr = (unsigned long) __va(cpa->pfn << PAGE_SHIFT);
84 --- sle11-2009-03-16.orig/arch/x86/pci/irq-xen.c 2009-03-16 16:38:32.000000000 +0100
85 +++ sle11-2009-03-16/arch/x86/pci/irq-xen.c 2009-03-16 16:38:34.000000000 +0100
86 @@ -579,6 +579,7 @@ static __init int intel_router_probe(str
87 case PCI_DEVICE_ID_INTEL_ICH7_1:
88 case PCI_DEVICE_ID_INTEL_ICH7_30:
89 case PCI_DEVICE_ID_INTEL_ICH7_31:
90 + case PCI_DEVICE_ID_INTEL_TGP_LPC:
91 case PCI_DEVICE_ID_INTEL_ESB2_0:
92 case PCI_DEVICE_ID_INTEL_ICH8_0:
93 case PCI_DEVICE_ID_INTEL_ICH8_1: