Memory Slice Hash Register (MEMORY_SLICE_HASH_MCHBAR_IMPH) – Offset 7268
Memory Slice Hash
Contains configuration bits for memory address slice hashing
Bit Range | Default | Access | Field Name and Description |
63:27 | 0h | RO | Reserved |
26:24 | 0x0 | RW | (HASH_LSB_MASK_BIT) HASH_LSB_MASK_BIT This specifies the memory slice interleave bit. The following encoding is used: 000 - Addr[6] 001 - Addr[7] 010 - Addr[8] 011 - Addr[9] 100 - Addr[10] 101 - Addr[11] 110 - Addr[12] 111 - Addr[13] For example, setting this field to 10b will interleave the slices at a 4 cacheline granularity. BIOS should set this field same as the lowest selected bit in the HASH_MASK field of this CR. Note that if the HASH_MASK field does not include the corresponding interleave bit, it will still be included in teh XOR function by the memory slice decoding logic. |
23:20 | 0h | RO | Reserved |
19:6 | 0x1 | RW | (HASH_MASK) HASH_MASK The 14-bit mask corresponds to memory request Addr[19:6]. Setting a mask bit to 1 will include that particular address bit in the slice XOR function. For example, if the mask is set to 14'h0C04, then Slice = Addr[17] ^ Addr[16] ^ Addr[8]. Channel selection in the dual-channel range: Channel = Bitwise-xor(addr{19:6} & mask{19:6}) Bitwise AND mask with Address bits to be XORED. Conditions apply: HASH_MASK configuration must clear all bits below the MASK_LSB value HASH_MASK configuration must set 1 on MASK_LSB location |
5:4 | 0h | RO | Reserved |
3:0 | 0x4 | RW | (MC_org) 0: Single MC - MC0 1: Single MC - MC1 2: Dual MC L-shape - MC0 > MC1 3: Dual MC L-shape - MC1 > MC0 4: Dual MC, no L-shape |