انتشار شبیه ساز QEMU 4.0

شکل گرفت انتشار پروژه QEMU 4.0. به عنوان یک شبیه ساز، QEMU به شما این امکان را می دهد که برنامه ای را که برای یک پلتفرم سخت افزاری کامپایل شده است روی سیستمی با معماری کاملاً متفاوت اجرا کنید، به عنوان مثال، یک برنامه ARM را روی رایانه شخصی سازگار با x86 اجرا کنید. در حالت مجازی سازی در QEMU، عملکرد اجرای کد در محیط ایزوله به دلیل اجرای مستقیم دستورالعمل ها بر روی CPU و استفاده از Xen Hypervisor یا ماژول KVM به سیستم بومی نزدیک است.

این پروژه در ابتدا توسط Fabrice Bellard ایجاد شد تا به فایل‌های اجرایی لینوکس که برای پلتفرم x86 ساخته شده‌اند اجازه دهند روی معماری‌های غیرx86 اجرا شوند. در طول سال های توسعه، پشتیبانی کامل شبیه سازی برای 14 معماری سخت افزاری اضافه شده است، تعداد دستگاه های سخت افزاری شبیه سازی شده از 400 فراتر رفته است. در آماده سازی برای نسخه 4.0، بیش از 3100 تغییر از 220 توسعه دهنده انجام شده است.

کلید پیشرفت هااضافه شده در QEMU 4.0:

  • پشتیبانی از پسوندهای دستورالعمل ARMv8+ به شبیه ساز معماری ARM اضافه شده است: SB، PredInv، HPD، LOR، FHM، AA32HPD،
    PAuth، JSConv، CondM، FRINT و BTI. اضافه شدن پشتیبانی برای شبیه سازی بردهای Musca و MPS2. شبیه سازی ARM PMU (واحد مدیریت نیرو) بهبود یافته. به سکو فضیلت قابلیت استفاده از بیش از 255 گیگابایت رم و پشتیبانی از تصاویر u-boot با نوع "noload" را اضافه کرد.

  • در شبیه ساز معماری x86 در موتور شتاب مجازی سازی HAX (Intel Hardware Accelerated Execution) پشتیبانی از هاست های سازگار با POSIX مانند Linux و NetBSD را اضافه کرد (قبلاً فقط پلت فرم داروین پشتیبانی می شد). در شبیه ساز چیپست Q35 (ICH9) برای پورت های اصلی PCIe، حداکثر سرعت (16GT/s) و تعداد خطوط اتصال (x32) تعریف شده در مشخصات PCIe 4.0 اکنون می تواند به صورت اختیاری اعلام شود (برای اطمینان از سازگاری، 2.5GT است. به طور پیش فرض برای انواع قدیمی تر ماشین های QEMU /s و x1 نصب شده است. امکان بارگیری تصاویر Xen PVH با گزینه "-kernel" وجود دارد.
  • شبیه ساز معماری MIPS با استفاده از مولد کد کلاسیک TCG (Tiny Code Generator) از شبیه سازی چند رشته ای پشتیبانی می کند. همچنین پشتیبانی از شبیه‌سازی CPU I7200 (nanoMIPS32 ISA) و I6500 (MIPS64R6 ISA)، توانایی پردازش درخواست‌های نوع CPU با استفاده از QMP (پروتکل مدیریت QEMU)، پشتیبانی از ثبت‌های پیکربندی SAARI و SAAR اضافه شده است. بهبود عملکرد ماشین های مجازی با نوع Fulong 2E. به روز رسانی اجرای واحد ارتباطات Interthread.
  • در شبیه ساز معماری PowerPC، پشتیبانی از شبیه سازی کنترلر وقفه XIVE اضافه شده است، پشتیبانی از POWER9 گسترش یافته و برای سری P، قابلیت اتصال پل های میزبان PCI (PHB، PCI host bridge) اضافه شده است. محافظت در برابر حملات Spectre و Meltdown به طور پیش فرض فعال است.
  • پشتیبانی از شبیه سازی PCI و USB به شبیه ساز معماری RISC-V اضافه شده است. سرور اشکال زدایی داخلی (gdbserver) اکنون از تعیین لیست های ثبت در فایل های XML پشتیبانی می کند. پشتیبانی از فیلدهای mstatus TSR، TW و TVM اضافه شده است.
  • شبیه ساز معماری s390 پشتیبانی از مدل CPU z14 GA 2 و همچنین پشتیبانی از شبیه سازی پسوندهای دستورالعمل برای عملیات ممیز شناور و بردار را اضافه کرده است. قابلیت hot-plug دستگاه ها به vfio-ap اضافه شده است.
  • شبیه ساز پردازنده خانواده Tensilica Xtensa پشتیبانی SMP را برای لینوکس بهبود بخشیده و پشتیبانی از FLIX (پسوند دستورالعمل های طول انعطاف پذیر) را اضافه کرده است.
  • گزینه '-display spice-app' به رابط گرافیکی اضافه شده است تا نسخه ای از کلاینت دسترسی از راه دور Spice را با طراحی شبیه به رابط QEMU GTK پیکربندی و راه اندازی کند.
  • اضافه شدن پشتیبانی برای کنترل دسترسی با استفاده از گزینه‌های tls-authz/sasl-authz به اجرای سرور VNC.
  • QMP (پروتکل مدیریت QEMU) پشتیبانی از اجرای دستور متمرکز/خارجی (خارج از باند) را اضافه کرد و دستورات اضافی را برای کار با دستگاه های بلوک پیاده سازی کرد.
  • پیاده سازی رابط EDID به VFIO برای mdevs های پشتیبانی شده (Intel vGPU) اضافه شده است که به شما امکان می دهد وضوح صفحه را با استفاده از گزینه های xres و yres تغییر دهید.
  • یک دستگاه "xen-disk" جدید برای Xen اضافه شده است که می تواند به طور مستقل یک پشتیبان دیسک برای Xen PV (بدون دسترسی به xenstore) ایجاد کند. عملکرد دیسک پشتیبان Xen PV افزایش یافته است و قابلیت تغییر اندازه دیسک اضافه شده است.
  • قابلیت‌های عیب‌یابی و ردیابی در دستگاه‌های بلوک شبکه گسترش یافته است و سازگاری کلاینت با اجرای مشکل‌ساز سرور NBD بهبود یافته است. گزینه های "--bitmap"، "--list" و "--tls-authz" به qemu-nbd اضافه شد.
  • پشتیبانی از حالت PCI IDE به IDE/از طریق دستگاه شبیه سازی شده اضافه شد.
  • اضافه شدن پشتیبانی برای استفاده از الگوریتم lzfse برای فشرده سازی تصاویر dmg. برای فرمت qcow2، پشتیبانی از اتصال فایل های داده خارجی اضافه شده است. عملیات باز کردن بسته بندی qcow2 به یک موضوع جداگانه منتقل می شود. اضافه شدن پشتیبانی از عملیات "blockdev-create" در تصاویر vmdk.
  • دستگاه بلوک virtio-blk پشتیبانی از عملیات DISCARD (اطلاع رسانی در مورد آزادسازی بلوک ها) و WRITE_ZEROES (صفر کردن طیفی از بلوک های منطقی) را اضافه کرده است.
  • دستگاه pvrdma از خدمات RDMA Management Datagram (MAD) پشتیبانی می کند.
  • ارسال شده تغییرات، نقض سازگاری با عقب. به عنوان مثال، به جای گزینه handle در "-fsdev" و "-virtfs" باید از گزینه های "local" یا "proxy" استفاده کنید. گزینه های "-virtioconsole" (جایگزین شده با "-device virtconsole")، "-no-frame"، "-clock"، "-enable-hax" (به جای "-accel hax") حذف شدند. دستگاه حذف شده "ivshmem" (باید از "ivshmem-doorbell" و "ivshmem-plain" استفاده شود). پشتیبانی از ساخت با SDL1.2 متوقف شده است (شما باید از SDL2 استفاده کنید).

منبع: opennet.ru

اضافه کردن نظر