summaryrefslogtreecommitdiff
path: root/lib/cmap/yuvmap
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2016-12-15 23:27:01 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2016-12-15 23:27:01 +0100
commitd48a0894865e810f46e1ef2f07476c4f3101698a (patch)
tree21acb476a90a2acca1a873585011362e88f800b5 /lib/cmap/yuvmap
parentf3b5bcffceb05ce2b9f8c19d2e0721f3e54098e8 (diff)
downloadplan9front-d48a0894865e810f46e1ef2f07476c4f3101698a.tar.xz
pc64: implement simple write combining for framebuffers with the PAT
on some modern machines like the x250, the bios arranges the mtrr's and the framebuffer membar in a way that doesnt allow us to mark the framebuffer pages as write combining, leading to slow graphics. since the pentium III, the processor interprets the page table bit combinations of the WT, CD and bit7 bits as an index into the page attribute table (PAT). to not change the semantics of the WT and CD bits, we preserve the bit patterns 0-3 and use the last entry 7 for write combining. (done in mmuinit() for each core). the new patwc() function takes virtual address range and changes the page table marking the range as write combining. no attempt is made on invalidating tlb's. doesnt matter in our case as the following mtrr() call in screen.c does it for us.
Diffstat (limited to 'lib/cmap/yuvmap')
0 files changed, 0 insertions, 0 deletions