Commit 47c2ac8c authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt Committed by Paul Mackerras

[PATCH] powerpc: 64k pages vs. U3 iommu

That DART (U3 iommu) code didn't properly scale the number of entries
when using !4k pages. That caused crashes when booting G5s with more
than 2Gb of RAM. This fixes it.
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 87655ff2
...@@ -226,7 +226,7 @@ static void iommu_table_u3_setup(void) ...@@ -226,7 +226,7 @@ static void iommu_table_u3_setup(void)
iommu_table_u3.it_busno = 0; iommu_table_u3.it_busno = 0;
iommu_table_u3.it_offset = 0; iommu_table_u3.it_offset = 0;
/* it_size is in number of entries */ /* it_size is in number of entries */
iommu_table_u3.it_size = dart_tablesize / sizeof(u32); iommu_table_u3.it_size = (dart_tablesize / sizeof(u32)) >> DART_PAGE_FACTOR;
/* Initialize the common IOMMU code */ /* Initialize the common IOMMU code */
iommu_table_u3.it_base = (unsigned long)dart_vbase; iommu_table_u3.it_base = (unsigned long)dart_vbase;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment