To UEFI-3 versioner gjort grydeklar.

To UEFI-3 versioner gjort grydeklar.

Den ene bruger 8-bit video til PC-er, der har begrænset CSM support til brug for eksterne grafikkort. Eller PC-er der har CSM-support af indbygget grafik. Her bruger vi VESA standarden til at aktivere mode 0x103 (800×600 i 256 farver). Det er stress-testet på en Lenovo Intel i-3 PC. Bortset fra det indledende sæt-videomode kald, der sker mens vi er i 64 bit UEFI-mode, rører vi på intet tidspunkt ved hverken BIOS (der er fraværende udover CSM’s begrænsede int 0x10 support) eller nogen former for ”legacy hardware”.

Den hedder SYSLOAD.POL.

Den anden bruger 24 (32) bit video til PC-er helt uden CSM support. Her arbejder vi videre med UEFI’s egen videomode. Den bygger på den version, der blev stress-testet på en ASUS Intel i-5 PC før nyheden 5-5-2025.

Den hedder SYSLOAD.POM.

Disse versioner, som kræver USB-porte minimum ver-3 (blå farve i stik) til mus og tastatur, indeholder to nyheder, der ikke findes i tidligere versioner:

  1. Løbende synkronisering af tid og dato via nettet (gopaser.exe). Hvert 10-ende sekund hentes dato og klokkeslæt fra Windows-PCen. Ind imellem telegrammerne drives uret af HPET-timeren, hvis nøjagtighed kun er 1/2 promille, men det når ikke at give mærkbar fejl inden for de 10 sekunder, før næste telegram hentes.
  2. Løbende selv-overvågning af max interrupt forsinkelse i mikrosekunder med to decimaler efter kommaet. Den længst sete forsinkelse, siden ½ sekund efter at programmet blev startet, vises et stykke til højre i den vandrette bjælke på skærmen. Til venstre i bjælken – ved den blinkende stjerne – vises fortsat den højest sete udnyttelse af en scantid inden for det seneste sekund.

Ting disse to versioner ikke længere supporterer:

  1. PS2 mus og tastatur. Begge dele skal i stedet være USB i porte tilsluttet XHCI controller, d.v.s. USB skal minimum være ver 3.0. Der vil normalt være blå farve i stikket hos USB-3 porte.
  2. Den gamle VGA skærmopløsning på 640×480. De relativt få apps i gammel opløsning kan uden videre afvikles, men opløsningen er 800×600 så monitorens areal bliver ikke udnyttet fuldt ud.

Årsagen til disse begrænsninger er primært dovenskab hos programmøren.

Det ville være overkommeligt at lave 640×480 support, men fordelene ved den højere opløsning plus det begrænsede tidsforbrug ved at redesigne skærmbilleder hos de meget få 640×480 apps gør det usandsynligt, at det kan betale sig. Desuden er der set enkelte eksempler på monitorer, der nægter at vise den gamle 640×480 opløsning.

Det ser ud til, at den CSM-support man ser hos nyere PC-er, og som angiveligt begrænser sig til video-chippen – uanset om den er intern eller ekstern – er uproblematisk ift. at SMI forsinker vores HPET timertick. Den længste forsinkelse målt på Lenovoen var på ca. 8.5 mikrosekund og krævede en bevidst provokation:

Den bestod i, at man lod den vigtigste ydre belastning (gammeldaws relæbox-strenge) være frakoblet, mens programmet startede op. Int-forsinkelses måleren stillede sig på knap 7.0 us.

Når man så satte stikkene i, hoppede den op på ca. 8.5 (cache fyldninger kostede 1.5 us).

Hvis man lod relæbox-stikkene sidde i ved start, så cache-fyldninger var overstået før HPET tidsmålingerne startede (sker ca. ½ sekund efter start af realtidskerne) kom max int-forsinkelse på intet tidspunkt over 6.94 us. CPU-cachen havde fyldt sig før overvågningen startede.