OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [doc/] [html/] [ref/] [hal-porting-structure.html] - Diff between revs 28 and 174

Only display areas with differences | Details | Blame | View Log

Rev 28 Rev 174
<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
<!-- This material may be distributed only subject to the terms      -->
<!-- This material may be distributed only subject to the terms      -->
<!-- and conditions set forth in the Open Publication License, v1.0  -->
<!-- and conditions set forth in the Open Publication License, v1.0  -->
<!-- or later (the latest version is presently available at          -->
<!-- or later (the latest version is presently available at          -->
<!-- http://www.opencontent.org/openpub/).                           -->
<!-- http://www.opencontent.org/openpub/).                           -->
<!-- Distribution of the work or derivative of the work in any       -->
<!-- Distribution of the work or derivative of the work in any       -->
<!-- standard (paper) book form is prohibited unless prior           -->
<!-- standard (paper) book form is prohibited unless prior           -->
<!-- permission is obtained from the copyright holder.               -->
<!-- permission is obtained from the copyright holder.               -->
<HTML
<HTML
><HEAD
><HEAD
><TITLE
><TITLE
>HAL Structure</TITLE
>HAL Structure</TITLE
><meta name="MSSmartTagsPreventParsing" content="TRUE">
><meta name="MSSmartTagsPreventParsing" content="TRUE">
<META
<META
NAME="GENERATOR"
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
"><LINK
REL="HOME"
REL="HOME"
TITLE="eCos Reference Manual"
TITLE="eCos Reference Manual"
HREF="ecos-ref.html"><LINK
HREF="ecos-ref.html"><LINK
REL="UP"
REL="UP"
TITLE=" Porting Guide"
TITLE=" Porting Guide"
HREF="hal-porting-guide.html"><LINK
HREF="hal-porting-guide.html"><LINK
REL="PREVIOUS"
REL="PREVIOUS"
TITLE=" Porting Guide"
TITLE=" Porting Guide"
HREF="hal-porting-guide.html"><LINK
HREF="hal-porting-guide.html"><LINK
REL="NEXT"
REL="NEXT"
TITLE="Virtual Vectors (eCos/ROM Monitor Calling Interface)"
TITLE="Virtual Vectors (eCos/ROM Monitor Calling Interface)"
HREF="hal-calling-if.html"></HEAD
HREF="hal-calling-if.html"></HEAD
><BODY
><BODY
CLASS="SECTION"
CLASS="SECTION"
BGCOLOR="#FFFFFF"
BGCOLOR="#FFFFFF"
TEXT="#000000"
TEXT="#000000"
LINK="#0000FF"
LINK="#0000FF"
VLINK="#840084"
VLINK="#840084"
ALINK="#0000FF"
ALINK="#0000FF"
><DIV
><DIV
CLASS="NAVHEADER"
CLASS="NAVHEADER"
><TABLE
><TABLE
SUMMARY="Header navigation table"
SUMMARY="Header navigation table"
WIDTH="100%"
WIDTH="100%"
BORDER="0"
BORDER="0"
CELLPADDING="0"
CELLPADDING="0"
CELLSPACING="0"
CELLSPACING="0"
><TR
><TR
><TH
><TH
COLSPAN="3"
COLSPAN="3"
ALIGN="center"
ALIGN="center"
>eCos Reference Manual</TH
>eCos Reference Manual</TH
></TR
></TR
><TR
><TR
><TD
><TD
WIDTH="10%"
WIDTH="10%"
ALIGN="left"
ALIGN="left"
VALIGN="bottom"
VALIGN="bottom"
><A
><A
HREF="hal-porting-guide.html"
HREF="hal-porting-guide.html"
ACCESSKEY="P"
ACCESSKEY="P"
>Prev</A
>Prev</A
></TD
></TD
><TD
><TD
WIDTH="80%"
WIDTH="80%"
ALIGN="center"
ALIGN="center"
VALIGN="bottom"
VALIGN="bottom"
>Chapter 11. Porting Guide</TD
>Chapter 11. Porting Guide</TD
><TD
><TD
WIDTH="10%"
WIDTH="10%"
ALIGN="right"
ALIGN="right"
VALIGN="bottom"
VALIGN="bottom"
><A
><A
HREF="hal-calling-if.html"
HREF="hal-calling-if.html"
ACCESSKEY="N"
ACCESSKEY="N"
>Next</A
>Next</A
></TD
></TD
></TR
></TR
></TABLE
></TABLE
><HR
><HR
ALIGN="LEFT"
ALIGN="LEFT"
WIDTH="100%"></DIV
WIDTH="100%"></DIV
><DIV
><DIV
CLASS="SECTION"
CLASS="SECTION"
><H1
><H1
CLASS="SECTION"
CLASS="SECTION"
><A
><A
NAME="HAL-PORTING-STRUCTURE">HAL Structure</H1
NAME="HAL-PORTING-STRUCTURE">HAL Structure</H1
><P
><P
>In order to write an eCos HAL it's a good idea to have at least a
>In order to write an eCos HAL it's a good idea to have at least a
passing understanding of how the HAL interacts with the rest of the
passing understanding of how the HAL interacts with the rest of the
system.</P
system.</P
><DIV
><DIV
CLASS="SECTION"
CLASS="SECTION"
><H2
><H2
CLASS="SECTION"
CLASS="SECTION"
><A
><A
NAME="AEN8659">HAL Classes</H2
NAME="AEN8659">HAL Classes</H2
><P
><P
>The eCos HAL consists of four HAL sub-classes. This table gives a
>The eCos HAL consists of four HAL sub-classes. This table gives a
brief description of each class and partly reiterates the description
brief description of each class and partly reiterates the description
in <A
in <A
HREF="hal-architecture-variant-and-platform.html"
HREF="hal-architecture-variant-and-platform.html"
>Chapter 7</A
>Chapter 7</A
>. The links
>. The links
refer to the on-line CVS tree (specifically to the sub-HALs used by
refer to the on-line CVS tree (specifically to the sub-HALs used by
the PowerPC MBX target).</P
the PowerPC MBX target).</P
><DIV
><DIV
CLASS="INFORMALTABLE"
CLASS="INFORMALTABLE"
><A
><A
NAME="AEN8663"><P
NAME="AEN8663"><P
></P
></P
><TABLE
><TABLE
BORDER="1"
BORDER="1"
CLASS="CALSTABLE"
CLASS="CALSTABLE"
><THEAD
><THEAD
><TR
><TR
><TH
><TH
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>HAL type</TH
>HAL type</TH
><TH
><TH
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Description</TH
>Description</TH
><TH
><TH
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Functionality Overview</TH
>Functionality Overview</TH
></TR
></TR
></THEAD
></THEAD
><TBODY
><TBODY
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Common HAL <A
>Common HAL <A
HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/hal/common/current?cvsroot=ecos"
HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/hal/common/current?cvsroot=ecos"
TARGET="_top"
TARGET="_top"
>(hal/common)</A
>(hal/common)</A
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Configuration options and functionality shared by all HALs.</TD
>Configuration options and functionality shared by all HALs.</TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Generic debugging functionality, driver API, eCos/ROM monitor
>Generic debugging functionality, driver API, eCos/ROM monitor
      calling interface, and tests.</TD
      calling interface, and tests.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Architecture HAL <A
>Architecture HAL <A
HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/hal/powerpc/arch/current?cvsroot=ecos"
HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/hal/powerpc/arch/current?cvsroot=ecos"
TARGET="_top"
TARGET="_top"
>(hal/&lt;architecture&gt;/arch)</A
>(hal/&lt;architecture&gt;/arch)</A
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Functionality specific to the given architecture. Also default
>Functionality specific to the given architecture. Also default
  implementations of some functionality which can be overridden by
  implementations of some functionality which can be overridden by
  variant or platform HALs.</TD
  variant or platform HALs.</TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Architecture specific debugger functionality (handles single
>Architecture specific debugger functionality (handles single
     stepping, exception-to-signal conversion, etc.),
     stepping, exception-to-signal conversion, etc.),
     exception/interrupt vector definitions and handlers, cache
     exception/interrupt vector definitions and handlers, cache
     definition and control macros, context switching code, assembler
     definition and control macros, context switching code, assembler
     functions for early system initialization, configuration options,
     functions for early system initialization, configuration options,
     and possibly tests. </TD
     and possibly tests. </TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Variant HAL <A
>Variant HAL <A
HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/hal/powerpc/mpc8xx/current?cvsroot=ecos"
HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/hal/powerpc/mpc8xx/current?cvsroot=ecos"
TARGET="_top"
TARGET="_top"
>(hal/&lt;architecture&gt;/&lt;variant&gt;)</A
>(hal/&lt;architecture&gt;/&lt;variant&gt;)</A
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Some CPU architectures consist of a number variants, for example
>Some CPU architectures consist of a number variants, for example
     MIPS CPUs come in both 32 and 64 bit versions, and some variants
     MIPS CPUs come in both 32 and 64 bit versions, and some variants
     have embedded features additional to the CPU core.</TD
     have embedded features additional to the CPU core.</TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Variant extensions to the architecture code (cache,
>Variant extensions to the architecture code (cache,
     exception/interrupt), configuration options, possibly drivers for
     exception/interrupt), configuration options, possibly drivers for
     variant on-core devices, and possibly tests.</TD
     variant on-core devices, and possibly tests.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Platform HAL <A
>Platform HAL <A
HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/hal/powerpc/mbx/current?cvsroot=ecos"
HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/hal/powerpc/mbx/current?cvsroot=ecos"
TARGET="_top"
TARGET="_top"
>(hal/&lt;architecture&gt;/&lt;platform&gt;)</A
>(hal/&lt;architecture&gt;/&lt;platform&gt;)</A
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Contains functionality and configuration options specific to the
>Contains functionality and configuration options specific to the
      platform.</TD
      platform.</TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Early platform initialization code, platform memory layout
>Early platform initialization code, platform memory layout
     specification, configuration options (processor speed, compiler
     specification, configuration options (processor speed, compiler
     options), diagnostic IO functions, debugger IO functions,
     options), diagnostic IO functions, debugger IO functions,
     platform specific extensions to architecture or variant code
     platform specific extensions to architecture or variant code
     (off-core interrupt controller), and possibly tests.</TD
     (off-core interrupt controller), and possibly tests.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Auxiliary HAL <A
>Auxiliary HAL <A
HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/hal/powerpc/quicc/current?cvsroot=ecos"
HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/hal/powerpc/quicc/current?cvsroot=ecos"
TARGET="_top"
TARGET="_top"
>(hal/&lt;architecture&gt;/&lt;module&gt;)</A
>(hal/&lt;architecture&gt;/&lt;module&gt;)</A
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Some variants share common modules on the core. Motorola's PowerPC
>Some variants share common modules on the core. Motorola's PowerPC
      QUICC is an example of such a module.</TD
      QUICC is an example of such a module.</TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Module specific functionality (interrupt controller, simple
>Module specific functionality (interrupt controller, simple
      device drivers), possibly tests.</TD
      device drivers), possibly tests.</TD
></TR
></TR
></TBODY
></TBODY
></TABLE
></TABLE
><P
><P
></P
></P
></DIV
></DIV
></DIV
></DIV
><DIV
><DIV
CLASS="SECTION"
CLASS="SECTION"
><H2
><H2
CLASS="SECTION"
CLASS="SECTION"
><A
><A
NAME="AEN8696">File Descriptions</H2
NAME="AEN8696">File Descriptions</H2
><P
><P
>Listed below are the files found in various HALs, with a short
>Listed below are the files found in various HALs, with a short
description of what each file contains. When looking in existing HALs
description of what each file contains. When looking in existing HALs
beware that they do not necessarily follow this naming scheme.
beware that they do not necessarily follow this naming scheme.
If you are writing a new HAL, please try to follow it as
If you are writing a new HAL, please try to follow it as
closely as possible. Still, no two targets are the same, so sometimes
closely as possible. Still, no two targets are the same, so sometimes
it makes sense to use additional files.</P
it makes sense to use additional files.</P
><DIV
><DIV
CLASS="SECTION"
CLASS="SECTION"
><H3
><H3
CLASS="SECTION"
CLASS="SECTION"
><A
><A
NAME="AEN8699">Common HAL</H3
NAME="AEN8699">Common HAL</H3
><DIV
><DIV
CLASS="INFORMALTABLE"
CLASS="INFORMALTABLE"
><A
><A
NAME="AEN8701"><P
NAME="AEN8701"><P
></P
></P
><TABLE
><TABLE
BORDER="1"
BORDER="1"
CLASS="CALSTABLE"
CLASS="CALSTABLE"
><THEAD
><THEAD
><TR
><TR
><TH
><TH
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>File</TH
>File</TH
><TH
><TH
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Description</TH
>Description</TH
></TR
></TR
></THEAD
></THEAD
><TBODY
><TBODY
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/dbg-thread-syscall.h</TT
>include/dbg-thread-syscall.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Defines the thread debugging syscall function. This is used by
>Defines the thread debugging syscall function. This is used by
  the ROM monitor to access the thread debugging API in the RAM
  the ROM monitor to access the thread debugging API in the RAM
  application.  .</TD
  application.  .</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/dbg-threads-api.h</TT
>include/dbg-threads-api.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Defines the thread debugging API. .</TD
>Defines the thread debugging API. .</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/drv_api.h</TT
>include/drv_api.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Defines the driver API.</TD
>Defines the driver API.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/generic-stub.h</TT
>include/generic-stub.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Defines the generic stub features.</TD
>Defines the generic stub features.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/hal_if.h</TT
>include/hal_if.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Defines the ROM/RAM calling interface API.</TD
>Defines the ROM/RAM calling interface API.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/hal_misc.h</TT
>include/hal_misc.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Defines miscellaneous helper functions shared by all HALs.</TD
>Defines miscellaneous helper functions shared by all HALs.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/hal_stub.h</TT
>include/hal_stub.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Defines eCos mappings of GDB stub features.</TD
>Defines eCos mappings of GDB stub features.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/dbg-threads-syscall.c</TT
>src/dbg-threads-syscall.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Thread debugging implementation.</TD
>Thread debugging implementation.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/drv_api.c</TT
>src/drv_api.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Driver API implementation. Depending on configuration this
>Driver API implementation. Depending on configuration this
  provides either wrappers for the kernel API, or a minimal
  provides either wrappers for the kernel API, or a minimal
  implementation of these features. This allows drivers to be written
  implementation of these features. This allows drivers to be written
  relying only on HAL features.</TD
  relying only on HAL features.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/dummy.c</TT
>src/dummy.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Empty dummy file ensuring creation of libtarget.a.</TD
>Empty dummy file ensuring creation of libtarget.a.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/generic-stub.c</TT
>src/generic-stub.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Generic GDB stub implementation. This provides the
>Generic GDB stub implementation. This provides the
  communication protocol used to communicate with GDB over a serial
  communication protocol used to communicate with GDB over a serial
  device or via the network.</TD
  device or via the network.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/hal_if.c</TT
>src/hal_if.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>ROM/RAM calling interface implementation. Provides wrappers from
>ROM/RAM calling interface implementation. Provides wrappers from
  the calling interface API to the eCos features used for the
  the calling interface API to the eCos features used for the
  implementation.</TD
  implementation.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/hal_misc.c</TT
>src/hal_misc.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Various helper functions shared by all platforms and
>Various helper functions shared by all platforms and
  architectures.</TD
  architectures.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/hal_stub.c</TT
>src/hal_stub.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Wrappers from eCos HAL features to the features required by the
>Wrappers from eCos HAL features to the features required by the
  generic GDB stub.</TD
  generic GDB stub.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/stubrom/stubrom.c</TT
>src/stubrom/stubrom.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>The file used to build eCos GDB stub images. Basically a
>The file used to build eCos GDB stub images. Basically a
  cyg_start function with a hard coded breakpoint.</TD
  cyg_start function with a hard coded breakpoint.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/thread-packets.c</TT
>src/thread-packets.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>More thread debugging related functions.</TD
>More thread debugging related functions.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/thread-pkts.h</TT
>src/thread-pkts.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Defines more thread debugging related function.</TD
>Defines more thread debugging related function.</TD
></TR
></TR
></TBODY
></TBODY
></TABLE
></TABLE
><P
><P
></P
></P
></DIV
></DIV
></DIV
></DIV
><DIV
><DIV
CLASS="SECTION"
CLASS="SECTION"
><H3
><H3
CLASS="SECTION"
CLASS="SECTION"
><A
><A
NAME="AEN8776">Architecture HAL</H3
NAME="AEN8776">Architecture HAL</H3
><P
><P
>Some architecture HALs may add extra files for architecture
>Some architecture HALs may add extra files for architecture
specific serial drivers, or for handling interrupts and exceptions if it
specific serial drivers, or for handling interrupts and exceptions if it
makes sense.</P
makes sense.</P
><P
><P
>Note that many of the definitions in these files are only
>Note that many of the definitions in these files are only
conditionally defined - if the equivalent variant or platform headers
conditionally defined - if the equivalent variant or platform headers
provide the definitions, those override the generic architecture
provide the definitions, those override the generic architecture
definitions.</P
definitions.</P
><DIV
><DIV
CLASS="INFORMALTABLE"
CLASS="INFORMALTABLE"
><A
><A
NAME="AEN8780"><P
NAME="AEN8780"><P
></P
></P
><TABLE
><TABLE
BORDER="1"
BORDER="1"
CLASS="CALSTABLE"
CLASS="CALSTABLE"
><THEAD
><THEAD
><TR
><TR
><TH
><TH
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>File</TH
>File</TH
><TH
><TH
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Description</TH
>Description</TH
></TR
></TR
></THEAD
></THEAD
><TBODY
><TBODY
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/arch.inc</TT
>include/arch.inc</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Various assembly macros used during system initialization.</TD
>Various assembly macros used during system initialization.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/basetype.h</TT
>include/basetype.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Endian, label, alignment, and type size definitions. These
>Endian, label, alignment, and type size definitions. These
  override common defaults in CYGPKG_INFRA.</TD
  override common defaults in CYGPKG_INFRA.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/hal_arch.h</TT
>include/hal_arch.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Saved register frame format, various thread, register and stack
>Saved register frame format, various thread, register and stack
  related macros.</TD
  related macros.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/hal_cache.h</TT
>include/hal_cache.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Cache definitions and cache control macros.</TD
>Cache definitions and cache control macros.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/hal_intr.h</TT
>include/hal_intr.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Exception and interrupt definitions. Macros for configuring and
>Exception and interrupt definitions. Macros for configuring and
  controlling interrupts. eCos real-time clock control macros.</TD
  controlling interrupts. eCos real-time clock control macros.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/hal_io.h</TT
>include/hal_io.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Macros for accessing IO devices.</TD
>Macros for accessing IO devices.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/&lt;arch&gt;_regs.h</TT
>include/&lt;arch&gt;_regs.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Architecture register definitions.</TD
>Architecture register definitions.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/&lt;arch&gt;_stub.h</TT
>include/&lt;arch&gt;_stub.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Architecture stub definitions. In particular the register frame
>Architecture stub definitions. In particular the register frame
  layout used by GDB. This may differ from the one used by eCos.</TD
  layout used by GDB. This may differ from the one used by eCos.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/&lt;arch&gt;.inc</TT
>include/&lt;arch&gt;.inc</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Architecture convenience assembly macros.</TD
>Architecture convenience assembly macros.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/&lt;arch&gt;.ld</TT
>src/&lt;arch&gt;.ld</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Linker macros.</TD
>Linker macros.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/context.S</TT
>src/context.S</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Functions handling context switching and setjmp/longjmp.</TD
>Functions handling context switching and setjmp/longjmp.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/hal_misc.c</TT
>src/hal_misc.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Exception and interrupt handlers in C. Various other utility
>Exception and interrupt handlers in C. Various other utility
  functions.</TD
  functions.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/hal_mk_defs.c</TT
>src/hal_mk_defs.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Used to export definitions from C header files to assembler
>Used to export definitions from C header files to assembler
  header files.</TD
  header files.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/hal_intr.c</TT
>src/hal_intr.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Any necessary interrupt handling functions.</TD
>Any necessary interrupt handling functions.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/&lt;arch&gt;stub.c</TT
>src/&lt;arch&gt;stub.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Architecture stub code. Contains functions for translating eCos
>Architecture stub code. Contains functions for translating eCos
  exceptions to UNIX signals and functions for single-stepping.</TD
  exceptions to UNIX signals and functions for single-stepping.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/vectors.S</TT
>src/vectors.S</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Exception, interrupt and early initialization code.</TD
>Exception, interrupt and early initialization code.</TD
></TR
></TR
></TBODY
></TBODY
></TABLE
></TABLE
><P
><P
></P
></P
></DIV
></DIV
></DIV
></DIV
><DIV
><DIV
CLASS="SECTION"
CLASS="SECTION"
><H3
><H3
CLASS="SECTION"
CLASS="SECTION"
><A
><A
NAME="AEN8851">Variant HAL</H3
NAME="AEN8851">Variant HAL</H3
><P
><P
>Some variant HALs may add extra files for variant specific serial
>Some variant HALs may add extra files for variant specific serial
drivers, or for handling interrupts/exceptions if it makes sense.</P
drivers, or for handling interrupts/exceptions if it makes sense.</P
><P
><P
>Note that these files may be mostly empty if the CPU variant can be
>Note that these files may be mostly empty if the CPU variant can be
controlled by the generic architecture macros. The definitions present
controlled by the generic architecture macros. The definitions present
are only conditionally defined - if the equivalent platform headers
are only conditionally defined - if the equivalent platform headers
provide the definitions, those override the variant definitions.</P
provide the definitions, those override the variant definitions.</P
><DIV
><DIV
CLASS="INFORMALTABLE"
CLASS="INFORMALTABLE"
><A
><A
NAME="AEN8855"><P
NAME="AEN8855"><P
></P
></P
><TABLE
><TABLE
BORDER="1"
BORDER="1"
CLASS="CALSTABLE"
CLASS="CALSTABLE"
><THEAD
><THEAD
><TR
><TR
><TH
><TH
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>File</TH
>File</TH
><TH
><TH
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Description</TH
>Description</TH
></TR
></TR
></THEAD
></THEAD
><TBODY
><TBODY
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/var_arch.h</TT
>include/var_arch.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Saved register frame format, various thread, register and stack
>Saved register frame format, various thread, register and stack
  related macros.</TD
  related macros.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/var_cache.h</TT
>include/var_cache.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Cache related macros.</TD
>Cache related macros.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/var_intr.h</TT
>include/var_intr.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Interrupt related macros.</TD
>Interrupt related macros.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/var_regs.h</TT
>include/var_regs.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Extra register definitions for the CPU variant.</TD
>Extra register definitions for the CPU variant.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/variant.inc</TT
>include/variant.inc</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Various assembly macros used during system initialization.</TD
>Various assembly macros used during system initialization.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/var_intr.c</TT
>src/var_intr.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Interrupt functions if necessary.</TD
>Interrupt functions if necessary.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/var_misc.c</TT
>src/var_misc.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>hal_variant_init function and any necessary extra functions.</TD
>hal_variant_init function and any necessary extra functions.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/variant.S</TT
>src/variant.S</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Interrupt handler table definition.</TD
>Interrupt handler table definition.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/&lt;arch&gt;_&lt;variant&gt;.ld</TT
>src/&lt;arch&gt;_&lt;variant&gt;.ld</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Linker macros.</TD
>Linker macros.</TD
></TR
></TR
></TBODY
></TBODY
></TABLE
></TABLE
><P
><P
></P
></P
></DIV
></DIV
></DIV
></DIV
><DIV
><DIV
CLASS="SECTION"
CLASS="SECTION"
><H3
><H3
CLASS="SECTION"
CLASS="SECTION"
><A
><A
NAME="AEN8898">Platform HAL</H3
NAME="AEN8898">Platform HAL</H3
><P
><P
>Extras files may be added for platform specific serial
>Extras files may be added for platform specific serial
drivers. Extra files for handling interrupts and exceptions will be
drivers. Extra files for handling interrupts and exceptions will be
present if it makes sense.</P
present if it makes sense.</P
><DIV
><DIV
CLASS="INFORMALTABLE"
CLASS="INFORMALTABLE"
><A
><A
NAME="AEN8901"><P
NAME="AEN8901"><P
></P
></P
><TABLE
><TABLE
BORDER="1"
BORDER="1"
CLASS="CALSTABLE"
CLASS="CALSTABLE"
><THEAD
><THEAD
><TR
><TR
><TH
><TH
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>File</TH
>File</TH
><TH
><TH
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Description</TH
>Description</TH
></TR
></TR
></THEAD
></THEAD
><TBODY
><TBODY
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/hal_diag.h</TT
>include/hal_diag.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Defines functions used for HAL diagnostics output. This would
>Defines functions used for HAL diagnostics output. This would
  normally be the ROM calling interface wrappers, but may also be the
  normally be the ROM calling interface wrappers, but may also be the
  low-level IO functions themselves, saving a little overhead.</TD
  low-level IO functions themselves, saving a little overhead.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/platform.inc</TT
>include/platform.inc</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Platform initialization code. This includes memory controller,
>Platform initialization code. This includes memory controller,
  vectors, and monitor initialization. Depending on the architecture,
  vectors, and monitor initialization. Depending on the architecture,
  other things may need defining here as well: interrupt decoding,
  other things may need defining here as well: interrupt decoding,
  status register initialization value, etc.</TD
  status register initialization value, etc.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/plf_cache.h</TT
>include/plf_cache.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Platform specific cache handling.</TD
>Platform specific cache handling.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/plf_intr.h</TT
>include/plf_intr.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Platform specific interrupt handling.</TD
>Platform specific interrupt handling.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/plf_io.h</TT
>include/plf_io.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>PCI IO definitions and macros. May also be used to override
>PCI IO definitions and macros. May also be used to override
  generic HAL IO macros if the platform endianness differs from that of
  generic HAL IO macros if the platform endianness differs from that of
  the CPU.</TD
  the CPU.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/plf_stub.h</TT
>include/plf_stub.h</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Defines stub initializer and board reset details.</TD
>Defines stub initializer and board reset details.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/hal_diag.c</TT
>src/hal_diag.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>May contain the low-level device drivers. But these may also
>May contain the low-level device drivers. But these may also
  reside in plf_stub.c</TD
  reside in plf_stub.c</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/platform.S</TT
>src/platform.S</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Memory controller setup macro, and if necessary interrupt
>Memory controller setup macro, and if necessary interrupt
  springboard code.</TD
  springboard code.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/plf_misc.c</TT
>src/plf_misc.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Platform initialization code.</TD
>Platform initialization code.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/plf_mk_defs.c</TT
>src/plf_mk_defs.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Used to export definitions from C header files to assembler
>Used to export definitions from C header files to assembler
  header files.</TD
  header files.</TD
></TR
></TR
><TR
><TR
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
><TT
><TT
CLASS="FILENAME"
CLASS="FILENAME"
>src/plf_stub.c</TT
>src/plf_stub.c</TT
></TD
></TD
><TD
><TD
ALIGN="LEFT"
ALIGN="LEFT"
VALIGN="TOP"
VALIGN="TOP"
>Platform specific stub initialization and possibly the low-level
>Platform specific stub initialization and possibly the low-level
  device driver.</TD
  device driver.</TD
></TR
></TR
></TBODY
></TBODY
></TABLE
></TABLE
><P
><P
></P
></P
></DIV
></DIV
><P
><P
>The platform HAL also contains files specifying the platform's
>The platform HAL also contains files specifying the platform's
memory layout. These files are located in
memory layout. These files are located in
<TT
<TT
CLASS="FILENAME"
CLASS="FILENAME"
>include/pkgconf</TT
>include/pkgconf</TT
>.</P
>.</P
></DIV
></DIV
><DIV
><DIV
CLASS="SECTION"
CLASS="SECTION"
><H3
><H3
CLASS="SECTION"
CLASS="SECTION"
><A
><A
NAME="AEN8954">Auxiliary HAL</H3
NAME="AEN8954">Auxiliary HAL</H3
><P
><P
>Auxiliary HALs contain whatever files are necessary to provide the
>Auxiliary HALs contain whatever files are necessary to provide the
required functionality. There are no predefined set of files required
required functionality. There are no predefined set of files required
in an auxiliary HAL.</P
in an auxiliary HAL.</P
></DIV
></DIV
></DIV
></DIV
></DIV
></DIV
><DIV
><DIV
CLASS="NAVFOOTER"
CLASS="NAVFOOTER"
><HR
><HR
ALIGN="LEFT"
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
SUMMARY="Footer navigation table"
WIDTH="100%"
WIDTH="100%"
BORDER="0"
BORDER="0"
CELLPADDING="0"
CELLPADDING="0"
CELLSPACING="0"
CELLSPACING="0"
><TR
><TR
><TD
><TD
WIDTH="33%"
WIDTH="33%"
ALIGN="left"
ALIGN="left"
VALIGN="top"
VALIGN="top"
><A
><A
HREF="hal-porting-guide.html"
HREF="hal-porting-guide.html"
ACCESSKEY="P"
ACCESSKEY="P"
>Prev</A
>Prev</A
></TD
></TD
><TD
><TD
WIDTH="34%"
WIDTH="34%"
ALIGN="center"
ALIGN="center"
VALIGN="top"
VALIGN="top"
><A
><A
HREF="ecos-ref.html"
HREF="ecos-ref.html"
ACCESSKEY="H"
ACCESSKEY="H"
>Home</A
>Home</A
></TD
></TD
><TD
><TD
WIDTH="33%"
WIDTH="33%"
ALIGN="right"
ALIGN="right"
VALIGN="top"
VALIGN="top"
><A
><A
HREF="hal-calling-if.html"
HREF="hal-calling-if.html"
ACCESSKEY="N"
ACCESSKEY="N"
>Next</A
>Next</A
></TD
></TD
></TR
></TR
><TR
><TR
><TD
><TD
WIDTH="33%"
WIDTH="33%"
ALIGN="left"
ALIGN="left"
VALIGN="top"
VALIGN="top"
>Porting Guide</TD
>Porting Guide</TD
><TD
><TD
WIDTH="34%"
WIDTH="34%"
ALIGN="center"
ALIGN="center"
VALIGN="top"
VALIGN="top"
><A
><A
HREF="hal-porting-guide.html"
HREF="hal-porting-guide.html"
ACCESSKEY="U"
ACCESSKEY="U"
>Up</A
>Up</A
></TD
></TD
><TD
><TD
WIDTH="33%"
WIDTH="33%"
ALIGN="right"
ALIGN="right"
VALIGN="top"
VALIGN="top"
>Virtual Vectors (eCos/ROM Monitor Calling Interface)</TD
>Virtual Vectors (eCos/ROM Monitor Calling Interface)</TD
></TR
></TR
></TABLE
></TABLE
></DIV
></DIV
></BODY
></BODY
></HTML
></HTML
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.