tgoop.com/linux_gram/8657
Last Update:
Ядро Linux 6.15 Готовит Прощание с i486 и Ранними 586
В грядущем ядре Linux 6.15 (релиз ожидается в конце мая / начале июня) произойдет знаковое событие: прекращается поддержка процессоров Intel i486 и их современников. Это первое крупное "выпиливание" целого семейства CPU со времен отказа от i386 в далеком 2012 году.
Патч от ветерана разработки ядра Инго Мольнара (Ingo Molnar) удаляет почти 15 000 строк кода. Ключевое изменение: теперь для запуска ядра 6.15 и выше x86-32 процессоры должны аппаратно поддерживать Timer Stamp Counter (TSC) и инструкцию `CMPXCHG8B`. Последняя печально известна по F00F багу на оригинальных Pentium P5 (1993 г.), который приводил к полному зависанию процессора (байт-последовательность 0xF00FC7C8
). Хотя баг был исправлен в последующих ревизиях кремния и митигирован на уровне ОС, само требование наличия CMPXCHG8B
отсекает процессоры старше "настоящих" Pentium.
Под нож идут: семейство Intel i486, ранние 586-е (например, IDT WinChip, AMD Elan), а также чипы, маркировавшиеся как "485slc" (по сути, 386SX с добавленными инструкциями от 486). Важное следствие: это убирает поддержку последних x86-процессоров без встроенного аппаратного сопроцессора (FPU). Соответственно, ядро избавляется от кода для программной эмуляции FPU, что и составляет большую часть удаленных строк (остальное – тоже более 1000 строк).
Ирония в том, что всего несколько месяцев назад NetBSD 10, наоборот, добавила эмуляцию x86 FPU. Линус Торвальдс предлагал избавиться от поддержки i486 еще в 2022 году, но тогда сообщество проголосовало против. Теперь время пришло.
😢 – Эх, уходит эпоха...
Linux / Линукс