A Linux 6.18 kernelbe egy tesztelési mulasztás miatt került be egy hibás MIPS RISC-V gyártói azonosító, patchel javítják a hibát

Paul Walmsley, a RISC-V architektúra kernel alrendszerének fejlesztője beküldött egy javítócsomagot amely egy helyesbítéshez kapcsolódik, ami a MIPS processzorok RISC-V/JEDEC gyártói azonosítójának korrigálására irányul, mivel a MIPS korábban hibás azonosítót használt, ami nem tűnt fel a saját tesztjeikben, ugyanis a teszteléshez használt QEMU konfigurációban szintén ezzel a téves értékkel futott a teszt környezet. A MIPS csapata jelenleg az upstream QEMU verzió javításán munkálkodik, és mivel a problémára a 6.18-as kernel merge időablaka alatt derült fény, még a hivatalos kiadás előtt javítható. Walmsley nem hivatalos megbeszéléseket folytatott a MIPS szakembereivel, akik ígéretet tettek arra, hogy a továbbiakban FPGA bitstream-eken is elvégzik a tesztelést, ezzel előzve meg hasonló eseteket a jövőben.

A Linux 6.18 kernelbe egy tesztelési mulasztás miatt került be egy hibás MIPS RISC-V gyártói azonosító, patchel javítják a hibát

A frissítések tartalma

A frissítések három kulcsfontosságú commitből állnak, amelyek apró, ám lényeges változtatásokat vezetnek be. Chao-ying Fu módosítása frissíti a MIPS gyártói azonosítóját 0x127-re, ezzel garantálva a kernelbeli kompatibilitást és pontos azonosítást. Chen Pei munkája a CSR-definíciók összehangolását végzi a tools/riscv könyvtárban, hogy azok jobban illeszkedjenek a kernel header fájljaihoz, javítva ezzel a fejlesztői eszközök egységességét. Mayuresh Chitale optimalizálása pedig a rendszerleállítás folyamatát finomítja az SBI interfészen át, priorizálva az SRST shutdown eljárást a hagyományos legacy módszerekkel szemben, ami különösen előnyös olyan konfigurációkban, ahol a CONFIG_RISCV_SBI_V01 engedélyezve van, de a firmware nem kezeli a v0.1-es leállítási módot.

A módosítások technikai részletei

Ezek a módosítások érintik az arch/riscv/include/asm/vendorid_list.h, az arch/riscv/kernel/sbi.c, a drivers/perf/riscv_pmu_sbi.c és a tools/arch/riscv/include/asm/csr.h fájlokat, összesen tíz sor hozzáadásával és öt sor eltávolításával. A vmlinux binárisok mérete változatlan maradt a különféle beállításokban, legyen szó gcc vagy clang fordítókról, defconfig, nosmp_defconfig, rv32_defconfig vagy egyéb variánsokról, ami arra utal, hogy a frissítések nem okoznak számottevő többletterhelést.