RISC OS Open
A fast and easily customised operating system for ARM devices
ROOL
Home | News | Software | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

RISCOS_InitARM

Hardware Abstraction Layer
» RISC OS entry points from HAL
» RISCOS_InitARM

RISCOS_InitARM

(OS entry #0)
void RISCOS_InitARM(unsigned int flags)
Entry
flags Reserved – sbz
SVC mode
MMU and caches off
IRQs and FIQs disabled
No RAM or stack used
Exit
- Instruction cache may be on

Use

This routine must be called once very early on in the HAL start-up, to accelerate the CPU for the rest of HAL initialisation. Typically, it will just enable the instruction cache (if possible on the ARM in use), and ensure that the processor is in 32-bit configuration and mode.

Some architecture 4 (and later) ARMs have bits in the control register that affect the hardware layer – eg the iA and nF bits in the ARM920T. These are the HAL’s responsibility – the OS will not touch them. Conversely, the HAL should not touch the cache, MMU and core configuration bits (currently bits 0-14).

On architecture 3, the control register is write only – the OS will set bits 11-31 to zero.

Likewise, such things as the StrongARM 110’s register 15 (Test, Clock and Idle Control) are the HAL’s responsibility. The OS does not know about the configuration of the system, so cannot program such registers.

This entry must not be called after RISCOS_Start.

Information sources: Kernel.Docs.HAL.HAL_API, Kernel.hdr.OSEntries in CVS
Revised on July 25, 2009 20:58:49 by Jeffrey Lee (213) (127.0.0.1)
Edit | Back in time (1 revision) | See changes | History | Views: Print | Source | Linked from: RISC OS entry points from HAL, RISC OS entry points from HAL by number

Search the Wiki

Commercial use

For commercial enquiries, please contact the owners of RISC OS, Castle Technology Ltd.

ROOL Store

The official C/C++ Development kit and more here.

Donate! Why?

Help ROOL make things happen – please consider donating!

Navigation

  • Home Page
  • All Pages
  • Recently Revised
  • Authors
  • Feeds
Site design © RISC OS Open Limited 2011 except where indicated
The RISC OS Open Instiki theme is based on Insitki's default layout

Valid XHTML 1.0  |  Valid CSS

Instiki 0.19.1(MML+)
This site runs on Rails

Hosted by Arachsys