Представлен (http://lists.nongnu.org/archive/html/qemu-devel/2017-08/msg0...) релиз проекта QEMU 2.10 (http://wiki.qemu.org/Download). В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы, на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к нативной системе за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM.
Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. При подготовке версии 2.10 внесено более 2600 изменений от 208 разработчиков.Ключевые улучшения (http://wiki.qemu.org/ChangeLog/2.10), добавленные в QEMU 2.10:
- Операционная система NetBSD возвращена в число поддерживаемых платформ. Прекращена возможность работы в Solaris 9 и более ранних выпусках. В разряд неподдерживаемых переведена архитектура ia64 и системы GNU/kFreeBSD, DragonFly BSD, OpenBSD, Solaris, AIX и Haiku. Неподдерживаемые системы продолжат работать, но качество работы не гарантируется, так как у команды разработчиков QEMU нет возможности их протестировать. В будущем поддержка данных ОС может быть удалена или возобновлена, если найдутся заинтересованные энтузиасты;
- Обеспечена возможность использования шифрования образов виртуальных машин qcow2 с использованием формата LUKS;- Представлен бэкенд 9pfs/virtfs, обеспечивающего работу с сетевой файловой системой Plan 9. Фронтэнд для 9pfs включен в состав ядра Linux, транспорт для протокола 9pfs в состав гипервизора Xen. В итоге, при помощи 9pfs можно организовать доступ одной виртуальной машины к другой; - Добавлена опция "-numa cpu", позволяющая назначить CPU для определённых узлов NUMA. Добавлена поддержка извлечения информации о связности узлов NUMA (distance (http://lse.sourceforge.net/numa/faq/index.html#what_is_distance)) через ACPI;
- Расширены возможности интерфейса для мониторинга и управления: добавлены команды 'info ramblock/cmma/register/qtree' для получения дополнительной отладочной информации, добавлена команда 'info vnc' для вывода списка подключенных клиентов, улучшена поддержка разбора протокола QMP;
- В QXL и virtio-gpu добавлены свойства xres и yres для указания разрешения экрана по умолчанию;
- Добавлена поддержка устройства vhost-user-scsi (https://patchwork.kernel.org/patch/9737011/) (вариант vhost-user (http://xiaogr.com/wp-content/uploads/2016/01/inter-vm-update...) для SCSI), которое в отличие от ранее предлагаемого vhost-scsi поддерживает live-миграцию;
- В эмуляторе накопителей NVMe добавлена поддержка команды Write Zeroes и функциональности Controller Memory Buffers;
- В агент гостевых систем добавлена возможность запроса информации об имени хоста, пользователях, часовом поясе и версии ОС гостевой системы;
- Обеспечена возможность использования гипервизора KVM на платах Raspberry Pi 3;- В эмулятор архитектуры ARM добавлена поддержка эмуляции плат на базе FPGA MPS2/MPS2+. Добавлена поддержка запуска zynq с SPIPS Flash . В эмулятор Exynos4210 добавлена поддержка аппаратного RNG, SDHCI и инициирования выключения питания;
- В эмулятор архитектуры Microblaze добавлена поддержка 9.4, 9.5, 9.6 и 10.0 версий CPU;
- В эмулятор архитектуры MIPS добавлена поддержка расширенной виртуальной адресации (EVA, Enhanced Virtual Addressing) и возможность использования initrd для ядер со включенной рандомизацией адресного пространства ядра (KASLR);
- В эмулятор архитектуры OpenRISC добавлена поддержка теневых регистров (http://microchipdeveloper.com/32bit:mz-arch-isa-cpu-shadow-r...), idle-состояний и регистров numcores/coreid/EVAR/EPH;
- В эмулятор архитектуры PowerPC поддержка многопоточного выполнения классического генератора кода TCG (Tiny Code Generator), представлен драйвер OpenBIOS VGA для гостевых систем с macOS, добавлена эмуляция и поддержка KVM для гостевых систем на базе POWER9;
- В эмулятор архитектурыs390 добавлен проброс устройств через vfio-ccw, улучшена поддержка PCI (AEN, AIS, zPCI), добавлена поддержка моделей ACPU z14 и возможность использования netboot/TFTP через CCW BIOS;- В эмуляторе x86 в gdbstub предоставлен доступ к регистрам SSE. Для Q35 MCH появилась поддержка TSEG, размером больше 8 Мб.URL: http://lists.nongnu.org/archive/html/qemu-devel/2017-08/msg0...
Новость: http://www.opennet.me/opennews/art.shtml?num=47109
Пользуюсь, чтобя компилять под Raspberry Pi. Вообще, не отказался бы от мультилиба в Debian на PC, но "не осилил"
Что там можно не осилить-то?
> Пользуюсь, чтобя компилять под Raspberry Pi.Это же охрененно медленно, почему не воспользоваться кросскомпилятором?
Не все программы нормально кросс-компилируются. И порой в эмуляции даже быстрее.
> И порой в эмуляции даже быстрее.можно пример?
Можно
Вроде бы это может быть Перл, по сообщениям из Генты (где кроссдев). Якобы, при сборке Перла собирается мини-перл, который затем запускается для нормальной сборки. Но так как он собран для АРМ, а кросс-компилятор работает на билд-системе с другой архитектурой, то сборка продолжаться не может.
"Сборка продолжаться не может" и "на эмуляторе быстрее" немного разные вещи.
> Но так как он собран для АРМ, а кросс-компилятор работает на билд-системе с другой архитектурой, то сборка продолжаться не может.Во-первых, не знаю, как конкретно в случае perl, но вообще при бутстрапинге такое учитывают, и всякие "мини"-тулзы собираются нативно. Во-вторых, если даже это не так, можно только для их запуска использовать qemu-user.
под стабильным дебианом - все, что тянет в качестве build-зависимостей python-dev требует ручного разрешения сборочных зависимостей (т.к. один из пакетов питона в postinstall пытается запустить elf для arm, что предсказуемо не работает, и dpkg откатывает установку), поэтому зачастую проще запустить pbuilder, который за свои 3-4 часа спокойно соберёт все это через QEMU
Опять же, сравнение "не работает" с "медленно".Изначально было сделано утверждение, что в некоторых случаях компеляция под эмулятором идет быстрее, чем нативно. Именно компеляция, а не что то другое.
>Именно компеляция, а не что то другое.Хорошо, что не компиляция. А то я уже заволновался.
> один из пакетов питона в postinstall пытается запустить elf для arm, что предсказуемо не работаетЯ бы не был так категоричен. Добавлять себе ещё и армовскую архитектуру не хочу, поэтому для примера MIPS:
$ uname -m
x86_64
$ mipsel-linux-gnu-gcc hello.c
$ file a.out
a.out: ELF 32-bit LSB shared object, MIPS, MIPS32 rel2 version 1 (SYSV), dynamically linked, interpreter /lib/ld.so.1, for GNU/Linux 3.2.0, BuildID[sha1]=2b91f03e935202e9802e235db07f4cfddf681e94, not stripped
$ ./a.out
hi!
$Магия?
Да, магия.
В чём фокус? O_O
binfmt_misc?
> В чём фокус?apt install qemu-user
> apt install qemu-userТо есть сам фокус, конечно, в qemu-user-binfmt, который при этом по рекомендации поставится.
Интересно, можно в эмуляторе S390 запустить советскую ОС ЕС ?
она же под S360 ?
http://www.hercules-390.org/
По крайней мере, современные зиОси на нем работают.
> Интересно, можно в эмуляторе S390 запустить советскую ОС ЕС ?Думаю, что да. Там же система команд "цельнотянутая"! :)
Даже по железу пытались копировать все, что только можно, не думая...
> NetBSD возвращена в число поддерживаемых системБлин, как же приятно такое читать!
Сам не пользователь NetBSD, но повсеместное устаревание и удаление поддержки всего подряд пугает. Хотя и тут не обошлось без устаревания...
Какое-то балабольство. Если чем-то никто не пользуется, то сожалеть об этом, при том, что сам этого не используешь, уже похоже на расстройство психики.
Ну раз поддержка возвращена, значит этим пользуются, верно? В чём тогда проблема? Если б они удалили поддержку MSDOS 6.22, сожалений бы не было. А удаление актуальной системы наводит на грустные мысли.
> Сам не пользователь NetBSD, но повсеместное устаревание и удаление поддержки всего подряд
> пугает. Хотя и тут не обошлось без устаревания...Есть такая штука - bit rot. Это когда древний код уже давно никто не тыкал палочкой, поэтому никто даже не знает работает ли он вообще. Поэтому или находятся те кто будет код сопровождать, или он вытряхивается. Мало кому нравятся глюки, проблемы и уязвимости в коде который никто не проверяет и не чинит.
Можете пояснить за отличия Q35 от дефолтного ICH9?
Как минимум возможностью включения UEFI прошивок.
> Можете пояснить за отличия Q35 от дефолтного ICH9?Q35 северный мост, а ICH9 южный
у них общего шина DMI и что они соединяются на одной матплате
А intel vgt где? Снова включать ждуна.
> А intel vgt где? Снова включать ждуна.Какие претензии?! Не хочешь ждать - напиши сам!
мда, юзаю под арчем. обновил на свою голову. Винда с проброшенным железом грузиться перестала. Как обычно, стейбл у парней через релиз. Работал 2.7.0, а 2.8.0 не работал, 2.9.0 снова заработал, ну а 2.10.0 - просто виснет при загрузке ОС.