Arkiv

Arkiv for juni, 2012

Mikrokode opdatering fra Intel

Jeg blev lidt forbløffet i dag. Intel har frigivet en mikrokode opdatering til deres 64 bits processorer. Grunden til at jeg blev overrasket, var at jeg egentlig troede at det ikke var muligt at opdatere den slags.

Opdateringen skal løse et problem, der sker når procesoren skifter kontekst. Det kan for eksempel være når man skifter fra en virtuel maskine og tilbage til host maskinen, eller fra et ikke priviligeret program tilbage til kernen. Problemet er ret udbredt, og bunder i at Intel har implementeret AMD’s 64 bits instruktionssæt en smule anderledes end AMD selv. Selve problemet er forklaret ret godt på Xen’s blogside om fejlen.

Da jeg første gang lærte om mikrokode, fik jeg det indtryk, at den slags kode var forud defineret af producenten, og at man ikke kunne ændre i det. Vi sad også selv og skrev et par instruktioner i mikrokode, til Andrew S. Tanenbaums virtuelle processor. Men eftersom at Intel nu har frigivet opdateringen, kan jeg jo regne ud, at mikrokode nok ikke er helt så statisk endda. Det sætter nogle tanker i gang. Hvordan sikrer Intel, at kun deres egene opdateringer finder vej til processoren? Skal vi nu til at have antivirus programmer, til også at kontrollere vores firmware og mikrokode?

Categories: Hacking, Kode Tags: