The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз эмулятора QEMU 2.12.0

25.04.2018 09:52

Представлен релиз проекта QEMU 2.12. В качестве эмулятора QEMU позволяет запустить программу, собранную для одной аппаратной платформы, на системе с совершенно иной архитектурой, например, выполнить приложение для ARM на x86-совместимом ПК. В режиме виртуализации в QEMU производительность выполнения кода в изолированном окружении близка к нативной системе за счёт прямого выполнения инструкций на CPU и задействования гипервизора Xen или модуля KVM.

Изначально проект был создан Фабрисом Белларом (Fabrice Bellard) с целью обеспечения возможности запуска собранных для платформы x86 исполняемых файлов Linux на архитектурах, отличных от x86. За годы разработки была добавлена поддержка полной эмуляции для 14 аппаратных архитектур, число эмулируемых аппаратных устройств превысило 400. При подготовке версии 2.12 внесено более 2700 изменений от 204 разработчиков.

Ключевые улучшения, добавленные в QEMU 2.12:

  • Внесены улучшения в драйверы блочных устройств. Добавлена возможность прямого взаимодействия с работающим в пространстве пользователя драйвером NVMe при помощи протокола "nvme://". Улучшена работа сервера и клиента NBD, в том числе повышена эффективность чтения файлов с пустотами. Добавлена новая QMP-команда x-blockdev-create для создания образов;
  • Добавлена поддержка паравиртуализированного драйвера VMWare RDMA, способного работать в режимах RDMA HCA и Soft-RoCE (rxe);
  • Реализована поддержка CAN bus, включая поддержку Linux SocketCAN и сетевых интерфейсов SJA1000 PCI;
  • Улучшена работа в окружениях с двойным сетевым стеком (IPv4 и IPv6);
  • Добавлена опция "-nic" для быстрого создания сетевых фронтэндов (эмулируемых сетевых адаптеров) и работающих на стороне хост-системы бэкендов. Реализована возможность указания любых PCI NIC в опциях "-net nic,model=..." или "-nic ...,model=";
  • Проведена работа по исправлению ошибок в GUI (например, устранены проблемы с раскладкой клавиатуры). В интерфейс GTK и Spice добавлена поддержка технологии DMABuff для совместного использования нескольких GPU. Сборка GUI с GTK2 и SDL1 объявлена устаревшей (следует собирать с GTK3 и SDL2). Интерфейсы Curses, GTK+ и SDL теперь могут быть собраны как модули, загружаемые в процессе работы;
  • Добавлена поддержка двух новых систем ускорения виртуализации: Apple Hypervisor.framework ("-accel hvf") и Microsoft Windows Hypervisor Platform Extensions ("-accel whpx");
  • Для архитектур x86, pseries и s390 добавлен механизм защиты гостевых систем от атак Spectre и Meltdown. Защита от Meltdown основана на патчах KPTI, а защита от Spectre построена с привлечением IBRS (Indirect Branch Restricted Speculation) и IBPB (Indirect Branch Prediction Barriers), предложенных в обновлённом микрокоде Intel и AMD;
  • Звуковые драйверы для ALSA, OSS, PulseAudio и SDL теперь могут быть собраны как загружаемые модули;
  • Добавлена поддержка бэкенда для работы с памятью на базе memfd (memory-backend-memfd). Memfd позволяет выделить память как через malloc, но обращаться к ней как с файлом, по файловому дескриптору, что позволяет бэкенду совместно использовать память с внешними процессами vhost-user;
  • Проведена чистка и работа над ошибками в коде эмуляции SD-карт;
  • Во встроенном эмуляторе BMC-контроллеров улучшена поддержка IPMI, расширены возможности по генерации событий платформы (Platform Events) и ведения SEL-логов;
  • В KVM добавлена поддержка систем, имеющих более 7.999TB памяти;
  • В KVM добавлена поддержка расширения AMD SEV (Secure Encrypted Virtualization), трассировки процессов и выборочной настройки производительности CPU ("-cpu kvm-hint-dedicated=on");
  • В SMBIOS добавлена поддержка идентификаторов "OEM Strings" (таблицы 11 типа), которые могут применяться для автоматизации активации образов гостевых систем без использования сетевых запросов (например, "$QEMU -smbios type=11,value=cloud-init:ds=nocloud-net;s=http://10.10.0.1:8000/");
  • В подсистеме USB добавлена поддержка записи с использованием протокола MTP;
  • В драйвер virtio-balloon добавлена поддержка вывода информации о дисковом кэше;
  • Добавлена поддержка отображения с использованием виртуальных GPU (vGPU) при использовании графических бэкендов с поддержкой dmabuf;
  • Добавлена новая целевая платформа RISC-V и связанные с ней типы эмулируемых систем "spike_v1.9.1", "spike_v1.10" и "virt";
  • В эмулятор архитектуры ARM добавлена начальная поддержка Raspberry Pi 3 и поддержка инструкций FCMA, RDM, SIMD, FP16 и crypto, предлагаемых архитектурой AArch64. Добавлен эмулятор для чипов Corex-M33/Armv8-M (плата mps2-an505);
  • Добавлена поддержка полной эмуляции систем HPPA (hppa-softmmu);
  • В эмуляторе архитектуры PowerPC улучшена эмуляция PPC4xx, добавлен новый тип эмулируемых устройств Sam460ex, значительно увеличена производительность классического генератора кода TCG (Tiny Code Generator);
  • В эмулятор архитектуры SPARC добавлена поддержка эмуляции систем управления питанием sun4u, улучшены средства трассировки;
  • В эмуляторе Tricore появилась поддержка вариантов инструкций JEQ/JNE и 64-разрядной инструкции MOV;
  • В эмулятор x86 добавлена поддержка Intel IOMMU для 48-разрядной адресации. По умолчанию для систем q35 задействован сетевой адаптер e1000e (Intel 82574);
  • В эмуляторе процессоров семейства Tensilica Xtensa для декодирования/дизассемблирования инструкций теперь применяется libisa. Добавлена поддержка многопоточного генератора кода TCG и различных конфигураций noMMU;
  • Сообщается, что в будущем возможно будет прекращена поддержка платформ GNU/kFreeBSD, DragonFly BSD, Solaris и Haiku, из-за отсутствия сопровождающих или инфраструктуры для тестирования;
  • Объявлены устаревшими параметры "serial", "trans", "secs", "heads", "cyls" и "addr" в опции "-drive", вместо которых следует использовать обобщённую опцию "-device". Опция "-net" пока не объявлена устаревшей, но вместо неё рекомендовано использовать опцию "-nic", предоставляющую более простой интерфейс ("-nic user" вместо "-net nic -net user"). Удалены ранее объявленные устаревшими опции "-hdachs", "-usbdevice", "-net dump", "-drive if=scsi", "-net channel", "-tdf", "-no-kvm-pit", "-drive boot=on|off";
  • Для сборки QEMU теперь можно использовать Python 3.x.


  1. Главная ссылка к новости (http://lists.nongnu.org/archiv...)
  2. OpenNews: Для FreeBSD и QEMU/KVM реализованы механизмы блокировки атак Spectre и Meltdown
  3. OpenNews: Релиз nEMU 1.4.0, консольного интерфейса для управления QEMU
  4. OpenNews: Релиз эмулятора QEMU 2.11.0
  5. OpenNews: Выпуск эмулятора QEMU 2.10.0
  6. OpenNews: Основатель QEMU и FFmpeg развивает систему синхронизации файлов VFsync
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48493-qemu
Ключевые слова: qemu, emulator, virtual, kvm
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (35) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Catwoolfii (ok), 10:34, 25/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Добавлена поддержка паравиртуализированного драйвера VMWare RDMA, способного >работать в режимах RDMA HCA и Soft-RoCE (rxe);

    Так это в VM теперь можно infiniband?

     
     
  • 2.14, Аноним (-), 12:49, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Linux kernel > 4.8 имеет Soft RoCE нативно, а это IB over Eth.
    или возьми Mellanox OFED 4.0+ и слегка допили напильником под требуемое ядро.

    Давно пользую для отладки приложений которым нужен именно OFED stack.

     
  • 2.19, Аноним (-), 13:02, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>Добавлена поддержка паравиртуализированного драйвера VMWare RDMA, способного >работать в режимах RDMA HCA и Soft-RoCE (rxe);
    > Так это в VM теперь можно infiniband?

    ну и 16-32 VF что бы прокинуть именно виртуальные IB карты уже лет 5 можно было.

     

  • 1.2, Анонимфывфыв (?), 11:04, 25/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Реализована поддержка CAN bus, включая поддержку Linux SocketCAN и сетевых интерфейсов SJA1000 PCI;

    Так это в VM теперь можно автомобиль?

     
     
  • 2.46, Якубович (?), 13:42, 26/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    аааавтомобиль!
     
  • 2.49, Аноним (-), 23:35, 26/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Так это в VM теперь можно автомобиль?

    CAN не только в автомобилях применяется. Хотя если кто-то запилил бы виртуальную сеть с компонентами авто, было бы угарно. Но для этого придется сперва сурово отреверсить что-нибудь, чтобы хотя-бы команды летающие по CAN изучить.

     

  • 1.3, Nicknnn (ok), 11:12, 25/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не понятно, вошёл ли этот патч в релиз https://www.reddit.com/r/VFIO/comments/74vokw/improved_pulse_audio_driver_for_ По отзывам он исправляет вывод звука через pa и alsa
     
     
  • 2.6, Nicknnn (ok), 11:23, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет, не вошёл этот патч в релиз.
     
     
  • 3.8, Аноним (-), 11:51, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Нет, не вошёл этот патч в релиз.

    По ссылке написано что-то крайне отвратительное

     
     
  • 4.13, Nicknnn (ok), 12:38, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Что отвратительного в исправлении кода, не работающего 9 лет?
     
  • 2.18, нах (?), 13:01, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    по ссылке ни слова про альсу. И автор приводит скрипт сборки исключительно для пщпщ, а он может и дальше шипеть сколько угодно, это ж главная фича.

     
     
  • 3.24, Nicknnn (ok), 13:20, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Тот парень фиксил HDA, что отражается и на алса. Там в предыдущем треде об этом речь. По факту сейчас без проблем работает только AC97 + alsa. С HDA + alsa задержки или скрип. XXX + pa омерзительное булькание.  Фикс HDA исправляют ситуацию для HDA + alsa, исправления pa драйвера позволяют работать с hda + pa без пыш пыш и с минимальными задержками.

     
     
  • 4.30, нах (?), 15:39, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    а, в смысле, это часть патча, а нелюбителям пща и неиметелям раритетной ac97 (у меня таких плат уже нет сто лет, 97 это ж год) нужен другой тред?

    а нет готовой ссылки именно на патч, а не "git fetch хз чей репо с хз какими правками целиком" ?

     
     
  • 5.32, Nicknnn (ok), 15:52, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    ac97 в виртуалке а не на хосте. qemu может эмулировать "ac97" и "hda" звуковые карты.


    Патча одним фалом нет, но всегда же можно сделать его зная коммиты.
    https://github.com/spheenik/qemu/commits?author=spheenik
    Правилось пол года назад, так что могут быть сложности с накатыванием на свежий qemu.

     
     
  • 6.38, нах (?), 17:35, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > ac97 в виртуалке а не на хосте.

    ну я к тому что какой смысл эмулировать то, чего уже давно и в железе-то нигде нет (я искал в свое время для некоторой специфики, хрен там - либо совсем китай-китайский, либо hda, либо рылотык)

    > Патча одним фалом нет, но всегда же можно сделать его зная коммиты.

    дык... Если б я их знал, я бы их и так наковырял. А разбираться где патчи того что надо, а где не надо, будучи изначально не в теме - это для неленивых и свободных.

    а pull request он не делал?

     
     
  • 7.50, Аноним (-), 01:03, 27/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > ну я к тому что какой смысл эмулировать то, чего уже давно и в железе-то нигде нет

    Цель - чтобы софт мог играть звук из виртуалки на хост, а не что-нибудь еще. А так intel BX тоже мало кто использует, но он эмулируется. Да и более новый Q35 на его замену - не последний писк.

    > (я искал в свое время для некоторой специфики, хрен там - либо совсем китай-китайский,
    > либо hda, либо рылотык)

    Они вроде все HDA изображают?

     

  • 1.5, Ващенаглухо (ok), 11:17, 25/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    TriCore, Infineon ? Что там эмулируют ?
     
  • 1.26, Игорь Арбичев (?), 14:15, 25/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А поддержку 64-битных SPARC еще не запилили?
     
  • 1.27, Аноним (-), 14:22, 25/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А почему kqemu перестали поддерживать? С ним эмуляция хотя бы не была похожа на слайдшоу.
     
     
  • 2.28, Andrey Mitrofanov (?), 14:40, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > А почему kqemu перестали поддерживать? С ним эмуляция хотя бы не была
    > похожа на слайдшоу.

    Зразморозкой!

    " Support for kqemu has been removed from the upstream source in qemu versions 0.11 and later. "

    Да, мы вместе с Вами оплакиваем --

    " [...] different from kvm is the fact that kqemu works on hardware that does not support CPU Virtualization Technology (VT extensions), see Intel VT and AMD-V. "
    --https://help.ubuntu.com/community/Kqemu#How_is_it_different_from_kvm.3F

    , но...  где ж Вы были, когда патчи надо было 1/отобрать у Фабриса и 2/тащить на себе через минные поля?

     
     
  • 3.31, нах (?), 15:43, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > , но...  где ж Вы были, когда патчи надо было 1/отобрать
    > у Фабриса и 2/тащить на себе через минные поля?

    фабрис не виноват, он давно уже броузерный эмулятор пилил к тому моменту.
    А этим кодом какие-то китайцы завладели, или индусы, не помню уже, кому достался этот, кому ffmpeg.

    И,разумеется, пошли по пути наименьшего сопротивления - есть kvm, он в ядре, зачем самим что-то делать...

     
     
  • 4.34, Andrey Mitrofanov (?), 15:57, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> , но...  где ж Вы были, когда патчи надо было 1/отобрать
    >> у Фабриса и 2/тащить на себе через минные поля?
    > фабрис не виноват, он давно уже броузерный эмулятор пилил к тому моменту.
    > А этим кодом какие-то китайцы завладели, или индусы, не помню уже, кому
    > достался этот, кому ffmpeg.
    > И,разумеется, пошли по пути наименьшего сопротивления - есть kvm, он в ядре,
    > зачем самим что-то делать...

    Да, вроде, сам дон Фабрис -- умариновал и выбросил через заборчик.

    2009-06-03 "KQEMU 1.3.0pre10 released - under the GPL" --https://lwn.net/Articles/220807/

    2009-06-09:
    " Kqemu is long unmaintained. The Qemu developers are discussing ripping it out. Kqemu guest-kernel-space is very buggy and nearly always unuseable. " --https://lwn.net/Articles/336731/

    .
    .
    .
    "Индусы", видимо, два года как к тому моменту "делали бузинес" с KVM-ом =>>
    2007-09-25: "Qumranet de-cloaks" --https://lwn.net/Articles/251389/

     
  • 4.37, нах (?), 17:30, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > И,разумеется, пошли по пути наименьшего сопротивления - есть kvm, он в ядре,
    > зачем самим что-то делать...

    а, ну вот же ж:
    http://lists.gnu.org/archive/html/qemu-devel/2009-06/msg00020.html

     
  • 2.51, Аноним (-), 01:19, 27/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > А почему kqemu перестали поддерживать? С ним эмуляция хотя бы не была
    > похожа на слайдшоу.

    Какое, к черту, слайдшоу? Сабж работает со скорстью почти bare metal если все правильно делать.

    Ты там что, VGA-адаптер для вывода видео используешь, чтоли? Используй что-нибудь поактуальнее и попродвинутее (и с поддержкой в guest). Например, QXL, virtio, vmware virtual adapter накрайняк. А по CPU/RAM оно и с VGA адаптером свои 95% от гольного железа выдаст.

    Так что если у тебя тормозит сабж - ты что-то делаешь вообще совсем не так и это твой факап, а вовсе не.

     

  • 1.36, Аноним (-), 17:17, 25/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Странно, что про intel gvt-g (vGPU, крутая штука) ничего не написали.
     
     
  • 2.41, Catwoolfii (ok), 18:56, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Дык видимо нету в планах. Еще virtio-gpu не освоили
     
     
  • 3.42, Anonymous_ (?), 19:49, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Интеловцы писали, что в 2.12 уже будет. Вот поэтому и интересуюсь.
     
     
  • 4.44, фф (?), 22:59, 25/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В ядре еще то же нет. Вот и не торопятся.
     
     
  • 5.45, Anonymous_ (?), 04:38, 26/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В ядре уже есть. Думаю, что в QEMU 2.12 тоже есть, но об этом просто не написали.
     
  • 2.47, Andrey Mitrofanov (?), 17:53, 26/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >(vGPU,

    https://www.phoronix.com/scan.php?page=news_item&px=QEMU-2.12-Released : "QEMU 2.12 Released With RISC-V, Spectre/Meltdown & Intel vGPU Action"

    =>

    https://wiki.qemu.org/ChangeLog/2.12#VFIO : " * Display support for vGPUs, on graphic backends that support dmabufs. "

    Вотэтовот?

     
     
  • 3.48, Catwoolfii (ok), 21:52, 26/04/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А протокол там SPICE используется?
     
     
  • 4.52, Аноним (-), 01:27, 27/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > А протокол там SPICE используется?

    Для DMA-BUF то? Очень сомнительно. Но лучше в код посмотреть.

     
  • 4.55, Аноним (-), 04:39, 28/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > А протокол там SPICE используется?

    Уже должен работать локальный вывод на экран. И, как пишут, vGPU может обеспечивать около 80-90% производительности GPU. Драйвера в VM ставятся родные для GPU.

     
  • 3.54, Аноним (-), 04:24, 28/04/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Вотэтовот?

    Да, это. Moronix не является авторитетным источником, а в ChangeLog-е они указали как-то совсем нечётко. Но я знаю, что оно должно там уже быть.

     

  • 1.53, pavlinux (ok), 19:06, 27/04/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > 7.999TB памяти;

    ВРМН

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру