The structure of StartGlobals (aka BootGlobs) is not publicly documented. However, a widely disseminated leak of System 7.1 source code includes the following definition of the structure in Internal/Asm/BootEqu.a
. As best I can tell, this information is primarily used in the early boot process and in certain low-level drivers.
StartGlobals RECORD {sgRamTable},DECR
sgTestSpace ds.l 2 ; 2 longs for diagnostics to trash
sgRamTable equ * ; table of start/size physical RAM, -1 ended
sgMaxChunks equ 8 ; maximum # RAM chunks we can accomodate
sgWarmStart ds.l 1 ; warm start constant
sgTopOff ds.l 1 ; offset to top of boot globals area
sgAllocOff ds.l 1 ; offset to bottom of allocated area
sgPhysicalTableOff ds.l 1 ; offset to physical space table (for VM et al)
sgTotalRAM ds.l 1 ; total RAM in the system
sgPhys2Log ds.l 1 ; physical to logical offset for MMU tables
sgMMFlags ds.b 1 ; memory manager start mode flags
sgTypeMMU ds.b 1 ; type of MMU
sg24Info ds.b MMUConfigInfo ; 24 bit mode MMU info
sg32Info ds.b MMUConfigInfo ; 32 bit mode MMU info
sgRamDiskSize ds.l 1 ; size of RAM disk, if any <5> rb
sgRamDiskBase ds.l 1 ; logical base of RAM disk, if any <5> rb
sgScratch ds.l 4 ; 4 longs of scratch space <SM11>
sgEDiskStealFlag ds.b 1 ; 1 byte flag to tell INIT code to steal RAM for the EDisk <SM7>
sgAlign ds.b 1 ; alignment
sgBottom equ * ; last field
ENDR
The MMUConfigInfo
structure referenced in sg24Info
and sg32Info
is, in turn, defined as follows in Internal/Asm/MMUEqu.a
:
MMUConfigInfo RECORD 0 ; MMU configuration info
theCRP ds.l 1 ; start of the 64-bit CRP on 020/030's <4>
theSRP ds.l 1 ; start of the 32-bit SRP on 040's <4>
theTC ds.l 1 ; the TC (Translation Control Register) value
; (the lsw contains the TC on a 68040) <3>
theTT0 ds.l 1 ; the {I}TT0 (Transparent Translation Reg 0) value
theTT1 ds.l 1 ; the {I}TT1 (Transparent Translation Reg 1) value
MMUInfoSize equ *-MMUConfigInfo ; size of an MMU info record
ENDR