]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - doc/html/ref/hal-architecture-variant-and-platform.html
Initial revision
[karo-tx-redboot.git] / doc / html / ref / hal-architecture-variant-and-platform.html
1 <!-- Copyright (C) 2003 Red Hat, Inc.                                -->
2 <!-- This material may be distributed only subject to the terms      -->
3 <!-- and conditions set forth in the Open Publication License, v1.0  -->
4 <!-- or later (the latest version is presently available at          -->
5 <!-- http://www.opencontent.org/openpub/).                           -->
6 <!-- Distribution of the work or derivative of the work in any       -->
7 <!-- standard (paper) book form is prohibited unless prior           -->
8 <!-- permission is obtained from the copyright holder.               -->
9 <HTML
10 ><HEAD
11 ><TITLE
12 >Architecture, Variant and Platform</TITLE
13 ><meta name="MSSmartTagsPreventParsing" content="TRUE">
14 <META
15 NAME="GENERATOR"
16 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
17 "><LINK
18 REL="HOME"
19 TITLE="eCos Reference Manual"
20 HREF="ecos-ref.html"><LINK
21 REL="UP"
22 TITLE="The eCos Hardware Abstraction Layer (HAL)"
23 HREF="the-ecos-hardware-abstraction-layer.html"><LINK
24 REL="PREVIOUS"
25 TITLE="Introduction"
26 HREF="hal-introduction.html"><LINK
27 REL="NEXT"
28 TITLE="General principles"
29 HREF="hal-general-principles.html"></HEAD
30 ><BODY
31 CLASS="CHAPTER"
32 BGCOLOR="#FFFFFF"
33 TEXT="#000000"
34 LINK="#0000FF"
35 VLINK="#840084"
36 ALINK="#0000FF"
37 ><DIV
38 CLASS="NAVHEADER"
39 ><TABLE
40 SUMMARY="Header navigation table"
41 WIDTH="100%"
42 BORDER="0"
43 CELLPADDING="0"
44 CELLSPACING="0"
45 ><TR
46 ><TH
47 COLSPAN="3"
48 ALIGN="center"
49 >eCos Reference Manual</TH
50 ></TR
51 ><TR
52 ><TD
53 WIDTH="10%"
54 ALIGN="left"
55 VALIGN="bottom"
56 ><A
57 HREF="hal-introduction.html"
58 ACCESSKEY="P"
59 >Prev</A
60 ></TD
61 ><TD
62 WIDTH="80%"
63 ALIGN="center"
64 VALIGN="bottom"
65 ></TD
66 ><TD
67 WIDTH="10%"
68 ALIGN="right"
69 VALIGN="bottom"
70 ><A
71 HREF="hal-general-principles.html"
72 ACCESSKEY="N"
73 >Next</A
74 ></TD
75 ></TR
76 ></TABLE
77 ><HR
78 ALIGN="LEFT"
79 WIDTH="100%"></DIV
80 ><DIV
81 CLASS="CHAPTER"
82 ><H1
83 ><A
84 NAME="HAL-ARCHITECTURE-VARIANT-AND-PLATFORM">Chapter 7. Architecture, Variant and Platform</H1
85 ><P
86 >We have identified three levels at which the HAL must operate.</P
87 ><P
88 ></P
89 ><UL
90 ><LI
91 ><P
92 >    The <I
93 CLASS="FIRSTTERM"
94 >architecture
95     HAL</I
96 > abstracts the basic CPU architecture and includes
97     things like interrupt delivery, context switching, CPU startup
98     etc.
99     </P
100 ></LI
101 ><LI
102 ><P
103 >    The  <I
104 CLASS="FIRSTTERM"
105 >variant HAL</I
106 >
107     encapsulates features of the CPU variant such as caches, MMU and
108     FPU features. It also deals with any on-chip peripherals such as
109     memory and interrupt controllers. For architectural variations,
110     the actual implementation of the variation is often in the
111     architectural HAL, and the variant HAL simply provides the correct
112     configuration definitions.
113     </P
114 ></LI
115 ><LI
116 ><P
117 >    The <I
118 CLASS="FIRSTTERM"
119 >platform HAL</I
120 >
121     abstracts the properties of the current platform and includes
122     things like platform startup, timer devices, I/O register access
123     and interrupt controllers.
124     </P
125 ></LI
126 ></UL
127 ><P
128 >The boundaries between these three HAL levels are necessarily blurred
129 since functionality shifts between levels on a target-by-target basis.
130 For example caches and MMU may be either an architecture feature or a
131 variant feature. Similarly, memory and interrupt controllers may be
132 on-chip and in the variant HAL, or off-chip and in the platform HAL.</P
133 ><P
134 >Generally there is a separate package for each of the architecture,
135 variant and package HALs for a target. For some of the older targets,
136 or where it would be essentially empty, the variant HAL is omitted.</P
137 ></DIV
138 ><DIV
139 CLASS="NAVFOOTER"
140 ><HR
141 ALIGN="LEFT"
142 WIDTH="100%"><TABLE
143 SUMMARY="Footer navigation table"
144 WIDTH="100%"
145 BORDER="0"
146 CELLPADDING="0"
147 CELLSPACING="0"
148 ><TR
149 ><TD
150 WIDTH="33%"
151 ALIGN="left"
152 VALIGN="top"
153 ><A
154 HREF="hal-introduction.html"
155 ACCESSKEY="P"
156 >Prev</A
157 ></TD
158 ><TD
159 WIDTH="34%"
160 ALIGN="center"
161 VALIGN="top"
162 ><A
163 HREF="ecos-ref.html"
164 ACCESSKEY="H"
165 >Home</A
166 ></TD
167 ><TD
168 WIDTH="33%"
169 ALIGN="right"
170 VALIGN="top"
171 ><A
172 HREF="hal-general-principles.html"
173 ACCESSKEY="N"
174 >Next</A
175 ></TD
176 ></TR
177 ><TR
178 ><TD
179 WIDTH="33%"
180 ALIGN="left"
181 VALIGN="top"
182 >Introduction</TD
183 ><TD
184 WIDTH="34%"
185 ALIGN="center"
186 VALIGN="top"
187 ><A
188 HREF="the-ecos-hardware-abstraction-layer.html"
189 ACCESSKEY="U"
190 >Up</A
191 ></TD
192 ><TD
193 WIDTH="33%"
194 ALIGN="right"
195 VALIGN="top"
196 >General principles</TD
197 ></TR
198 ></TABLE
199 ></DIV
200 ></BODY
201 ></HTML
202 >