إصدار محاكي QEMU 4.1

مقدم من إطلاق المشروع QEMU 4.1. كمحاكي، يتيح لك QEMU تشغيل برنامج تم تجميعه لمنصة أجهزة واحدة على نظام ذي بنية مختلفة تمامًا، على سبيل المثال، تشغيل تطبيق ARM على جهاز كمبيوتر متوافق مع x86. في وضع المحاكاة الافتراضية في QEMU، يكون أداء تنفيذ التعليمات البرمجية في بيئة معزولة قريبًا من النظام الأصلي بسبب التنفيذ المباشر للتعليمات على وحدة المعالجة المركزية واستخدام وحدة Xen Hypervisor أو وحدة KVM.

تم إنشاء المشروع في الأصل بواسطة Fabrice Bellard للسماح لملفات Linux التنفيذية المصممة لمنصة x86 بالعمل على بنى غير x86. على مدار سنوات التطوير ، تمت إضافة دعم محاكاة كامل لـ 14 بنية للأجهزة ، وتجاوز عدد الأجهزة التي تمت مضاهاتها 400 جهاز. استعدادًا للإصدار 4.1 ، تم إجراء أكثر من 2000 تغيير من 276 مطورًا.

مفتاح تحسيناتتمت إضافته في QEMU 4.1:

  • تمت إضافة دعم لنماذج وحدة المعالجة المركزية Hygon Dhyana وIntel SnowRidge إلى محاكي البنية x86. تمت إضافة محاكاة لامتداد RDRAND (مولد الأرقام العشوائية الزائفة للأجهزة). أعلام المضافة
    md-clear وmds-no للتحكم في الحماية من الهجمات MDS (أخذ عينات البيانات المعمارية الدقيقة) على معالجات إنتل. تمت إضافة القدرة على تحديد طبولوجيا الدوائر المتكاملة باستخدام علامة "-smp ...,dies=". تم تنفيذ الإصدار لجميع نماذج وحدة المعالجة المركزية x86؛

  • تم نقل برنامج تشغيل كتلة SSH من الاستخدام libssh2 في libssh;
  • برنامج تشغيل Virtio-GPU (وحدة معالجة الرسومات الافتراضية التي تم تطويرها كجزء من المشروع فيرجيل) إضافة دعم لنقل عمليات العرض ثنائية وثلاثية الأبعاد إلى عملية vhost-user خارجية (على سبيل المثال، vhost-user-gpu)؛
  • أضاف محاكي بنية ARM دعمًا لامتداد ARMv8.5-RNG لإنشاء أرقام عشوائية زائفة. تم تنفيذ دعم محاكاة FPU لشرائح عائلة Cortex-M وتم حل المشكلات المتعلقة بمحاكاة FPU لـ Cortex-R5F. تم اقتراح نظام جديد لتحديد خيارات البناء، مصمم بأسلوب Kconfig. بالنسبة إلى SoC Exynos4210، تمت إضافة دعم وحدات التحكم PL330 DMA؛
  • قام محاكي بنية MIPS بتحسين الدعم لتعليمات MSA ASE عند استخدام ترتيب البايت ذو النهاية الكبيرة ومواءمة معالجة القسمة على الحالات الصفرية مع الأجهزة المرجعية. تمت زيادة أداء محاكاة تعليمات MSA لحسابات الأعداد الصحيحة وعمليات التقليب؛
  • يدعم الآن محاكي بنية PowerPC إعادة التوجيه إلى وحدات معالجة الرسومات NVIDIA V100/NVLink2 باستخدام VFIO. بالنسبة إلى pseries، تم تنفيذ تسريع محاكاة وحدة تحكم المقاطعة XIVE وتمت إضافة دعم للتوصيل السريع لجسور PCI. تم إجراء تحسينات على محاكاة تعليمات المتجهات (Altivec/VSX)؛
  • تمت إضافة نموذج جهاز جديد إلى محاكي بنية RISC-V - "spike". تمت إضافة دعم لـ ISA 1.11.0. تم تحسين استدعاء ABI لنظام 32 بت، وتم تحسين معالجة التعليمات غير الصالحة، وتم تحسين مصحح الأخطاء المدمج. تمت إضافة دعم لطوبولوجيا وحدة المعالجة المركزية في شجرة الأجهزة؛
  • أضاف محاكي البنية s390 دعمًا لمحاكاة جميع تعليمات المتجهات لمجموعة "Vector Facility" وأضاف عناصر إضافية لدعم أنظمة gen15 (بما في ذلك الدعم الإضافي لـ AP Queue Interruption Facility لـ vfio-ap). تم تنفيذ دعم BIOS للتمهيد من ECKD DASD المرتبط بنظام الضيف عبر vfio-ccw؛
  • في محاكي بنية SPARC لأنظمة sun4m، تم حل المشكلات المتعلقة باستخدام علامة "-vga none" لـ OpenBIOS؛
  • يتضمن محاكي معالج عائلة Tensilica Xtensa خيارات لـ MPU (وحدة حماية الذاكرة) والوصول الحصري؛
  • تمت إضافة خيار "-salvage" إلى أمر "qemu-img converter" لتعطيل تعطل عملية تحويل الصورة في حالة حدوث أخطاء في الإدخال/الإخراج (على سبيل المثال، يمكن استخدامه لاستعادة ملفات qcow2 التالفة جزئيًا). في فريق
    يعمل "qemu-img rebase" عندما لا يتم إنشاء ملف النسخ الاحتياطي لملف الإدخال بعد؛

  • تمت إضافة القدرة على إعادة توجيه المخرجات المنظمة باستخدام تقنية "semihosting" (تسمح للجهاز الذي تمت محاكاته باستخدام stdout وstderr وstdin لإنشاء ملفات على الجانب المضيف) إلى الواجهة الخلفية لـ chardev ("-semihosting-config Enable=on,target=native ,chardev=[المعرف]");
  • تمت إضافة دعم للتنسيق الفرعي seSparse في وضع القراءة فقط في برنامج تشغيل كتلة VMDK؛
  • تمت إضافة دعم لوحدة التحكم SiFive GPIO في برنامج تشغيل محاكاة GPIO.

المصدر: opennet.ru

إضافة تعليق