Memory Type Range Registers (MTRR)

Memory Type and Mnemonic:
  00h - Uncacheable(UC),
  01h - Write Combining(WC),
  04h - Write Through (WT),
  05h - Write Protected (WP),
  06h - Write Back (WB)
  02h,03h, 07h through 0FFh - Reserved
Fixed Range MTRRs:
  _FIX64K_00000 (8x 64-KByte) MSR 0x250
  _FIX16K_80000/A000 (16x 16-KByte, 8 ranges per register) MSR 0x258/9
  _FIX4K_C0000...F8000 (64x 4-KByte, 8 ranges per register) MSR 0x268~0x26F
Variable Range MTRRs: (IA32_MTRR_PHYSBASEn, IA32_MTRR_PHYSMASKn)
   MSR 0x200~0x213

总结:
1. 正常的OS可用的Memory的MTRR属性是 WB (06h),
2. 传统的 C/D/E/F 段的属性是 WP (05h),
3. 其他的如 MMIO, A/B段 的属性是 UC (00h)
4. 其他不在以上MTRR中规定范围的, 都适用默认的属性, 见 MSR 0x2FF.

没有评论:

发表评论