Intel G645 BX80623G645 User Manual

Product codes
BX80623G645
Page of 296
Processor Configuration Registers
28
Datasheet, Volume 2
2.3.4.3
Memory Remapping
An incoming address (referred to as a logical address) is checked to see if it falls in the 
memory re-map window. The bottom of the re-map window is defined by the value in 
the REMAPBASE register. The top of the re-map window is defined by the value in the 
REMAPLIMIT register. An address that falls within this window is remapped to the 
physical memory starting at the address defined by the TOLUD register. The TOLUD 
register must be 1 MB aligned.
2.3.4.4
Hardware Remap Algorithm
The following pseudo-code defines the algorithm used to calculate the DRAM address to 
be used for a logical address above the top of physical memory made available using 
re-claiming.
IF (ADDRESS_IN[38:20]  REMAP_BASE[35:20]) AND 
(ADDRESS_IN[38:20]  REMAP_LIMIT[35:20]) THEN 
ADDRESS_OUT[38:20] = (ADDRESS_IN[38:20] – REMAP_BASE[35:20]) + 
0000000b and TOLUD[31:20] 
ADDRESS_OUT[19:0] = ADDRESS_IN[19:0]
2.3.4.5
Programming Model
The memory boundaries of interest are:
• Bottom of Logical Address Remap Window defined by the REMAPBASE register, 
which is calculated and loaded by BIOS.
• Top of Logical Address Remap Window defined by the REMAPLIMIT register, which 
is calculated and loaded by BIOS.
• Bottom of Physical Remap Memory defined by the existing TOLUD register. 
• Top of Physical Remap Memory, which is implicitly defined by either 4 GB or TOM 
minus Intel ME stolen size. 
Mapping steps:
1. Determine TOM
2. Determine TOM minus Intel ME stolen size
3. Determine MMIO allocation
4. Determine TOLUD 
5. Determine GFX stolen base
6. Determine GFX GTT stolen base
7. Determine TSEG base
8. Determine remap base/limit
9. Determine TOUUD
Figure 2-5
 and 
Figure 2-6
 show the two possible general cases of remapping.