
Разработчики представили обновление эмулятора архитектуры Эльбрус, известного как qemu-e2k, до версии 1.2. В новой сборке был актуализирован перечень неподдерживаемых операций и внесены важные технические корректировки.
Проект qemu-e2k предоставляет возможность запускать прикладные Linux-приложения, скомпилированные для архитектуры Эльбрус (e2k), на обычных компьютерах с архитектурой x86–64. Новая версия базируется на программном коде, соответствующем срезу версии 11.0.1 из основного репозитория QEMU.
Совместимость и возможности
Релиз 1.2 поддерживает запуск программ, собранных под версии системы команд от elbrus-v2 до elbrus-v6 включительно. По умолчанию эмулятор настроен на работу с архитектурой elbrus-v6.
Ключевые ограничения текущей версии
Несмотря на прогресс в разработке, версия 1.2 сохраняет ряд функциональных ограничений:
- Поддержка разрядности: Эмулятор корректно работает только с 64-битными приложениями. 32-битные программы и софт, собранный в режиме «безопасных вычислений», не поддерживаются.
- Многопоточность: По умолчанию исполнение потоков в приложении сериализуется. Эмулятор видит количество ядер хост-системы, что может создавать конфликты. В качестве обходного пути рекомендуется использовать утилиту taskset для ограничения ядер или активировать опцию
-e2k-opt maxopt, parдля включения параллельного исполнения. - Работа с сигналами: Система имеет несколько недоработок:
- Аппаратные исключения приводят к принудительному завершению процесса (SIGKILL).
- Не реализовано заполнение структуры ucontext для расширенных обработчиков сигналов.
- Отсутствует поддержка работы обработчиков на альтернативном стеке (флаг SA_ONSTACK игнорируется).
- Отладка и расширения: Взаимодействие с отладчиком GDB ограничено режимом чтения состояния гостевой системы (изменение состояния пока находится в разработке). Также в текущем релизе полностью отсутствует поддержка плагинов и ряда редких инструкций, которые не встречаются в большинстве распространенных приложений.






