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

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

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

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

  • پشتیبانی از مدل های CPU Hygon Dhyana و SnowRridge اینتل به شبیه ساز معماری x86 اضافه شده است. اضافه شدن شبیه سازی پسوند RDRAND (تولید کننده اعداد شبه تصادفی سخت افزاری). پرچم ها اضافه شد
    md-clear و mds-no برای کنترل حفاظت از حمله MDS (نمونه‌گیری داده‌های ریزمعماری) روی پردازنده‌های اینتل. قابلیت تعیین توپولوژی های مدار مجتمع با استفاده از پرچم "-smp ...,dies=" اضافه شده است. نسخه سازی برای تمام مدل های CPU x86 پیاده سازی شده است.

  • درایور بلوک SSH از استفاده خارج شده است libssh2 بر لیبش;
  • درایور virtio-gpu (GPU مجازی که به عنوان بخشی از پروژه توسعه یافته است ویرژیل) پشتیبانی اضافه شده برای انتقال عملیات رندر 2 بعدی/3 بعدی به فرآیند کاربر vhost خارجی (به عنوان مثال، vhost-user-gpu).
  • شبیه ساز معماری ARM پشتیبانی از پسوند ARMv8.5-RNG را برای تولید اعداد شبه تصادفی اضافه کرده است. پشتیبانی از شبیه سازی FPU برای تراشه های خانواده Cortex-M اجرا شده است و مشکلات شبیه سازی FPU برای Cortex-R5F حل شده است. یک سیستم جدید برای تنظیم گزینه های ساخت، طراحی شده در سبک Kconfig، پیشنهاد شده است. برای SoC Exynos4210، پشتیبانی از کنترلرهای PL330 DMA اضافه شده است.
  • شبیه‌ساز معماری MIPS پشتیبانی از دستورالعمل‌های MSA ASE را هنگام استفاده از ترتیب بایت‌های بزرگ endian بهبود بخشیده است و مدیریت تقسیم بر روی موارد صفر را با سخت‌افزار مرجع هماهنگ کرده است. عملکرد شبیه سازی دستورالعمل های MSA برای محاسبات اعداد صحیح و عملیات جایگشت افزایش یافته است.
  • شبیه ساز معماری PowerPC اکنون از ارسال به GPU های NVIDIA V100/NVLink2 با استفاده از VFIO پشتیبانی می کند. برای pseries، شتاب شبیه سازی کنترل کننده وقفه XIVE پیاده سازی شده است و پشتیبانی از اتصال داغ پل های PCI اضافه شده است. بهینه سازی هایی برای شبیه سازی دستورالعمل های برداری (Altivec/VSX) انجام شده است.
  • یک مدل سخت افزاری جدید به شبیه ساز معماری RISC-V اضافه شده است - "spike". پشتیبانی از ISA 1.11.0 اضافه شده است. فراخوانی سیستم 32 بیتی ABI بهبود یافته است، مدیریت دستورالعمل های نامعتبر بهبود یافته است، و دیباگر داخلی بهبود یافته است. اضافه شدن پشتیبانی از توپولوژی CPU در درخت دستگاه.
  • شبیه ساز معماری s390 پشتیبانی از شبیه سازی تمام دستورالعمل های برداری گروه "Vector Facility" و عناصر اضافی را برای پشتیبانی از سیستم های gen15 اضافه کرده است (از جمله پشتیبانی اضافه شده برای تسهیلات قطع صف AP برای vfio-ap). پشتیبانی از BIOS برای بوت شدن از ECKD DASD متصل به سیستم مهمان از طریق vfio-ccw.
  • در شبیه ساز معماری SPARC برای سیستم های sun4m، مشکلات استفاده از پرچم "-vga none" برای OpenBIOS حل شده است.
  • شبیه ساز پردازنده خانواده Tensilica Xtensa شامل گزینه هایی برای MPU (واحد حفاظت از حافظه) و دسترسی انحصاری است.
  • گزینه “-salvage” به دستور “qemu-img convert” اضافه شده است تا در صورت بروز خطاهای ورودی/خروجی، خرابی فرآیند تبدیل تصویر را غیرفعال کند (به عنوان مثال، می توان از آن برای بازیابی فایل های qcow2 نیمه آسیب دیده استفاده کرد). در یک تیم
    "qemu-img rebase" زمانی کار می کند که یک فایل پشتیبان هنوز برای فایل ورودی ایجاد نشده باشد.

  • قابلیت تغییر مسیر خروجی سازمان‌دهی‌شده با استفاده از فناوری "semihosting" (به دستگاه شبیه‌سازی‌شده اجازه می‌دهد تا از stdout، stderr و stdin برای ایجاد فایل‌ها در سمت میزبان استفاده کند) به باطن chardev ("-semihosting-config enable=on,target=native" اضافه شده است. ,chardev=[ ID]");
  • پشتیبانی از زیرفرمت seSparse در حالت فقط خواندنی در درایور بلوک VMDK اضافه شده است.
  • پشتیبانی از کنترلر SiFive GPIO در درایور شبیه سازی GPIO اضافه شده است.

منبع: opennet.ru

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