diff options
author | Olof Johansson <olof@lixom.net> | 2005-09-19 23:45:41 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2005-09-21 05:21:06 -0400 |
commit | c707ffcf3a44914f30e5f2fd53089ad5586c9e42 (patch) | |
tree | 5a5d95c903d0440adcdd638b74be78fe51b42612 /arch/ppc64/kernel/u3_iommu.c | |
parent | a21ead3239c6a7a1220b45df0a7b537882afff16 (diff) |
[PATCH] ppc64: Updated Olof iommu updates 1/3
Split out the implementation-specific parts of include/asm-ppc64/iommu.h
to separate include files (tce.h and dart.h respectively).
The generic iommu code really doesn't care about the underlying
implementation, and the TCE and DART stuff is completely different.
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/ppc64/kernel/u3_iommu.c')
-rw-r--r-- | arch/ppc64/kernel/u3_iommu.c | 29 |
1 files changed, 1 insertions, 28 deletions
diff --git a/arch/ppc64/kernel/u3_iommu.c b/arch/ppc64/kernel/u3_iommu.c index 41ea09cb9ac7..115cbdf3b13b 100644 --- a/arch/ppc64/kernel/u3_iommu.c +++ b/arch/ppc64/kernel/u3_iommu.c | |||
@@ -44,39 +44,12 @@ | |||
44 | #include <asm/abs_addr.h> | 44 | #include <asm/abs_addr.h> |
45 | #include <asm/cacheflush.h> | 45 | #include <asm/cacheflush.h> |
46 | #include <asm/lmb.h> | 46 | #include <asm/lmb.h> |
47 | #include <asm/dart.h> | ||
47 | 48 | ||
48 | #include "pci.h" | 49 | #include "pci.h" |
49 | 50 | ||
50 | extern int iommu_force_on; | 51 | extern int iommu_force_on; |
51 | 52 | ||
52 | /* physical base of DART registers */ | ||
53 | #define DART_BASE 0xf8033000UL | ||
54 | |||
55 | /* Offset from base to control register */ | ||
56 | #define DARTCNTL 0 | ||
57 | /* Offset from base to exception register */ | ||
58 | #define DARTEXCP 0x10 | ||
59 | /* Offset from base to TLB tag registers */ | ||
60 | #define DARTTAG 0x1000 | ||
61 | |||
62 | |||
63 | /* Control Register fields */ | ||
64 | |||
65 | /* base address of table (pfn) */ | ||
66 | #define DARTCNTL_BASE_MASK 0xfffff | ||
67 | #define DARTCNTL_BASE_SHIFT 12 | ||
68 | |||
69 | #define DARTCNTL_FLUSHTLB 0x400 | ||
70 | #define DARTCNTL_ENABLE 0x200 | ||
71 | |||
72 | /* size of table in pages */ | ||
73 | #define DARTCNTL_SIZE_MASK 0x1ff | ||
74 | #define DARTCNTL_SIZE_SHIFT 0 | ||
75 | |||
76 | /* DART table fields */ | ||
77 | #define DARTMAP_VALID 0x80000000 | ||
78 | #define DARTMAP_RPNMASK 0x00ffffff | ||
79 | |||
80 | /* Physical base address and size of the DART table */ | 53 | /* Physical base address and size of the DART table */ |
81 | unsigned long dart_tablebase; /* exported to htab_initialize */ | 54 | unsigned long dart_tablebase; /* exported to htab_initialize */ |
82 | static unsigned long dart_tablesize; | 55 | static unsigned long dart_tablesize; |