|
@@ -6,6 +6,7 @@
|
|
|
* Contains common routines for sun3/sun3x DVMA management.
|
|
|
*/
|
|
|
|
|
|
+#include <linux/bootmem.h>
|
|
|
#include <linux/init.h>
|
|
|
#include <linux/module.h>
|
|
|
#include <linux/kernel.h>
|
|
@@ -31,7 +32,7 @@ static inline void dvma_unmap_iommu(unsigned long a, int b)
|
|
|
extern void sun3_dvma_init(void);
|
|
|
#endif
|
|
|
|
|
|
-static unsigned long iommu_use[IOMMU_TOTAL_ENTRIES];
|
|
|
+static unsigned long *iommu_use;
|
|
|
|
|
|
#define dvma_index(baddr) ((baddr - DVMA_START) >> DVMA_PAGE_SHIFT)
|
|
|
|
|
@@ -266,7 +267,7 @@ void __init dvma_init(void)
|
|
|
|
|
|
list_add(&(hole->list), &hole_list);
|
|
|
|
|
|
- memset(iommu_use, 0, sizeof(iommu_use));
|
|
|
+ iommu_use = alloc_bootmem(IOMMU_TOTAL_ENTRIES * sizeof(unsigned long));
|
|
|
|
|
|
dvma_unmap_iommu(DVMA_START, DVMA_SIZE);
|
|
|
|