ال إطلاق الإصدار الجديد من QEMU 9.2 الإصدار الذي تم فيه دمج الدعم التجريبي لإنشاء نماذج الأجهزة باستخدام Rust، ودعم التسريع ثلاثي الأبعاد باستخدام Vulkan، وتحسينات لـ ARM، وx3، وRISC-V، من بين بنيات أخرى.
بالنسبة لأولئك الذين يجهلون QEMU ، يجب أن يعرفوا أنه كذلكيسمح لك بتشغيل برنامج تم إنشاؤه لمنصة أجهزة على ملف نظام معلهندسة معمارية مختلفة تمامًا ، على سبيل المثال ، تشغيل تطبيق ARM على جهاز كمبيوتر متوافق مع x86.
الأخبار الرئيسية لـ QEMU 9.2
في هذا الإصدار الجديد الذي تم تقديمه من QEMU 9.2 إضافة دعم لنماذج الأجهزة المكتوبة في لغة البرمجة Rust، نظرًا لأنه يتم تضمين التنفيذ البديل لبرنامج التشغيل PL011 UART المكتوب بلغة Rust افتراضيًا. ومع ذلك، لا يوصى بعد باستخدام هذا التطبيق على نطاق واسع.
والجدير بالذكر أن حاليا يتم تعطيل دعم الصدأ بشكل افتراضي ويجب تمكينه يدويًا أثناء التكوين باستخدام خيار –enable-rust. للتجميع، مطلوب على الأقل Rustc 1.63.0 وbindgen 0.60.0، والتي قد تتضمن تثبيت إصدارات أحدث من Rust على بعض التوزيعات، مثل Debian 12. في المستقبل، من المتوقع أن يصبح Rust وbindgen تبعيات إلزامية، ومن المخطط توسيع استخدام Rust في مكونات مثل برامج تشغيل HPET وكتلة الأجهزة والأنظمة الهامة للسلامة، مثل VirtIO.
تحسين رئيسي آخر في هذا الإصدار هو إضافة دعم للتسريع ثلاثي الأبعاد باستخدام Vulkan على جهاز VirtIO-GPU، الذي يوفر وحدات معالجة الرسومات الافتراضية. يتم تنفيذ هذه الوظيفة من خلال برنامج تشغيل Mesa's Venus Vulkan، والذي يسمح لنظام الضيف بإجراء عرض ثلاثي الأبعاد دون الوصول الحصري إلى وحدة معالجة الرسومات الفعلية للمضيف. لتمكين هذه الميزة، يلزم وجود مكتبة virglrenderer على المضيف وبرنامج تشغيل Venus Mesa على الضيف، وقد تم نشر تعليمات مفصلة لإعدادها.
بالإضافة إلى ذلك ، في QEMU 9.2، توفر مجموعة أدوات ترحيل الضيوف الآن ضغطًا أكثر كفاءة من تدفقات البيانات المنقولة في وقت واحد باستخدام مكتبة QATzip، والتي تستفيد من تقنية QuickAssist المضمنة في معالجات Intel. هذا يحسن الأداء بشكل ملحوظ في مهام الضغط والتشفير.
كما تم تسليط الضوء على أن تم تحسين محاكي بنية ARM بدعم ملحقات المعالج FEAT_EBF16 وFEAT_CMOW، إلى جانب التحسينات الأمنية المخصصة للوحات xilinx-zynq-a9. باستخدام مكون HVF، الذي يستفيد من Hypervisor.framework لتسريع تنفيذ الضيف على أجهزة ARM Mac، يتوفر الآن دعم لأكثر من 64 جيجابايت من الذاكرة.
للأنظمة sbsa-ref وvirt، إضافة دعم لترجمة العناوين مرحلتين في SMMU. لكن، تم إيقاف دعم أنواع مختلفة من الأجهزة وتقليد القدماء مثل أكيتا وبورزوي والفهد وغيرهم.
بخصوص العمارة RISC-V، تم دمج الامتدادات الجديدة مثل Svvptc وBitmanip وCFI المستخدمة في لوحات OpenTitan. بالإضافة إلى ذلك، يدعم النظام "الظاهري" الذي تمت محاكاته الآن IOMMU، مما يعمل على تحسين إدارة الذاكرة في الأنظمة الأكثر تعقيدًا، كما تم تحسين أداء تعليمات التحميل والتخزين.
من التغييرات الأخرى التي تبرز:
- أضاف محاكي بنية x86 دعمًا لتكوين الأجهزة الجديد، "nitro-enclave"، الذي يحاكي بيئة AWS Nitro Enclave ويسمح بتحميل صور النظام بتنسيق Enclave.
- تم تمكين دعم مجموعة تعليمات AVX10 على برنامج Hypervisor KVM ذو البنية x86، إلى جانب إصداراته المحددة: avx10-128، وavx10-256، وavx10-512.
- في بنية HPPA، تم تحديث البرنامج الثابت SeaBIOS-hppa إلى الإصدار 17 وعلى محاكي البنية s390x.
- أصبح من الممكن الآن التمهيد من أجهزة بديلة في حالة فشل الجهاز الأساسي، مما يضيف مرونة في بيئات التمهيد.
- أضافت الواجهة الخلفية للتشفير المستندة إلى GLib دعمًا لخوارزمية التجزئة SHA-384، مما أدى إلى توسيع قدراتها في التعامل مع عمليات التشفير.
- تم إصلاح بناء riscv64 في musl libc، ودعم RISC-V لمستخدم bsd
- تم إصلاح مشكلة الارتباط مع تعطيل خدمة Semihosting
إذا كنت مهتم بمعرفة المزيد عنها، يمكنك التحقق من التفاصيل في القائمة الكاملة للتغييرات في الرابط التالي.