High Performance Graphics Driver for most devices

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
kzinti
Member
Member
Posts: 898
Joined: Mon Feb 02, 2015 7:11 pm

Re: High Performance Graphics Driver for most devices

Post by kzinti »

devc1 wrote:One Last Question, is the Page Attribute Table (PAT) available on all x64 Processors ?
Yes.
nullplan
Member
Member
Posts: 1790
Joined: Wed Aug 30, 2017 8:24 am

Re: High Performance Graphics Driver for most devices

Post by nullplan »

devc1 wrote:One Last Question, is the Page Attribute Table (PAT) available on all x64 Processors ?
You know, the merest amount of research would have told you to just look into the bloody documentation, that contains such helpful sentences as:
Intel SDM wrote:The PAT was introduced to the IA-32 architecture on the Pentium III processor. It is also available on the Pentium 4 and Intel Xeon processors.
Since those developments are far older than the development of 64-bit mode, the answer to your question is yes.
Carpe diem!
User avatar
Demindiro
Member
Member
Posts: 96
Joined: Fri Jun 11, 2021 6:02 am
Libera.chat IRC: demindiro
Location: Belgium
Contact:

Re: High Performance Graphics Driver for most devices

Post by Demindiro »

Instead of using PAT you may want to use non-temporal instructions instead, which has the same effect.

I use NT instructions since I want to keep my microkernel API free from any architecture-specific details where possible.
My OS is Norost B (website, Github, sourcehut)
My filesystem is NRFS (Github, sourcehut)
Octocontrabass
Member
Member
Posts: 5563
Joined: Mon Mar 25, 2013 7:01 pm

Re: High Performance Graphics Driver for most devices

Post by Octocontrabass »

nullplan wrote:
Intel SDM wrote:The PAT was introduced to the IA-32 architecture on the Pentium III processor.
But it was introduced on the Pentium II...
Demindiro wrote:Instead of using PAT you may want to use non-temporal instructions instead, which has the same effect.
Unfortunately, those instructions may not have the same effect:
Intel SDM wrote:The memory type of the region being written to can override the non-temporal hint, if the memory address specified for the non-temporal store is in an uncacheable (UC) or write protected (WP) memory region.
Firmware may set up the MTRRs so that the framebuffer is UC. You'll need to change the MTRRs or override the MTRRs with the PAT to make non-temporal instructions work correctly, so you might as well set it to WC and make all instructions non-temporal.
User avatar
Demindiro
Member
Member
Posts: 96
Joined: Fri Jun 11, 2021 6:02 am
Libera.chat IRC: demindiro
Location: Belgium
Contact:

Re: High Performance Graphics Driver for most devices

Post by Demindiro »

Octocontrabass wrote:Firmware may set up the MTRRs so that the framebuffer is UC. You'll need to change the MTRRs or override the MTRRs with the PAT to make non-temporal instructions work correctly, so you might as well set it to WC and make all instructions non-temporal.
From what I understand it is not possible to override the MTRR if it set to UC.
2022-08-19-205902_1053x600_scrot.png
My OS is Norost B (website, Github, sourcehut)
My filesystem is NRFS (Github, sourcehut)
Octocontrabass
Member
Member
Posts: 5563
Joined: Mon Mar 25, 2013 7:01 pm

Re: High Performance Graphics Driver for most devices

Post by Octocontrabass »

Demindiro wrote:From what I understand it is not possible to override the MTRR if it set to UC.
Look at table 11-7 instead of table 11-6.
devc1
Member
Member
Posts: 439
Joined: Fri Feb 11, 2022 4:55 am
Location: behind the keyboard

Re: High Performance Graphics Driver for most devices

Post by devc1 »

Understandable, thanks !
Post Reply