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-04-25 19:54:07 +02:00
2008-07-08 13:10:38 +02:00
2008-05-25 12:03:27 +02:00
2008-07-09 09:14:02 +02:00
2007-10-11 11:17:01 +02:00
2007-10-11 11:17:24 +02:00
2008-04-19 19:10:28 -07:00
2007-10-19 11:53:33 -07:00
2007-10-13 10:01:23 -07:00
2008-01-30 13:31:31 +01:00
2008-07-08 13:10:38 +02:00
2008-07-03 08:19:18 +02:00
2007-10-11 11:17:01 +02:00
2008-01-30 13:31:19 +01:00
2008-07-11 20:49:28 +02:00
2008-07-12 07:11:10 +02:00
2008-04-17 17:41:36 +02:00
2008-07-08 13:16:14 +02:00
2008-07-01 11:03:31 +02:00
2008-04-26 17:35:47 +02:00
2008-06-02 11:55:52 +02:00
2008-03-26 22:23:40 +01:00
2008-01-30 13:33:10 +01:00
2008-05-25 08:58:32 +02:00
2008-07-08 09:53:57 +02:00
2007-10-11 11:17:24 +02:00
2008-04-19 19:19:54 +02:00
2008-04-27 12:00:28 +03:00
2008-06-12 21:25:51 +02:00
2008-07-03 11:37:20 +02:00
2007-10-11 11:17:01 +02:00
2007-10-11 11:17:24 +02:00
2008-07-10 18:55:31 +02:00
2008-04-19 19:10:28 -07:00
2008-07-08 13:10:38 +02:00
2008-07-08 13:10:38 +02:00
2008-07-13 08:19:15 +02:00
2008-04-19 19:19:57 +02:00
2008-07-08 13:10:38 +02:00
2007-10-11 11:17:01 +02:00
2008-05-25 08:58:30 +02:00
2008-06-12 18:05:42 -07:00
2008-04-30 08:29:37 -07:00
2008-04-30 08:29:37 -07:00
2008-05-13 19:36:12 +02:00
2008-04-17 17:40:55 +02:00
2008-04-17 17:40:55 +02:00
2008-07-09 07:43:25 +02:00
2008-04-17 17:40:56 +02:00
2008-07-08 12:23:31 +02:00
2008-01-30 13:31:52 +01:00
2007-10-11 11:17:24 +02:00
2008-07-10 19:45:01 +02:00
2008-05-25 07:09:47 +02:00
2007-10-11 11:17:01 +02:00
2008-05-25 08:58:24 +02:00