Домой Новости Железо Обновился эмулятор архитектуры Эльбрус на основе QEMU

Обновился эмулятор архитектуры Эльбрус на основе QEMU

Релиз 1.2 приносит поддержку систем команд до elbrus-v6, но сохраняет ограничения для 32-битных приложений и многопоточности.

3
0
Интерфейс эмулятора qemu-e2k
Запуск эмулятора Эльбрус на Linux Источник: linux.org.ru

Разработчики представили обновление эмулятора архитектуры Эльбрус, известного как 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 ограничено режимом чтения состояния гостевой системы (изменение состояния пока находится в разработке). Также в текущем релизе полностью отсутствует поддержка плагинов и ряда редких инструкций, которые не встречаются в большинстве распространенных приложений.
Источник: https://www.linux.org.ru