انتشار پروژه QEMU 7.0 ارائه شده است. به عنوان یک شبیه ساز، QEMU به شما این امکان را می دهد که برنامه ای را که برای یک پلتفرم سخت افزاری کامپایل شده روی سیستمی با معماری کاملاً متفاوت اجرا کنید، به عنوان مثال، یک برنامه ARM را روی رایانه شخصی سازگار با x86 اجرا کنید. در حالت مجازی سازی در QEMU، عملکرد اجرای کد در محیط ایزوله به دلیل اجرای مستقیم دستورالعمل ها بر روی CPU و استفاده از هایپروایزر Xen یا ماژول KVM، نزدیک به سیستم سخت افزاری است.
این پروژه در ابتدا توسط Fabrice Bellard ایجاد شد تا به فایلهای اجرایی لینوکس که برای پلتفرم x86 ساخته شدهاند اجازه دهند روی معماریهای غیرx86 اجرا شوند. در طول سال های توسعه، پشتیبانی کامل شبیه سازی برای 14 معماری سخت افزاری اضافه شده است، تعداد دستگاه های سخت افزاری شبیه سازی شده از 400 فراتر رفته است. در آماده سازی برای نسخه 7.0، بیش از 2500 تغییر از 225 توسعه دهنده انجام شده است.
بهبودهای کلیدی اضافه شده در QEMU 7.0:
- شبیه ساز معماری x86 از مجموعه دستورالعمل های Intel AMX (Advanced Matrix Extensions) که در پردازنده های سرور مقیاس پذیر Intel Xeon پیاده سازی شده است، پشتیبانی می کند. AMX رجیسترهای قابل تنظیم TMM "TILE" و دستورالعملهایی را برای دستکاری دادهها در این ثباتها ارائه میکند، مانند TMUL (Tile matrix MULtiply) برای ضرب ماتریس.
- امکان ثبت رویدادهای ACPI از سیستم مهمان از طریق رابط ACPI ERST فراهم شده است.
- ماژول virtiofs که برای ارسال بخشی از سیستم فایل محیط میزبان به سیستم مهمان استفاده می شود، پشتیبانی از برچسب های امنیتی را بهبود بخشیده است. آسیب پذیری CVE-2022-0358 رفع شده است که به شما امکان می دهد با ایجاد فایل های اجرایی در دایرکتوری هایی که از طریق virtiof هایی که متعلق به گروه دیگری هستند و مجهز به پرچم SGID هستند، امتیازات خود را در سیستم افزایش دهید.
- افزایش انعطافپذیری برای پشتیبانگیری از تصاویر فعال سیستم (یک عکس فوری ایجاد میشود، پس از آن یک فیلتر کپی قبل از نوشتن (CBW) برای بهروزرسانی وضعیت عکس فوری اعمال میشود و دادهها را از مناطقی که سیستم مهمان روی آن مینویسد کپی میکند). اضافه شدن پشتیبانی از تصاویر در فرمت های غیر از qcow2. دسترسی به یک عکس فوری با یک نسخه پشتیبان نه مستقیم، بلکه از طریق درایور دستگاه بلوک دسترسی فوری امکان پذیر است. قابلیت های کنترل عملکرد فیلتر CBW گسترش یافته است، به عنوان مثال، می توانید بیت مپ های خاصی را از پردازش حذف کنید.
- شبیهساز ARM برای ماشینهای "virt" پشتیبانی از virtio-mem-pci را اضافه میکند، توپولوژی CPU را برای مهمان شناسایی میکند، و هنگام استفاده از هایپروایزر KVM با شتابدهنده hvf، PAuth را فعال میکند. پشتیبانی از شبیهسازی کنترلکننده حافظه فلش PMC SLCR و OSPI در شبیهساز برد xlnx-versal-virt اضافه شده است. مدل های جدید کنترل CRF و APU برای ماشین های شبیه سازی شده 'xlnx-zynqmp' اضافه شده است. شبیه سازی افزونه های FEAT_LVA2، FEAT_LVA (فضای آدرس مجازی بزرگ) و FEAT_LPA (فضای آدرس فیزیکی بزرگ) اضافه شده است.
- Tiny Code Generator کلاسیک (TCG) پشتیبانی از میزبانهایی با پردازندههای ARMv4 و ARMv5 را متوقف کرده است، که از دسترسی به حافظه غیرهمتراز پشتیبانی نمیکنند و RAM کافی برای اجرای QEMU ندارند.
- شبیه ساز معماری RISC-V پشتیبانی از هایپروایزر KVM را اضافه می کند و پسوندهای برداری Vector 1.0 و همچنین دستورالعمل های Zve64f، Zve32f، Zfhmin، Zfh، zfinx، zdinx و zhinx{min} را پیاده سازی می کند. اضافه شدن پشتیبانی برای بارگیری باینری های OpenSBI (RISC-V Supervisor Binary Interface) برای ماشین های شبیه سازی شده 'spike'. برای ماشین های 'virt' شبیه سازی شده، توانایی استفاده از حداکثر 32 هسته پردازنده و پشتیبانی از AIA پیاده سازی شده است.
- شبیه ساز معماری HPPA امکان استفاده از 16 vCPU را فراهم می کند و درایور گرافیک را برای محیط های کاربری HP-UX VDE/CDE بهبود می بخشد. قابلیت تغییر ترتیب راهاندازی دستگاههای SCSI اضافه شده است.
- در شبیه ساز معماری OpenRISC برای بردهای 'sim'، پشتیبانی برای استفاده از حداکثر 4 هسته CPU، بارگذاری یک تصویر initrd خارجی و تولید خودکار درخت دستگاه برای هسته بارگذاری شده اضافه شده است.
- شبیه ساز معماری PowerPC برای ماشین های شبیه سازی شده 'pseries' توانایی اجرای سیستم های مهمان را تحت کنترل هایپروایزر KVM تو در تو دارد. پشتیبانی از دستگاه spapr-nvdimm اضافه شده است. برای ماشینهای «powernv» شبیهسازیشده، پشتیبانی اضافهشده برای کنترلکننده وقفه XIVE2 و کنترلکنندههای PHB5، پشتیبانی بهبودیافته برای XIVE و PHB 3/4.
- پشتیبانی از برنامه های افزودنی z390 (Miscellaneous-Instruction-Extensions Facility 15) به شبیه ساز معماری s3x اضافه شده است.
منبع: opennet.ru