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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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