Intel-prosessoreissa tulisi olla suorittimen mikrokoodipäivitykset ladattu varhain Linuxin käynnistysprosessin aikana erilaisten tunnettujen ongelmien välttämiseksi. Kun prosessorin mikrokoodi ladataan myöhässä sen jälkeen, kun järjestelmä on käynnistetty, Intel-prosessoreissa voi tapahtua erilaisia ongelmia, jotka saivat ne merkitsemään Linux-ytimen likaiseksi tällaisissa olosuhteissa. Ytimen pilaamista tapahtui myös, kun mikrokoodia ladattiin myöhään AMD-suorittimiin, mutta nyt sitä on pidetty tarpeettomana ja myöhään ladatun CPU-mikrokoodin AMD-prosessoreissa on kerrottu olevan turvallista.
CPU-mikrokoodin myöhäistä lataamista Intel-prosessoreihin on kutsuttu”vaaralliseksi”johtuen SMT/Hyper Threading-suorittimien synkronointi-ongelmista, mallikohtaisten rekisterien (MSR:iden) katoamisen mahdollisuudesta päivitetyllä mikrokoodilla, konetarkistuksen käsittelyongelmista ja keskeytyksistä. ongelmien käsittelyssä.
“Myöhäinen lataus tapahtuu, kun järjestelmä on täysin toimintakuntoinen ja käynnissä todellisia työkuormia. Myöhäinen latauskäyttäytyminen riippuu siitä, mikä on suorittimen peruskorjaus ennen uuteen korjaustiedostoon päivittämistä.
Tämä pätee Intel-suorittimiin.
Otetaan esimerkiksi, että suorittimella on korjaustaso 1 ja päivitys on korjaustasolla 3.
Pach1:n ja 3:n välillä korjaustiedosto 2 on saattanut poistaa käytöstä ohjelmistolle näkyvän ominaisuuden.
Tätä ei voida hyväksyä, jos ohjelmisto mahdollisesti jopa käyttää tätä ominaisuutta. Oletetaan esimerkiksi, että MSR_X ei ole enää saatavilla päivityksen jälkeen, jolloin MSR:n käyttö aiheuttaa #GP-vian.
Periaatteessa uutta mikrokoodipäivitystä ei voi julistaa sopivaksi myöhäiseen lataukseen. Tämä on toinen niistä ongelmista, joiden vuoksi myöhäinen lataus ei ollut oletusarvoisesti käytössä.”
Linux-ydin mikrokoodidokumentaatiossa on kaikki tiedot myöhäisestä latauksesta kiinnostuneille.
AMD:n Borislav Petkovin tänään lähettämä julistus siitä, että mikrokoodin myöhäinen lataus on turvallista AMD-järjestelmissä, eikä se enää pilaa Linux-ydintä sellaisessa tapauksessa.
“Myöhäisessä latauksessa AMD:llä ei ole yllä kuvattuja samanaikaisuusongelmia: kun latausta yritetään T0:lla, T1 pysähtyy eikä suorita ohjeita. Siksi vaikka korkeamman prioriteetin keskeytys tai vika tapahtuisi, koko ydin näkee sen joko ennen mikrokoodikorjauksen asentamista tai sen jälkeen. Kummassakin tapauksessa T0:lla ja T1:llä on sama mikrokoodiversio, eikä siinä ole mitään välimuotoa.”
Näin tämä vireillä oleva korjaustiedosto, suorittimen mikrokoodin päivitys myöhäisen latauksen yhteydessä laukaisee vain ytimen haitan muissa kuin AMD-järjestelmissä. Ihannetapauksessa kaikki suorittimen mikrokoodipäivitykset tulisi ladata aikaisin käynnistyksen aikana.