OAL Memory Mapping Structures (Compact 2013)
10/16/2014
Windows Embedded Compact 2013 improved Windows CE’s physical memory management design for ARM and x86 to let you address more than 512 MB of memory. In order to support more than 512 MB of RAM, the way OEMAddressTable is used has been changed, and OEMDeviceTable and Ramtable have been introduced.
- OEMAddressTable
This table should now only define address mappings required for system startup, and should only be mapped to cached memory. The format of entries in this table has not changed.
- OEMDeviceTable
This table contains all the device mappings that used to be in OEMAddressTable. There is only one mapping created for each entry in this table, and that mapping will use the cache attribute specified in the entry. No longer will both cached and uncached mappings be made to the same physical address.
- RamTable
Any RAM beyond the 512 MB that is defined in OEMAddressTable, is defined in this table. You are not required to use OEMRamTable with platforms that use 512 MB of RAM or less, but we recommend that you use it to be compatible with future CPUs that do not allow conflicting memory attributes (such as cached and uncached) be applied to the same physical address.
The following list contains the OAL structures used to map physical memory.
In This Section
- OEMAddressTable
Defines physical-to-virtual address mappings required for system startup.
- OEMDeviceTable
Defines virtual-to-physical address mappings for uncached devices on the x86 and ARM platforms.
- OEMRamTable
Defines the RAM available in addition to the RAM defined in OEMAddressTable.
- OEMRomChain
Stores information about an Execute-in-place (XIP) region.