Yinghai Lu
7ab073b6e0
x86: max_low_pfn_mapped fix, #1
...
fix crash on Ingo's big box:
calling pci_iommu_init+0x0/0x17
PCI-DMA: Disabling AGP.
PCI-DMA: aperture base @ d0000000 size 65536 KB
PCI-DMA: using GART IOMMU.
PCI-DMA: Reserving 64MB of IOMMU area in the AGP aperture
BUG: unable to handle kernel paging request at ffff88000003be88
IP: [<ffffffff8026d377>] __alloc_pages_internal+0xc3/0x3f2
PGD 202063 PUD 206063 PMD 22fc00163 PTE 3b162
Oops: 0000 [1] SMP
and e820 is:
BIOS-e820: 0000000000000000 - 000000000009ac00 (usable)
BIOS-e820: 000000000009ac00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000ca000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000007ff70000 (usable)
BIOS-e820: 000000007ff70000 - 000000007ff86000 (ACPI data)
BIOS-e820: 000000007ff86000 - 0000000080000000 (ACPI NVS)
BIOS-e820: 0000000080000000 - 00000000cfe00000 (usable)
BIOS-e820: 00000000cfe00000 - 00000000d0000000 (reserved)
BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 0000000830000000 (usable)
system has 32 GB RAM installed.
max_low_pfn_mapped is 0xcfe00, and GART aperture is not mapped.
So try to use init_memory_mapping to map that area, because the iommu
thinks that area is ram ...
Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-07-13 08:19:15 +02:00
..
2008-07-04 10:40:09 -07:00
2008-06-30 19:08:53 +01:00
2008-05-27 09:37:42 +02:00
2008-06-25 12:41:51 +08:00
2008-05-16 17:22:20 -04:00
2008-06-06 11:29:10 -07:00
2008-05-16 17:22:20 -04:00
2008-06-30 15:06:48 -07:00
2008-05-16 17:22:20 -04:00
2008-06-06 11:29:09 -07:00
2008-06-12 18:05:40 -07:00
2008-07-08 19:33:46 +01:00
2008-07-04 10:40:07 -07:00
2008-06-13 10:49:55 -04:00
2008-07-08 21:06:35 -07:00
2008-05-31 17:08:28 +10:00
2008-06-11 10:35:44 -07:00
2008-06-09 16:49:43 +09:00
2008-06-03 15:21:21 -07:00
2008-05-21 21:50:01 -07:00
2008-07-07 10:53:10 -07:00
2008-05-16 17:22:20 -04:00
2008-07-13 08:19:15 +02:00
2008-05-16 17:22:20 -04:00
2008-01-19 21:29:39 -08:00
2008-04-29 08:06:11 -07:00