"Cute embedded nonsense hacks"

Среди embedded-разработчиков прямо сейчас набирает популярность новый слоган:



Его появление связано со стандартизацией AArch64/ARM64, и история эта - поучительна и интересна.

Начавшаяся следующая стадия перехода AMD на ARM, это была не единственная новость на неделе. Компания ARM Ltd анонсировала Server Base System Architecture - референсную платформу дня 64-битных ARM-платформ (не микропроцессоров, а сразу целых платформ). Среди основных разработчиков стандарта был наш коллега Jon Masters. Мы уже рассказывали вам о вопиющих архитектурных недостатках 32-битных ARM-платформ, следствием которых является непомерно разбухшая директория arch/arm в исходниках ядра Linux (проверьте сами). Embedded-программистам, создающим нестандартные решения и живущим по принципу "срубить бабла на прототипе и откосить от техподдержки", нравится такая казацкая вольница, т.к. она позволяет быстро лепить готовые нестандартные изделия. Всего-то делов - скопировать одну из папок arch/arm/mach-* и/или arch/arm/plat-*, и готова новая ARM-система. Понятно, что в результате там получилось месиво из более-менее повторно используемого кода. Даже известный любитель положить на стандарты, лишь бы работало у юзера, Linus Torvalds, и тот тоже был очень недоволен, а однажды зло ругался на ARM-разработчиков как раз из-за этого. Прошло время, но ситуация не изменилась, и Торвальдсу пришлось ругаться снова. Эта практика создания кастомного ядра на каждый патчлевел архитектуры идет вразрез с требованиями Enterprise-вендоров, и появление стандартов стало неизбежным.

Cтандарт на AArch64 создан с оглядкой на опыт Intel и Microsoft, позволивший им создать предсказуемо работающую, легко расширяемую архитектуру (PC), и в нее включено много устоявшихся решений. Больше не нужно компилировать откопанный где-то на FTP-сервере в Тайване тарболл с форкнутым пару лет назад u-boot - теперь все будет работать с UEFI, ACPI, Secure Boot, и в дистрибутив будет достаточно включить единственный образ ядра, который будет работать на любой AArch64-архитектуре. Таков план, о котором нам рассказал Jon Masters, и больше никаких cute embedded nonsense hacks.

Любители форкнуть и скопипастить сильно обиделись. Мы их понимаем, ведь действительно - любой стандарт уменьшает свободу. Но мы не можем позволить и дальше плодить дикий зоопарк прикольных хаков, хотя им и нравится, и хочется.

Пусть лучше делают и носят прикольные майки, лишь бы не мешали развиваться стандартам.