Download OS-9 Porting Guide

Transcript
3
Porting the Boot Code
Figure 3-2 shows the memory diagram of this first RAM segment.
Figure 3-2 First RAM Memory Segment Allocated by the Bootstrap Code
bootstrap global data
_dsize
low-level system module
reserved memory
ResvMemSz
bootstrap stack
ROMStackSz
Initial Bootstrap Stack Top
Bootstrap Memory Lists
The ROM memory list is made of pairs of 32-bit integers specifying start
and end boundaries for memory lists. The first list is used to map the
system’s available RAM memory. The second list is used to map
special memory regions treated as ROM memory and searched in a
non-destructive fashion. Special memory areas may include ROM,
flash, or NVRAM memory. For example:
/*
*memory search list
*/
_asm(“
memlist
dc.l $4000,$80000 first memory segment includes
ROM data area and stack
dc.l $400000, $1000000 second memory segment
dc.l 0
dc.l $fff40000, $fff80000 ROM search area
dc.l 0,0,0,0,0 extra fields for patching lists
“);
OS-9 Porting Guide
45