However, thinking only of pixels, the address A0000h maps a very small region of the video memory (128k), a far cry from the capacity of the current video cards.
In addition, using only the basic routines provided by the VGA and SVGA standard, you can not change the resolution for eg 1366 x 768 (at least I could not identify how).
The question is, assuming I'm already running 32- or 64-bit protected mode, in ring0, how to map a region of video memory so the processor can access it, and how to set up the video card for resolutions greater than 800 x 600?
Regarding memory mapping, should this be done in some GDT entry?
I know that Linux is open source, but the code is great, and I do not have much experience with it. If the answer involves the Linux source code, I would ask, please, to indicate the version, the file and the corresponding lines.