rilascio del progetto , nell'ambito del quale si sviluppa un'alternativa libera ai firmware proprietari e BIOS. Nella creazione della nuova versione hanno partecipato 190 sviluppatori, che hanno preparato 2692 modifiche.
Principali :
- Aggiunta la compatibilità con 49 schede madri, la maggior parte delle quali utilizzate su dispositivi con Chrome OS. Rimosso il supporto per 51 schede madri. La rimozione riguarda principalmente la cessazione del supporto per schede obsolete e il lavoro per l'eliminazione dei duplicati di varianti simili di schede. Molte schede, che in precedenza erano presentate come modelli separati, sono state unite in set (variant), in cui un modulo copre l'intera famiglia di dispositivi. Tenendo conto della pulizia dei duplicati, nonostante il numero formale di schede rimosse superi quello di quelle aggiunte, l'elenco dell'hardware supportato è aumentato. Nel nuovo rilascio sono state apportate anche numerose modifiche relative al miglioramento del supporto per i dispositivi forniti con firmware OEM, inclusi quelli basati su Coreboot.
- Continuata la pulizia del codice sorgente. Note volumetriche sulle licenze negli header dei file sostituite con identificatori brevi . I nomi di tutti gli autori che hanno partecipato allo sviluppo sono raccolti nel file AUTHORS. Revisione degli header dei file per minimizzare il codice coperto durante la compilazione di ogni unità di compilazione.
- Driver per pen drive è stato dichiarato pronto per un'ampia applicazione. Il driver utilizza la modalità SMM (system management mode) per la scrittura, lettura e pulizia delle aree nella memoria flash e può essere utilizzato nei sistemi operativi o nei componenti del firmware per organizzare la memorizzazione permanente delle impostazioni, senza la necessità di implementare un driver specifico per ogni piattaforma.
- Espansi gli strumenti di unit testing, che sono integrati con il nuovo sistema di compilazione e migrati all'uso del framework Cmocka. Nella directory dei sorgenti per i test unitari è stata creata una cartella separata tests/.
- I componenti, il cui utilizzo è ora obbligatorio per i sistemi x86, includono RELOCATABLE_RAMSTAGE, POSTCAR_STAGE e C_ENVIRONMENT_BOOTBLOCK. RELOCATABLE_RAMSTAGE consente di spostare durante l'esecuzione in un'altra area di memoria, non sovrapposta alla memoria del sistema operativo o ai gestori payload (il trasferimento è necessario poiché ramstage è memorizzato nella cache in CBMEM per un avvio più veloce al risveglio dalla modalità standby). POSTCAR_STAGE è utilizzato per passare da CAR (Cache-As-Ram) all'esecuzione di codice da DRAM. C_ENVIRONMENT_BOOTBLOCK consente di utilizzare il bootblock compilato con un normale GCC, e non con un compilatore specializzato romcc.
- Il codice per il supporto delle piattaforme AMDFAM10, VIA VX900 e FSP1.0 (BROADWELL_DE, FSP_BAYTRAIL, RANGELEY) è stato rimosso dalla base di codice principale, poiché non soddisfa i nuovi requisiti. Ad esempio, in FSP1.0 non è possibile implementare la fase POSTCAR.
Fonte: opennet.ru
