QEMU 4.1 эмуляторының шығарылымы

Жіберген жобаның шығарылымы QEMU 4.1. Эмулятор ретінде QEMU бір аппараттық платформа үшін құрастырылған бағдарламаны мүлде басқа архитектурасы бар жүйеде іске қосуға мүмкіндік береді, мысалы, x86 үйлесімді компьютерде ARM қолданбасын іске қосыңыз. QEMU-де виртуализация режимінде оқшауланған ортада кодты орындау өнімділігі орталық процессордағы нұсқауларды тікелей орындау және Xen гипервизорын немесе KVM модулін пайдалану есебінен жергілікті жүйеге жақын.

Жобаны бастапқыда Fabrice Bellard x86 емес архитектураларда x86 платформасы үшін құрастырылған Linux орындалатын файлдарын іске қосу мүмкіндігін қамтамасыз ету үшін жасаған. Даму жылдарында 14 аппараттық архитектураға толық эмуляцияны қолдау қосылды, эмуляцияланған аппараттық құрылғылардың саны 400-ден асты. 4.1 нұсқасын дайындау кезінде 2000 әзірлеушіден 276-ден астам өзгертулер енгізілді.

Кілт жақсартуларQEMU 4.1-ге қосылды:

  • Hygon Dhyana және Intel SnowRidge CPU үлгілеріне қолдау x86 архитектуралық эмуляторға қосылды. RDRAND кеңейтімінің (аппараттық псевдокездейсоқ сандар генераторы) эмуляциясы қосылды. Қосылған жалаушалар
    шабуылдан қорғауды басқару үшін md-clear және mds-no MDS (Микроархитектуралық деректер үлгісі) Intel процессорларында. «-smp ...,dies=» жалауын пайдаланып интегралды схема топологияларын анықтау мүмкіндігі қосылды. Барлық x86 CPU үлгілері үшін нұсқалау жүзеге асырылды;

  • SSH блок драйвері пайдаланудан жылжытылды libssh2 туралы libsh;
  • virtio-gpu драйвері (жобаның бөлігі ретінде жасалған виртуалды GPU Виржил) 2D/3D көрсету операцияларын сыртқы vhost-пайдаланушы процесіне жылжытуға қолдау қосылды (мысалы, vhost-user-gpu);
  • ARM сәулет эмуляторы жалған кездейсоқ сандарды жасау үшін ARMv8.5-RNG кеңейтімін қолдауды қосты. Cortex-M отбасылық чиптері үшін FPU эмуляциясына қолдау көрсетілді және Cortex-R5F үшін FPU эмуляциясына қатысты мәселелер шешілді. Kconfig стилінде жасалған құрастыру опцияларын орнатудың жаңа жүйесі ұсынылды. SoC Exynos4210 үшін PL330 DMA контроллерлеріне қолдау қосылды;
  • MIPS сәулет эмуляторы үлкен-ендиан байт ретін пайдалану кезінде MSA ASE нұсқауларына қолдауды жақсартты және анықтамалық жабдықпен нөлдік регистрлерге бөлуді өңдеуді теңестірді. Бүтін сандарды есептеу және ауыстыру операциялары үшін MSA нұсқауларын эмуляциялау өнімділігі арттырылды;
  • PowerPC сәулет эмуляторы енді VFIO көмегімен NVIDIA V100/NVLink2 графикалық процессорларына қайта жіберуді қолдайды. Сериялар үшін XIVE үзу контроллерінің эмуляциясын жеделдету жүзеге асырылды және PCI көпірлерін ыстық қосуға қолдау қосылды. Векторлық нұсқауларды эмуляциялауға оңтайландырулар жасалды (Altivec/VSX);
  • RISC-V сәулет эмуляторына жаңа аппараттық модель қосылды - «спик». ISA 1.11.0 үшін қосылған қолдау. 32-биттік жүйелік шақыру ABI жақсартылды, жарамсыз нұсқауларды өңдеу жақсартылды және кірістірілген отладчик жетілдірілді. Құрылғы ағашында CPU топологиясына қолдау қосылды;
  • s390 сәулет эмуляторы «Векторлық қондырғы» тобының барлық векторлық нұсқауларын эмуляциялауға қолдауды қосты және gen15 жүйелеріне қолдау көрсету үшін қосымша элементтерді қосты (соның ішінде vfio-ap үшін AP кезегін үзу құралына қосымша қолдау). vfio-ccw арқылы қонақтық жүйеге қосылған ECKD DASD жүйесінен жүктеуге арналған BIOS қолдауы енгізілді;
  • Sun4m жүйелеріне арналған SPARC сәулет эмуляторында OpenBIOS үшін «-vga none» жалаушасын пайдалану мәселелері шешілді;
  • Tensilica Xtensa отбасылық процессор эмуляторы MPU (жадты қорғау блогы) және эксклюзивті қол жеткізу опцияларын қамтиды;
  • Енгізу/шығару қателері болған жағдайда кескінді түрлендіру процесінің бұзылуын өшіру үшін «qemu-img түрлендіру» пәрменіне «-salvage» опциясы қосылды (мысалы, жартылай зақымдалған qcow2 файлдарын қалпына келтіру үшін пайдалануға болады). Командада
    «qemu-img rebase» кіріс файлы үшін қосалқы файл әлі жасалмаған кезде жұмыс істейді;

  • «Жартылай хостинг» технологиясы арқылы ұйымдастырылған шығысты (эмуляцияланған құрылғыға хост жағында файлдарды жасау үшін stdout, stderr және stdin пайдалануға мүмкіндік береді) chardev серверіне («-semihosting-config enable=on,target=native) қайта бағыттау мүмкіндігі қосылды. ,chardev=[ID]");
  • VMDK блок драйверінде тек оқу режимінде seSparse ішкі пішіміне қолдау қосылды;
  • GPIO эмуляция драйверіндегі SiFive GPIO контроллеріне қолдау қосылды.

Ақпарат көзі: opennet.ru

пікір қалдыру