Otázka je, čo to je, lebo je to väčšie ako 12kiB= 12288B, Koľko z toho súboru je hlavička, ktorá nejde do CPU.
Ono na tých 12kiB sa mohlo prísť práve pri tom súbore...
a preto je to neodkladné=urgentné
>With a change now pending as part of the x86/urgent work,
https://www.phoronix.com/scan.php?page=news_item&px=AMD-Larger-Microcode-Linux
Pry nikdo... ale Ti chytrejsi v mikrokodu dokazou napsat i vira ,)
https://hackaday.com/2017/12/28/34c3-hacking-into-a-cpus-microcode/
https://argp.github.io/2017/09/14/re-x86-microcode/
google: amd microcode K10 pdf
17. 4. 2020, 10:08 editováno autorem komentáře
Asi je tam nastavena maximalna velkost uloziska pre FW CPU (pred loadom do CPU) vo velkosti jednej stranky, teda 4k. Predpokladam, ze ide o to ze sa dana cast pamati "pinuje" (zakazuje sa jej odswapovanie, co je pri takej citlivej zalezitosti ako load FW do CPU pochopitelne) a tam je prax vyuzivat to najmensie mnozstvo pamati. Teraz sa velkost alokovanej pamati zvysila na 3 stranky (12kB).
Nějak velký buffer mít musíte, a tohle zatím stačilo. Šlo by samozřejmě alokovat paměť dynamicky, např. podle velikosti souboru, ale to je všechno komplexita navíc, a to ve velmi rané a zranitelné fázi bootu. Nevím jistě, ale myslím že je to ještě před inicializací MMU, není k dispozici heap (a tím pádem malloc), dost možná ani stat.
Do SoCu se to nahraje tak, že microcode nahrajete do paměti, a pak do určitých registrů zapíšete pointer a délku, kolik si má přečíst (arch/x86/kernel/cpu/microcode/amd.c).
A proc by bootloader mel nest tech 7.5MB (239 souboru) zbytecne zateze? Jaka by byla vyhoda??
Protoze mikrokod obsahuji rovnou i BIOSy, z vyse uvedene mnoziny vzdy jen ty, ktere se tykaji CPU ktery lze do desky pripojit.
CPU mikrokod jsou patche pro zpusob vykonavani instrukci, neni to neco, bez ceho by se nedalo fungovat.
To ešte asi nebudem mať
sudo zypper dup
;Načítavam údaje repozitárov...
Načítavam nainštalované balíky...
Pozor: Chystáte sa urobiť povýšenie distribúcie so všetkými zapnutými repozitármi. Než budete pokračovať, uistite sa, že sú tieto repozitáre kompatibilné. Pre viac informácií pozrite 'man zypper'.
Vypočítavam povýšenie distribúcie...
Verzia nasledujúcich 31 balíkov bude zvýšená:
kernel-firmware-all kernel-firmware-amdgpu kernel-firmware-atheros kernel-firmware-ath10k kernel-firmware-bluetooth kernel-firmware-bnx2 kernel-firmware-brcm kernel-firmware-dpaa2 kernel-firmware-chelsio kernel-firmware-intel kernel-firmware-iwlwifi
kernel-firmware-i915 kernel-firmware-liquidio kernel-firmware-marvell kernel-firmware-media kernel-firmware-mediatek kernel-firmware-mellanox kernel-firmware-mwifiex kernel-firmware-network kernel-firmware-nfp kernel-firmware-nvidia kernel-firmware-platform
kernel-firmware-qlogic kernel-firmware-radeon kernel-firmware-realtek kernel-firmware-serial kernel-firmware-sound kernel-firmware-ti kernel-firmware-ueagle kernel-firmware-usb-network ucode-amd
31 balíkov pre zvýšenie verzie.
Celková sťahovaná veľkosť: 151,5 MiB. Vo vyrovnávacej pamäti je už: 0 B. Po tejto operácii bude použitých ďalších 1,1 MiB.
Pokračovať? [a/n/v/...? ukazuje všetky voľby] (a): v
: Neplatná odpoveď ';v'.
[a/n/v/...? ukazuje všetky voľby] (a): v
Verzia nasledujúcich 31 balíkov bude zvýšená:
kernel-firmware-all 20200316-35.1 -> 20200413-35.1
kernel-firmware-amdgpu 20200316-35.1 -> 20200413-35.1
kernel-firmware-atheros 20200316-35.1 -> 20200413-35.1
kernel-firmware-ath10k 20200316-35.1 -> 20200413-35.1
kernel-firmware-bluetooth 20200316-35.1 -> 20200413-35.1
kernel-firmware-bnx2 20200316-35.1 -> 20200413-35.1
kernel-firmware-brcm 20200316-35.1 -> 20200413-35.1
kernel-firmware-dpaa2 20200316-35.1 -> 20200413-35.1
kernel-firmware-chelsio 20200316-35.1 -> 20200413-35.1
kernel-firmware-intel 20200316-35.1 -> 20200413-35.1
kernel-firmware-iwlwifi 20200316-35.1 -> 20200413-35.1
kernel-firmware-i915 20200316-35.1 -> 20200413-35.1
kernel-firmware-liquidio 20200316-35.1 -> 20200413-35.1
kernel-firmware-marvell 20200316-35.1 -> 20200413-35.1
kernel-firmware-media 20200316-35.1 -> 20200413-35.1
kernel-firmware-mediatek 20200316-35.1 -> 20200413-35.1
kernel-firmware-mellanox 20200316-35.1 -> 20200413-35.1
kernel-firmware-mwifiex 20200316-35.1 -> 20200413-35.1
kernel-firmware-network 20200316-35.1 -> 20200413-35.1
kernel-firmware-nfp 20200316-35.1 -> 20200413-35.1
kernel-firmware-nvidia 20200316-35.1 -> 20200413-35.1
kernel-firmware-platform 20200316-35.1 -> 20200413-35.1
kernel-firmware-qlogic 20200316-35.1 -> 20200413-35.1
kernel-firmware-radeon 20200316-35.1 -> 20200413-35.1
kernel-firmware-realtek 20200316-35.1 -> 20200413-35.1
kernel-firmware-serial 20200316-35.1 -> 20200413-35.1
kernel-firmware-sound 20200316-35.1 -> 20200413-35.1
kernel-firmware-ti 20200316-35.1 -> 20200413-35.1
kernel-firmware-ueagle 20200316-35.1 -> 20200413-35.1
kernel-firmware-usb-network 20200316-35.1 -> 20200413-35.1
ucode-amd 20200316-35.1 -> 20200413-35.1
Ale updateujú sa mi obe veci
kernel-firmware-amdgp
aj
ucode-amd
pre
Creating initramfs image file '/boot/initrd-5.6.4-1.ge42da4f-defaul
17. 4. 2020, 09:59 editováno autorem komentáře