Lansering av Linux-kÀrnan 6.19. Den nÀsta kÀrnan kommer att fÄ nummer 7.0

Efter tvÄ mÄnaders utveckling presenterade Linus Torvalds lanseringen av Linux-kÀrnan 6.19. Bland de mest framtrÀdande förÀndringarna: Live Update Orchestrator-systemet, stöd för PCIe Link Encryption, systemanropet listns, Zero-Copy Receive-lÀget i io_uring, stöd för ARM-tillÀgget MPAM, klp-build för att generera livpatcher, stöd för LoongArch32-arkitekturen, QoS för s2idle, optimering av auditsystemet, Intel LASS för att skydda mot Spectre, stöd för hash-algoritmerna SHA-3 och BLAKE2b, Confidential VMBus-mekanismen, TX-optimeringar i nÀtverksystemet, CAN XL-protokollet, API för hÄrdvaruaccelererad HDR-utmatning.

I tillkÀnnagivandet av den nya versionen meddelade Linus att nÀsta utgÄva av kÀrnan kommer att fÄ nummer 7.0, eftersom det har samlats tillrÀckligt med utgÄvor i 6.x-grenen för att byta det första numret i versionsnumret (den första versionen 6.0 skapades strax efter 5.19). Bytet av numrering sker av estetiska skÀl och Àr ett formellt steg för att avlÀgsna obehag över det stora antalet utgÄvor i serien. Linus skÀmtade om att stora siffror förvirrar honom, eftersom han inte har tillrÀckligt med fingrar pÄ hÀnder och fötter. Samtidigt finns det formellt en anledning för en betydande Àndring av versionsnumret, eftersom stödet för Rust, som börjar med nÀsta version, har beslutats att överföras frÄn experimentella funktioner till kÀrnans huvudfunktioner.

Den nya versionen omfattar 15657 korrigeringar frÄn 2237 utvecklare, patchstorleken Àr 52 MB (Àndringarna har pÄverkat 13682 filer, 794649 rader kod har lagts till, 335498 rader har tagits bort). I den föregÄende versionen fanns 15035 korrigeringar frÄn 2217 utvecklare, patchstorleken var 45 MB. Cirka 40 % av alla förÀndringar i 6.19 relaterar till hÄrdvarudrivrutiner, cirka 13 % av förÀndringarna Àr relaterade till uppdatering av kod specifik för hÄrdvaruarkitekturer, 12 % pÄverkar nÀtverksstacken, 5 % handlar om filsystem och 3 % om interna subsystem i kÀrnan.

De viktigaste nyheterna i kÀrnan 6.19 (1, 2, 3):

  • Disksubsystem, in- och utmatning och filsystem
    • I Btrfs blockerar inte lĂ€ngre FS-kontrollprocesserna (scrub) och enhetsbyte systemets övergĂ„ng till vilolĂ€ge (vid vilolĂ€ge sparas status för scrub-kontrollen; efter att systemet vaknat fortsĂ€tter scrub-kontrollen och enhetsbytesoperationen startas om). Stödet för blockstorlekar som överstiger minnespage-storleken har lagts till implementeringen av RAID56. Förberedelser för stöd för fscrypt har genomförts. Prestandan har förbĂ€ttrats vid operationer relaterade till utrymmesreserv. Stödet för ioctl-operationen "shutdown" har lagts till, vilket gör att FS kan övergĂ„ till ett tillstĂ„nd dĂ€r försök görs att avsluta redan pĂ„gĂ„ende operationer, men dĂ€r alla nya operationer blockeras.
    • I filsystemet Ext4 har stöd för blockstorlekar som överstiger minnespage-storleken (>4KB pĂ„ x86-system) införts. AnvĂ€ndningen av stora block möjliggör en förbĂ€ttring av prestandan för buffrade skrivoperationer med i genomsnitt 50%, men minskar prestandan för direkt I/O pĂ„ grund av ökad tid för kontrollsummeberĂ€kning. Den nya versionen inkluderar ocksĂ„ optimeringar som ökar genomströmningen vid online-defragmentering.
    • I FUSE-subsystemet har stödet för buffrat lĂ€sande med stora minnesfollan (large folios) förbĂ€ttrats. Genom iomap har möjligheten att spĂ„ra delvis aktuella follan implementerats för att bara ladda data som saknas i bufferten.
    • I VFS har stöd för Ă„terkallbar katalogdelegering (recallable directory delegation) lagts till, vilket möjliggör överföring av katalogkontroll frĂ„n servern klienten, sĂ„ att NFS-klienten kan spĂ„ra tillstĂ„ndet för katalogen baserat pĂ„ lokal cache utan kontakter med NFS-servern. Om en annan NFS-klient gör Ă€ndringar relaterade till denna katalog, kommer delegationen att Ă„terkallas frĂ„n den första klienten.
    • För NFS har stöd för lĂ€sning i direkt I/O-lĂ€ge lagts till. InstĂ€llningarna /sys/kernel/debug/nfsd/io_cache_read och /sys/kernel/debug/nfsd/io_cache_write har implementerats för att hantera aktiveringen av caching och direkt I/O-operationer, vilket möjliggör manövrera med dessa instĂ€llningar för att minska overheaden pĂ„ NFS-klientsidan vid stora in- och utmatningsoperationer.
    • I NTFS har stöd för ioctl-operationen shutdown implementerats, standardalternativen för montering "acl" och "prealloc" har aktiverats, och stöd har lagts till för tid före den 1 januari 1970.
    • För blockenheter och filsystem har separerat caching för varje CPU av objekten "bio" (Block I/O), som definierar aktiva in- och utmatningsoperationer, aktiverats som standard.
  • Minne och systemtjĂ€nster
    • KĂ€rnan har fĂ„tt subsystemet Live Update Orchestrator (LUO), som möjliggör fullstĂ€ndig omstart och uppdatering av kĂ€rnan utan att stoppa arbetet och utan att förlora systemets, enheternas och processernas tillstĂ„nd. LUO-subsystemet bygger pĂ„ den tidigare tillagda mekanismen KHO (Kexec HandOver) i kĂ€rnan och löser, utöver möjligheten att starta en ny kĂ€rna frĂ„n en gammal utan att förlora systemets tillstĂ„nd, sĂ„dana uppgifter som att spara tillstĂ„ndet för enheter och RAM-minne samt att sĂ€kerstĂ€lla kontinuiteten i operationer relaterade till DMA och avbrottshantering. TillstĂ„ndet sparas fram till vĂ€xlingen till den nya kĂ€rnan och Ă„terstĂ€lls efter aktiveringen av den nya kĂ€rnan utan att störa kontinuerliga operationer med enheter som genomförs av systemet och applikationerna i anvĂ€ndarrummet.
    • Ett systemanrop listns() har lagts till för att visa en lista över existerande namnrymder i systemet utan behov av att gĂ„ igenom /proc//ns/ för varje process.
    • I det asynkrona in- och utmatningssystemet io_uring har stöd för att placera element av olika storlekar i kö för inlĂ€mning (SQE, Submission Queue Entry) lagts till, i likhet med hur det i förra versionen tillĂ€ts att blanda storlekar pĂ„ innehĂ„llet i resultatkön (CQE, Completion Queue Event). Tidigare var alla element i kön tvungna att ha samma storlek, vilket ledde till överdriven minnesanvĂ€ndning pĂ„ grund av nödvĂ€ndigheten att anvĂ€nda den maximala storleken för alla element i kön.

      I io_uring har ocksÄ lagt till stöd för zcrx (Zero-Copy Receive) mekanismen för att ta emot data utan kopiering mellan kÀrnan och anvÀndarens utrymme. Stöd för minneslayoutfrÄgor för SQ (Submission Queue) och CQ (Completion Queue) har lagts till, vilket gör det möjligt att fÄ information om storleken pÄ ringbufferten, nödvÀndig vid anvÀndarallokering av minne med hjÀlp av flaggorna IORING_SETUP_NO_MMAP och IORING_MEM_REGION_TYPE_USER.

    • För snabb spĂ„rning av stacken med hjĂ€lp av verktyg som perf har stöd för SFrame-formatet lagts till, med information om uppflĂ€tningsstacken (unwind). SFrame stöds redan i GCC och binutils, med minimal pĂ„verkan pĂ„ prestandan och, till skillnad frĂ„n DWARF-formatet, innehĂ„ller endast den minimala uppsĂ€ttning information som krĂ€vs för stackspĂ„rning.
    • Stöd har lagts till i perf-verktyget för en enhetlig beskrivning av mĂ€tvĂ€rden och hĂ€ndelser i JSON-format, samt för uppskjuten uppflĂ€tning (deferred unwinding) av stacken i anvĂ€ndarens utrymme.
    • För AMD-processorer har en mekanism för datainmatning i cachen implementerats, vilket gör att in- och utmatningsenheter kan sĂ€tta in data direkt i CPU:ns L3-cache utan att först placera dem i RAM.
    • Stöd för MPAM (Memory System Resource Partitioning and Monitoring) har lagts till, en tillĂ€gg till ARMv8-A instruktionens arkitektur som gör det möjligt att mĂ€rka varje minnesĂ„tkomst med en sektionsidentifierare (PARTID, Partition ID) och en övervakningsgruppsidentifierare (PMG, Monitoring Group ID). I förhĂ„llande till PARTID kan resursanvĂ€ndning som minnesbandbredd eller cachestorlek begrĂ€nsas sĂ„ att en uppsĂ€ttning uppgifter inte tar all resurs. I övervakningssammanhang kan kombinationen av PMG och PARTID anvĂ€ndas för att spĂ„ra minnesresursanvĂ€ndning under sĂ€rskilda typer av belastning.
    • Vid en felaktig avslutning av en process efter att ha mottagit en signal kan en annan process, som har pidfd för den avslutade processen, nu avgöra vilket signalnummer som ledde till processens avslutning.
    • Implementeringen av omstartbara sekvenser (restartable sequences) har omarbetats, vilket gör att applikationer kan organisera en pseudo-atomĂ€r oavbruten utförande av en grupp instruktioner (om en annan trĂ„d avbryter, görs ett nytt försök att utföra sekvensen). Den nya implementationen kĂ€nnetecknas av en mer hög prestanda.
    • För BPF-program har instruktionerna BPF_JMP, BPF_X och BPF_JA implementerats för att utföra indirekta hopp till en viss position i övergĂ„ngstabellen. Konceptet dynamiska pekare (dynptr) har lagts till, vilket gör det möjligt att lĂ€sa data frĂ„n strukturerade filer. Möjligheten att fĂ€sta flera byte med metadata till nĂ€tverkspaket har lagts till.
    • Python-moduler som anvĂ€nds för att behandla dokumentation för kĂ€rnan har flyttats till en separat katalog tools/lib/python.
    • Funktionen mempool_alloc_bulk() har lagts till för sĂ€ker allokering av element frĂ„n minnespoolen för flera objekt pĂ„ en gĂ„ng.
    • Överföringen av Ă€ndringar frĂ„n Rust-for-Linux-grenen har fortsatt, relaterade till anvĂ€ndningen av Rust som ett andra sprĂ„k för utveckling av drivrutiner och kĂ€rnmoduler (Rust-stöd Ă€r inte aktiverat som standard och krĂ€ver inte att Rust ingĂ„r bland de obligatoriska byggberoendena för kĂ€rnan). I den nya versionen har biblioteket "syn" med en Rust-kodparser lagts in i kĂ€rnan, vilket förenklar skrivandet av avancerade makron. Möjligheterna för biblioteken kernel, pin-init och rbtree har utökats. Biblioteket 'num' med typ Integer för hantering av heltal har lagts till. Stödet för heltalsparametrar har lagts till i makrot "module!". Möjligheten att ange parametrar vid inlĂ€sning av kĂ€rnmoduler skrivna i Rust har implementerats. Abstraktioner för I2C- och PWM (Pulse Width Modulation) subsystemen har genomförts.
    • Makrot "at_least" har lagts till (till exempel, "param[at_least 7]", som anger den minimi tillĂ„tna storleken pĂ„ arrayen som skickas till funktionen. Om en array med fĂ€rre element skickas till funktionen kommer kompilatorn att avge en varning.
    • Ett skript kallat klp-build har lagts till för att generera kĂ€rnmoduler som gör Ă€ndringar i den körande kĂ€rnan (livepatch) baserat pĂ„ en patchfil. Ändringar har gjorts i verktyget objtool för att möjliggöra skapande av live-patchar.
    • I User-mode Linux (kör kĂ€rnan som en anvĂ€ndarprocess) har ett begrĂ€nsat stöd för flertrĂ„dighet lagts till, men trĂ„dar inom en och samma process kan fortfarande inte köras samtidigt. Portningen av User-mode Linux till biblioteket nolibc har pĂ„börjats.
    • Stödet för arkitekturen LoongArch32 (LA32R, LA32S) har lagts till utöver LoongArch64.
    • Möjligheten att stĂ€lla in QoS-grĂ€nser för processorers vĂ€ckningsintensitet i energisparlĂ€ge s2idle (Suspend-To-Idle) har lagts till, vilket fryser körningen av processer i anvĂ€ndarrummet men hĂ„ller vissa kĂ€rnhandlĂ€ggare aktiva.
    • Stöd för hantering av minnessidan för IOMMU (Input-Output Memory Management Unit) kontroller har lagts till, vilket utför översĂ€ttning av virtuella adresser som Ă€r synliga för hĂ„rdvaran till fysiska adresser, med möjlighet att filtrera DMA-operationer baserat pĂ„ virtuella adresser samt begrĂ€nsa och isolera I/O-operationer.
    • I hĂ€ndelser av spĂ„rning av systemanrop har möjligheten att lĂ€sa buffertar frĂ„n anvĂ€ndarutrymmet och inkludera deras innehĂ„ll (till exempel filnamn) i resultaten av spĂ„rningen implementerats.
    • Vaktminnessidor (guard page), dĂ€r Ă„tkomst orsakar ett undantag och en avbrott av processen (SIGSEGV), markeras nu med en speciell etikett i filen /proc/PID/smaps.
    • Möjligheten att hantera stora minnessidor (transparent huge page) i privat minne för zonerade enheter har lagts till.
    • I zram-enheten, som anvĂ€nds för komprimerad lagring av byteswapdatalagringsutrymme i minnet, har stöd för utsĂ€ttning av flera 'bio' (Block I/O) strukturer i batchlĂ€ge (writeback batching) implementerats.
    • Typografin "Terminus 10×18" har lagts till, vilket förbĂ€ttrar lĂ€sbarheten av information frĂ„n konsolen pĂ„ bĂ€rbara skĂ€rmar med medelhög upplösning (1440×900).
    • Arbetet i auditsubsystemet har optimerats betydligt — en halvering av overheadnoteringen noteras.
  • Virtualisering och sĂ€kerhet
    • Stöd har lagts till för den funktion som tillhandahĂ„lls av Intel-processorer för separation av linjĂ€rt adressutrymme (LASS, linear address-space separation), vilket möjliggör att hĂ„rdvaran separerar adresseringsomrĂ„den för anvĂ€ndarrummet och kĂ€rnan för att öka sĂ€kerheten. Adressutrymmet separeras baserat pĂ„ den mest signifikanta biten av adressen — hĂ€lften av adressutrymmet med den mest signifikanta biten satt anvĂ€nds för kĂ€rnan, medan den nedre delen anvĂ€nds för anvĂ€ndarrummet. I ett tidigt skede av instruktionernas utförande (före spekulativ utförande) genomförs en kontroll för att avgöra om anvĂ€ndarrummet har tillĂ„telse att komma Ă„t adresser med den mest signifikanta biten, och vice versa. Denna typ av separation gör det möjligt att blockera kĂ€rnminneslĂ€ckor till anvĂ€ndarrummet via sidokanaler Ă€ven vid spekulativ utförande av instruktioner, vilket ger möjlighet att anvĂ€nda LASS för att skydda mot angripare av typen Meltdown och Spectre, utan stora resurskostnader.
    • En funktion för att aktivera sĂ€kerhetsförstĂ€rkande tillĂ€gg för PCI Express-bussen har lagts till — PCIe Link Encryption och PCIe Device Authentication, som gör det möjligt att bekrĂ€fta Ă€ktheten och kryptera kommunikationskanalen mellan PCIe-enheten och den virtuella maskinen, som skyddas genom Intel TDX (Trusted Domain Extensions) och AMD SEV-SNP (Secure Nested Paging). De implementerade teknologierna förhindrar att data i DMA-trafik fĂ„ngas, analyseras och manipuleras vid tillgĂ„ng till vĂ€rdsystemet eller andra enheter.
    • Den inbyggda kryptografiska biblioteken har lagts till med stöd för algoritmerna SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512) SHAKE128, SHAKE256 och BLAKE2b.
    • För LSM-moduler (Linux Security Modules) och sĂ€rskilt för SELinux har möjligheten att spĂ„ra skapandet av memfd-deskriptorer implementerats för att tillĂ€mpa sĂ€kerhetspolicyer pĂ„ relaterade objekt.
    • I LSM-modulen IPE (Integrity Policy Enforcement), som definierar den generella integritetspolicyn för hela systemet, har stöd för flaggan AT_EXECVE_CHECK lagts till i funktionen execveat(), vilket inkluderar en integritetskontroll av skriptet innan det körs av en tolk.
    • Primitiverna scoped_user_read_access(), scoped_user_write_access och scoped_user_rw_access() har lagts till för begrĂ€nsad tillgĂ„ng till data i anvĂ€ndarrummet med skydd mot spekulativa attacker.
    • Stöd för Confidential VMBus-mekanismen har lagts till, som anvĂ€nds i HyperV-hypervisorn för att möjliggöra en skyddad interaktion mellan gĂ€stsystemet som körs i konfidentiellt lĂ€ge (med minneskryptering och registerisolering baserat pĂ„ AMD SNP- och Intel TDX-teknologier) och paravisorn som ansvarar för Ă„tkomst till enheter som behandlar konfidentiella uppgifter.
    • Möjligheten att överföra information om processer som har avbrutits (för att generera coredump) via pidfd-mekanismen har lagts till. PIDFD-identifieraren kopplas till en specifik process och Ă€ndras inte, medan PID kan kopplas till en annan process efter att den aktuella processen har avslutats, som Ă€r kopplad till denna PID. AnvĂ€ndningen av pidfd gör det möjligt att förhindra attacker som byter ut en avbruten suid-process mot en annan process och uppnĂ„ ett kapplĂ€get direkt efter att kĂ€rnan har börjat bearbeta avbrottet, men innan kontrollen av hanteraren i anvĂ€ndarutrymmet av processparametrarna.
  • NĂ€tverkssystemet
    • NĂ€tverksunderstöd har optimerats för att förbĂ€ttra effektiviteten i datatransmission (TX). Att avlĂ€gsna spin-lĂ„sningen frĂ„n funktionen __dev_queue_xmit() och istĂ€llet anvĂ€nda den lĂ„sfria strukturen llist har gjort det möjligt att fyrdubbla prestandan under hög belastning och dubbla paketutsĂ€ndningsintensiteten vid minskad CPU-belastning.
    • Möjligheten att inaktivera systemgrĂ€nser för minnesanvĂ€ndning har lagts till för specifika nĂ€tverkssocketar (i sĂ„ fall kommer gemensamma minnesgrĂ€nser som anges för separata containrar att anvĂ€ndas). För att hantera avstĂ€ngning av begrĂ€nsningar föreslĂ„s sysctl net.core.bypass_prot_mem och flaggan SK_BPF_BYPASS_PROT_MEM i funktionen bpf_setsockopt.
    • Stöd för RFC 5837-tillĂ€gget har lagts till, som lĂ€gger till information om inkommande nĂ€tverksgrĂ€nssnitt i ICMP-meddelanden "Time Exceeded" som returneras vid utgĂ„ng av livstid (TTL) för paket, vilket ger mer detaljerad information vid spĂ„rning av rutter med traceroute-verktyget.
    • Stöd för kontinuerlig aktiv polling (busy polling) i en separat kĂ€rntrĂ„d har lagts till för att extrahera deskriptorer frĂ„n RX/TX-köer för applikationer som krĂ€ver minimala fördröjningar.
    • Stöd för protokollet CAN XL (Controller Area Network eXtended Length) har lagts till, dĂ€r storleken pĂ„ datarutorna har ökat till 2048 byte för att möjliggöra integration med TCP/IP-nĂ€tverk, och möjligheten till tunneling av Ethernet-ramar har implementerats, och stöd för pulsbred-modulering har lagts till, vilket gör det möjligt att överföra data med hastigheter om 20 Mbit/s och högre.
    • Stöd för strukturen sockaddr_unsized har lagts till, en variant av strukturen sockaddr som anvĂ€nder en array med flexibla element istĂ€llet för en array av fast storlek (sa_data[] istĂ€llet för sa_data[14], vilket i grunden anvĂ€ndes för att referera till andra strukturer av större storlek).
    • Möjligheten att anvĂ€nda funktionerna getsockname och getpeername genom io_uring-systemet har lagts till.
    • Sysctl net.ipv4.tcp_rcvbuf_low_rtt och net.ipv4.tcp_comp_sack_rtt_percent har lagts till för att optimera TCP.
    • Stöd för lĂ€nkar med en kapacitet pĂ„ 1600 Gbps (1.6T) har lagts till.
  • Utrustning
    • Ett API har lagts till i DRM-subsystemet (Direct Rendering Manager) för att utnyttja hĂ„rdvarufunktioner för fĂ€rgkonvertering, vilket gör att sĂ„dana konverteringar kan utföras utan att anvĂ€nda shaders eller köra kod pĂ„ CPU. För att visa innehĂ„ll pĂ„ HDR-monitorer kan komplexa fĂ€rgkonverteringar nu utföras av displaykontrollen vid skedet innan och efter lagerblandning, istĂ€llet för programvarubaserad kompositing av innehĂ„llet i den slutliga visningsbufferten. Förutom att minska overhead och energiförbrukning vid HDR-Ă„tergivning, kan den föreslagna funktionen anvĂ€ndas för korrekt fĂ€rgĂ„tergivning i videoredigerare eller bildredigerare.
    • Drivern 'ethosu' för NPU Arm Ethos U65 och U85, avsedda för hĂ„rdvaruaccelerering av körning av AI-modeller, har lagts till.
    • I i915-drivrutinen för GPU Lunar Lake och nyare har stöd för hĂ„rdvaruökning av bildskĂ€rpa (Sharpening) lagts till.
    • Arbetet med drm-drivern (Direct Rendering Manager) Xe för GPU:er baserade pĂ„ Intel Xe-arkitekturen, som anvĂ€nds i Intel:s Arc-grafikkort och integrerad grafik med början frĂ„n Tiger Lake-processorerna, har fortsatt. Inledande stöd för Xe3P-arkitekturen, som anvĂ€nds i GPU Crescent Island och familjen av processorer med integrerad grafik Nova Lake, har lagts till.
    • Drivrutinen AMDGPU har fullstĂ€ndig support för AMD:s grafikkort i GCN-familjen 1.0 "Southern Island" och 1.1 "Sea Islands", som tidigare anvĂ€nde Radeon-drivrutinen. Drivrutinen AMDGPU har nĂ„tt paritet med Radeon-drivrutinen och aktiverats för de angivna GPU:erna som standard. GCN 1.x-kort producerades mellan 2012 och 2019 och omfattar modeller som Radeon HD 77xx/78xx/79xx/87xx/88xx/89xx, Radeon R9 280, FirePro W4000-W9000, Radeon Sky 700/900, Radeon R9 265/270/370, Radeon R9 290/390, HD 7790/8870 samt andra grafikkort frĂ„n Radeon Rx 200/Rx 300-familjerna. Förutom en genomsnittlig prestandaökning pĂ„ 24% har övergĂ„ngen till AMDGPU möjliggjort stöd för grafiskt API Vulkan 1.3 för dessa GPU:er. Dessutom har stöd för analoga kontakter och Video Coding Engine 1.0 lagts till i AMDGPU, och DC-stacken (Display Core) har aktiverats som standard för GPU:er baserade pĂ„ mikroarkitekturen Bonaire (Radeon HD 7700).
    • I drivrutinen Nouveau har stöd för hĂ„rdvaruacceleratorn NVJPG, som finns i SoC Tegra210, införts.
    • I drivrutinen Panthor har stöd för GPU Mali-G1 lagts till samt grundlĂ€ggande stöd för chippet MediaTek MT8196.
    • Stöd för ljudsystemet i Intel Nova Lake S-chips, bĂ€rbara HP-datorer med HDA CS35L41, samt ljudgrĂ€nssnitten CIX IPBLOQ HD och Onkyo SE-300PCIE har tillkommit.
    • Integrationen av komponenter i Nova-drivrutinen för NVIDIA GPU:er, som Ă€r utrustade med GSP-firmware som anvĂ€nds frĂ„n NVIDIA GeForce RTX 2000-serien baserad pĂ„ mikroarkitekturen Turing, har fortsatt. Drivrutinen Ă€r skriven i Rust. I den nya versionen har arbetet pĂ„ RPC inletts och implementeringen av GSP (GPU System Processor) har slutförts.
    • Stöd för ARM-plattformar, SoC och enheter har lagts till: Bananapi r4 pro, LinkEase EasePi R1, Qualcomm MSM8937 (Snapdragon 430), Renesas R-Car X5H, FriendlyElec NanoPi R76S, TI AM62L, Black Sesame Technologies C1200, Aspeed AST2600, Genio 1200 EVK, grinn geniosbc-510/700, Tanix TX9 Pro, Radxa Dragon Q6A, Tinker Board 3/3S, Aquila AM69, phyBOARD-Segin-i.MX91, i.MX 95 Verdin Evaluering Kit, Toradex SMARC iMX95, VIDIA Jetson Nano 2GB, Renesas rz/g3s, Indiedroid Nova, 24 olika varianter av Enclustra Mercury-kort.
    • Stöd har lagts till för smartphones och surfplattor baserade pĂ„ SoC Mediatek MT6582 (Alcatel yarisxl), Nvidia Tegra124 (Xiaomi Mi Pad) och Qualcomm MSM8939 (ASUS ZenFone 2). Stöd för laptops baserade pĂ„ SoC Qualcomm sdm850, sĂ„som Huawei MateBook E 2019, har lagts till.
    • Stöd för SoC och kort baserade pĂ„ RISC-V-arkitekturen har lagts till: OrangePi R2S, OrangePi RV, Anlogic dr1v90, Tenstorrent Blackhole.

Samtidigt har den latinamerikanska stiftelsen för fri programvara skapat en helt fri kĂ€rnvariant 6.19 — Linux-libre 6.19-gnu, som Ă€r rensad frĂ„n firmware och drivrutiner som innehĂ„ller icke-fria komponenter eller kodavsnitt vars anvĂ€ndningsomrĂ„de Ă€r begrĂ€nsat av tillverkaren. I version 6.19 har koden för att ladda binĂ€r firmware tagits bort frĂ„n SDCA-ljudsystemet. Kod för att rensa blobbar i drivrutinerna Intel XE, Nova-Core, Qualcomm Iris, Venus och Q6V5, TI PRUeth, Intel iwlwifi, Marvell mwifiex, FourSemi fs210x, Realtek rt1320 och ljudkodarna TI tas2783 har uppdaterats. Rengöring av blob-namn i dts-filer (devicetree) för ARM-chip har genomförts. Rengöringen av drivrutinen STM C8SECTPFE DVB, som tagits bort frĂ„n kĂ€rnan, har avbrutits.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster