Mercurial > flash_v2
annotate packages/hal/arm/sa11x0/var/current/include/hal_mm.h @ 145:2e9a636d9de9 ecos-sw-2000-12-21
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
| author | jlarmour |
|---|---|
| date | Fri, 22 Dec 2000 02:37:28 +0000 |
| parents | |
| children | 8f2f7615e727 |
| rev | line source |
|---|---|
|
145
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
1 #ifndef CYGONCE_HAL_MM_H |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
2 #define CYGONCE_HAL_MM_H |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
3 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
4 //============================================================================= |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
5 // |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
6 // hal_mm.h |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
7 // |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
8 // ARM SA11x0 MM common definitions |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
9 // |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
10 //============================================================================= |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
11 //####COPYRIGHTBEGIN#### |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
12 // |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
13 // ------------------------------------------- |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
14 // The contents of this file are subject to the Red Hat eCos Public License |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
15 // Version 1.1 (the "License"); you may not use this file except in |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
16 // compliance with the License. You may obtain a copy of the License at |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
17 // http://www.redhat.com/ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
18 // |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
19 // Software distributed under the License is distributed on an "AS IS" |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
20 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
21 // License for the specific language governing rights and limitations under |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
22 // the License. |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
23 // |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
24 // The Original Code is eCos - Embedded Configurable Operating System, |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
25 // released September 30, 1998. |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
26 // |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
27 // The Initial Developer of the Original Code is Red Hat. |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
28 // Portions created by Red Hat are |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
29 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc. |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
30 // All Rights Reserved. |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
31 // ------------------------------------------- |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
32 // |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
33 //####COPYRIGHTEND#### |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
34 //============================================================================= |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
35 //#####DESCRIPTIONBEGIN#### |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
36 // |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
37 // Author(s): gthomas |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
38 // Contributors: hmt |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
39 // Travis C. Furrer <furrer@mit.edu> |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
40 // Date: 2000-12-13 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
41 // Purpose: ARM SA11x0 MM common definitions |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
42 // Description: The macros defined here provide common definitions for |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
43 // memory management initialization. |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
44 // Usage: |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
45 // #include <cyg/hal/hal_mm.h> |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
46 // ... |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
47 // |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
48 // |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
49 //####DESCRIPTIONEND#### |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
50 // |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
51 //============================================================================= |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
52 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
53 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
54 // ------------------------------------------------------------------------- |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
55 // MMU initialization: |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
56 // |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
57 // These structures are laid down in memory to define the translation |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
58 // table. |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
59 // |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
60 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
61 /* |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
62 * SA-1100 Translation Table Base Bit Masks |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
63 */ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
64 #define ARM_TRANSLATION_TABLE_MASK 0xFFFFC000 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
65 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
66 /* |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
67 * SA-1100 Domain Access Control Bit Masks |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
68 */ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
69 #define ARM_ACCESS_TYPE_NO_ACCESS(domain_num) (0x0 << (domain_num)*2) |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
70 #define ARM_ACCESS_TYPE_CLIENT(domain_num) (0x1 << (domain_num)*2) |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
71 #define ARM_ACCESS_TYPE_MANAGER(domain_num) (0x3 << (domain_num)*2) |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
72 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
73 struct ARM_MMU_FIRST_LEVEL_FAULT { |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
74 int id : 2; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
75 int sbz : 30; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
76 }; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
77 #define ARM_MMU_FIRST_LEVEL_FAULT_ID 0x0 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
78 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
79 struct ARM_MMU_FIRST_LEVEL_PAGE_TABLE { |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
80 int id : 2; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
81 int imp : 2; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
82 int domain : 4; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
83 int sbz : 1; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
84 int base_address : 23; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
85 }; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
86 #define ARM_MMU_FIRST_LEVEL_PAGE_TABLE_ID 0x1 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
87 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
88 struct ARM_MMU_FIRST_LEVEL_SECTION { |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
89 int id : 2; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
90 int b : 1; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
91 int c : 1; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
92 int imp : 1; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
93 int domain : 4; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
94 int sbz0 : 1; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
95 int ap : 2; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
96 int sbz1 : 8; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
97 int base_address : 12; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
98 }; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
99 #define ARM_MMU_FIRST_LEVEL_SECTION_ID 0x2 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
100 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
101 struct ARM_MMU_FIRST_LEVEL_RESERVED { |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
102 int id : 2; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
103 int sbz : 30; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
104 }; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
105 #define ARM_MMU_FIRST_LEVEL_RESERVED_ID 0x3 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
106 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
107 #define ARM_MMU_FIRST_LEVEL_DESCRIPTOR_ADDRESS(ttb_base, table_index) \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
108 (unsigned long *)((unsigned long)(ttb_base) + ((table_index) << 2)) |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
109 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
110 #define ARM_FIRST_LEVEL_PAGE_TABLE_SIZE 0x4000 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
111 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
112 #define ARM_MMU_SECTION(ttb_base, actual_base, virtual_base, \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
113 cacheable, bufferable, perm) \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
114 CYG_MACRO_START \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
115 register union ARM_MMU_FIRST_LEVEL_DESCRIPTOR desc; \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
116 \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
117 desc.word = 0; \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
118 desc.section.id = ARM_MMU_FIRST_LEVEL_SECTION_ID; \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
119 desc.section.domain = 0; \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
120 desc.section.c = (cacheable); \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
121 desc.section.b = (bufferable); \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
122 desc.section.ap = (perm); \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
123 desc.section.base_address = (actual_base); \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
124 *ARM_MMU_FIRST_LEVEL_DESCRIPTOR_ADDRESS(ttb_base, (virtual_base)) \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
125 = desc.word; \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
126 CYG_MACRO_END |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
127 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
128 #define X_ARM_MMU_SECTION(abase,vbase,size,cache,buff,access) \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
129 { int i; int j = abase; int k = vbase; \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
130 for (i = size; i > 0 ; i--,j++,k++) \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
131 { \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
132 ARM_MMU_SECTION(ttb_base, j, k, cache, buff, access); \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
133 } \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
134 } |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
135 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
136 union ARM_MMU_FIRST_LEVEL_DESCRIPTOR { |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
137 unsigned long word; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
138 struct ARM_MMU_FIRST_LEVEL_FAULT fault; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
139 struct ARM_MMU_FIRST_LEVEL_PAGE_TABLE page_table; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
140 struct ARM_MMU_FIRST_LEVEL_SECTION section; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
141 struct ARM_MMU_FIRST_LEVEL_RESERVED reserved; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
142 }; |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
143 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
144 #define ARM_UNCACHEABLE 0 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
145 #define ARM_CACHEABLE 1 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
146 #define ARM_UNBUFFERABLE 0 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
147 #define ARM_BUFFERABLE 1 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
148 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
149 #define ARM_ACCESS_PERM_NONE_NONE 0 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
150 #define ARM_ACCESS_PERM_RO_NONE 0 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
151 #define ARM_ACCESS_PERM_RO_RO 0 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
152 #define ARM_ACCESS_PERM_RW_NONE 1 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
153 #define ARM_ACCESS_PERM_RW_RO 2 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
154 #define ARM_ACCESS_PERM_RW_RW 3 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
155 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
156 /* |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
157 * Initialization for the Domain Access Control Register |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
158 */ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
159 #define ARM_ACCESS_DACR_DEFAULT ( \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
160 ARM_ACCESS_TYPE_MANAGER(0) | \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
161 ARM_ACCESS_TYPE_NO_ACCESS(1) | \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
162 ARM_ACCESS_TYPE_NO_ACCESS(2) | \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
163 ARM_ACCESS_TYPE_NO_ACCESS(3) | \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
164 ARM_ACCESS_TYPE_NO_ACCESS(4) | \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
165 ARM_ACCESS_TYPE_NO_ACCESS(5) | \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
166 ARM_ACCESS_TYPE_NO_ACCESS(6) | \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
167 ARM_ACCESS_TYPE_NO_ACCESS(7) | \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
168 ARM_ACCESS_TYPE_NO_ACCESS(8) | \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
169 ARM_ACCESS_TYPE_NO_ACCESS(9) | \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
170 ARM_ACCESS_TYPE_NO_ACCESS(10) | \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
171 ARM_ACCESS_TYPE_NO_ACCESS(11) | \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
172 ARM_ACCESS_TYPE_NO_ACCESS(12) | \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
173 ARM_ACCESS_TYPE_NO_ACCESS(13) | \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
174 ARM_ACCESS_TYPE_NO_ACCESS(14) | \ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
175 ARM_ACCESS_TYPE_NO_ACCESS(15) ) |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
176 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
177 // ------------------------------------------------------------------------ |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
178 #endif // ifndef CYGONCE_HAL_MM_H |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
179 // End of hal_mm.h |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
180 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
181 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
182 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
183 |
|
2e9a636d9de9
Merge from eCos master repository on 2000-12-21-14:18:40-GMT
jlarmour
parents:
diff
changeset
|
184 |
