Memory

Part I: Overview ›› The HAL ››
Parent Previous Next

Memory


The HAL provides access to the memory-related features of the hardware (such as paging), and also some minimal memory management, mostly for the purpose of Init and initial UOS startup.  Memory may consist of several segments of varying characteristics.  For instance, most systems have some of their physical memory address range mapped to ROM (such as the BIOS on PCs), whereas other memory is read/write and available for general use.  The HAL considers each contiguous segment of the memory address space that is of the same general type as a separate area, which is assigned a unique index.


The HAL passes information about memory back to UOS using the following structure:

type TMemory_Info = packed record

                       Memory_Type : word ;

                       Low : int64 ;

                       High : int64

                   end ;


This information is only provided on physical memory, and is described below:


Item

Description

Memory_Type

Type of memory.  See Memory types, below.

Low

Lowest address of this segment

High

Highest address of this segment



Memory types have the following values:

Value

Mnuemonic

Description

0

MT_Non_Existant

Non-existant memory

1

MT_RAM

Random access read/write memory

2

MT_ROM

Read-only memory

3

MT_WOM

Write-only memory