Expand description
Page Attribute Table (PAT) initialization for write-combining memory.
Reprograms PAT entry 1 from WT (write-through) to WC (write-combining),
then provides apply_write_combining() to set framebuffer page table
entries to use the WC memory type. This yields 5-150x faster MMIO
writes for the fbcon flush path.
§PAT index mapping after init()
| Index | PWT | PCD | PAT | Type |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | WB |
| 1 | 1 | 0 | 0 | WC (was WT) |
| 2 | 0 | 1 | 0 | UC- |
| 3 | 1 | 1 | 0 | UC |
| 4-7 | 1 | (mirrors 0-3 by default) |
Framebuffer PTEs use index 1 (PWT=1, PCD=0, PAT=0) for write-combining.
Functions§
- apply_
write_ ⚠combining - Apply write-combining attributes to a virtual address range.
- init
- Reprogram PAT entry 1 from WT to WC.