# Usunięcie wsparcia dla i486 z jądra Linux: patche Molnára i kontekst historyczny
Ingo Molnár, opiekun architektury x86 w jądrze Linux, przygotował patche do całkowitego usunięcia opcji CONFIG_M486, CONFIG_M486SX i CONFIG_MELAN. Pozwoli to wykluczyć wsparcie dla procesorów 486DX, 486SX i AMD ELAN z nowoczesnych kompilacji jądra.
Techniczne konsekwencje usunięcia
Wsparcie dla i486 wymaga emulacji kluczowych instrukcji: CX8 (cmpxchg8b dla operacji atomowych na 64 bitach) i TSC (Time Stamp Counter dla planisty zadań). Taki kod zwiększa złożoność jądra, utrudnia debugowanie i okresowo powoduje błędy.
Usunięcie tych warstw pozwoli skrócić kod o 14 104 linie. W szczególności:
- Znikną emulatory CX8 i TSC.
- Zniknie biblioteka math-emu dla FPU w 486SX.
To zoptymalizuje podsystemy planisty i blokad, zmniejszając obciążenie deweloperów.
Uwaga: Żaden duży dystrybutor nie dostarcza świeżych jąder z opcją M486=y. Aktualne gałęzie Linux na 32-bitowych i486 są praktycznie nieużywane.
Pozycja Linusa Torvaldsa
Linus Torvalds wielokrotnie poruszał ten temat. W 2022 roku zauważył, że emulacja cmpxchg8b na i486 jest bezsensowna: instrukcja jest dostępna na Pentium i wszystkich x86-64. Torvalds zaproponował przejście na gałęzie LTS dla systemów legacy.
Wcześniej, w 2012 roku, usunięto wsparcie dla i386. 13 lat temu Torvalds proponował usunąć math-emu, ale społeczność powstrzymała się z powodu klonów 486SX wciąż w produkcji. Obecnie konsensus się zmienił.
Kompatybilność z systemami wbudowanymi
Specjalistyczne chipy jak Intel Quark (oparte na i486) obsługują CX8 i TSC natywnie — patche ich nie dotkną. Oryginalne i486 działają ze starszymi dystrybucjami i starymi jądrami.
Nowoczesne 32-bitowe dystrybucje używają X86_PAE, wymagającego CX8. Wsparcie dla czystego 32-bitowego x86 jest minimalne.
- Zalety usunięcia:
1. Skrócenie kodu o ponad 14 tys. linii.
2. Uproszczenie planisty i blokad.
3. Mniej błędów od emulacji.
4. Skupienie na relewantnych architekturach.
Co ważne
- Patche Molnára usuwają CONFIG_M486*, emulatory CX8/TSC i math-emu — minus 14 104 linie kodu.
- i486 nie są używane z nowoczesnymi jądrami; dystrybucje przeszły na PAE lub 64-bit.
- Torvalds popiera: emulacja cmpxchg8b jest przestarzała, używajcie LTS dla legacy.
- Wbudowane Quark nie są dotknięte — mają natywny CX8/TSC.
Całkowita objętość zmian uczyni jądro czystsze dla deweloperów middle/senior pracujących z x86.
— Editorial Team
Brak komentarzy.