A fost publicată versiunea 4.16 a proiectului CoreBoot, care dezvoltă o alternativă liberă la firmware-urile proprietare și BIOS. Codul proiectului este distribuit sub licența GPLv2. La crearea acestei versiuni au participat 170 de dezvoltatori, care au pregătit 1770 de modificări.
Noutăți principale:
- A fost adăugată suportul pentru 33 de plăci de bază, dintre care 22 sunt utilizate pe dispozitive cu Chrome OS sau pe servere Google. Printre plăcile care nu sunt legate de Google se numără:
- Acer Aspire VN7-572G
- AMD Chausie
- ASROCK H77 Pro4-M
- ASUS P8Z77-M
- Emulation QEMU power9
- Intel Alderlake-N RVP
- Prodrive Atlas
- Star Labs Star Labs StarBook Mk V (i3-1115G4 și i7-1165G7)
- System76 gaze16 3050, 3060 și 3060-b
- A fost oprit suportul pentru plăcile de bază Google Corsola, Nasher și Stryke.
- A fost adăugată suportul pentru CPU Power9 și SoC AMD Sabrina.
- A fost adăugată opțiunea de dezactivare a subsistemului IME (Intel Management Engine), care este furnizat pe majoritatea plăcilor de bază moderne cu procesoare Intel și este implementat ca un microprocesor separat, lucrând independent de CPU și îndeplinind sarcini care trebuie separate de sistemul de operare, cum ar fi procesarea conținutului protejat (DRM), implementarea modulelor TPM (Trusted Platform Module) și interfețele de nivel inferior pentru monitorizarea și gestionarea hardware-ului. Pentru a dezactiva IME în sistemele cu procesoare de la Skylake până la Alder Lake, în CMOS este implicat parametrul me_state, atribuirea valorii 1 acestuia va dezactiva motorul. A fost adăugat un metod „.enable” pentru a schimba starea CSME prin CMOS, starea căruia corespunde parametrului me_state.
- A fost adăugat coreboot-configurator, o interfață grafică simplă pentru modificarea setărilor CMOS în Coreboot CBFS, folosind utilitarul nvramtool.
- A fost adăugată utilitarul apcb_v3_edit pentru editarea fișierelor binare APCB V3 (AMD PSP Customization Block) și înlocuirea acestora cu până la 16 SPD (Serial Presence Detect).
- Au fost actualizate submodulele amd_blobs, arm-trusted-firmware, blobs, chromeec, intel-microcode, qc_blobs și vboot.
- În inițializarea MP a fost mutat codul pentru configurarea LAPIC (Local Advanced Programmable Interrupt Controller).
- A fost adăugat suport pentru secvențele de escape ANSI pentru evidențierea evenimentelor importante, cum ar fi erorile și avertizările, la ieșirea jurnalelor în consola interactivă.
- A fost implementată funcția cbmem_dump_console, similară cu cbmem_dump_console_to_uart, dar funcționând cu console configurate în mod obișnuit.
- Setările Live-image au fost adaptate pentru a funcționa cu distribuția NixOS 21.11. A fost oprit suportul pentru pachetul iasl, care a fost înlocuit cu acpica-tools.
- Bootloader-ul U-Boot a fost actualizat la versiunea 2021.10.
- A fost adăugat suport pentru sisteme care includ mai mult de 128 de nuclee CPU.
- A fost adăugat driver pentru senzorii de proximitate Semtech sx9360 SAR, folosiți în dispozitivele Samsung.
- A fost adăugat driver pentru controlerele SD SGenesys Logic GL9750, utilizate în Chromebook.
- A fost adăugat suport pentru controlerele Ethernet Realtek RT8125.
- A fost adăugat driver pentru Fibocom 5G WWAN ACPI.
- A fost adăugat suport pentru topologii de memorie mixte când se utilizează DDR4.
- A fost adădat suport pentru specificația FSP 2.3 (Flexible Software Package).
- Codul pentru calcularea hash-urilor utilizate în verificare și evaluarea stării CBFS a fost refăcut.
- A fost adădat suport pentru tehnologia PCI-e Resizable BAR (Base Address Registers), permițând CPU-ului să acceseze toată memoria video a plăcii PCI.
În plus, a fost prezentat planul de tranziție începând cu versiunea 4.18 la a patra ediție a mecanismului de alocare a resurselor (RESOURCE_ALLOCATOR_V4), în care a fost adăugat suport pentru manipularea mai multor domenii de resurse, utilizarea întregului spațiu de adresare și alocarea de memorie în zona de peste 4 GB. În versiunea Coreboot 4.18, așteptată în noiembrie, se preconizează de asemenea anunțarea ca fiind învechit mecanismul de inițializare clasic al modulului multiprocesor (LEGACY_SMP_INIT), înlocuit cu codul de inițializare PARALLEL_MP.
Sursa: opennet.ro
