تم تقديم إصدار مشروع QEMU 7.2. كمحاكي، يتيح لك QEMU تشغيل برنامج تم تجميعه لمنصة أجهزة واحدة على نظام ذي بنية مختلفة تمامًا، على سبيل المثال، تشغيل تطبيق ARM على جهاز كمبيوتر متوافق مع x86. في وضع المحاكاة الافتراضية في QEMU، يكون أداء تنفيذ التعليمات البرمجية في بيئة معزولة قريبًا من أداء نظام الأجهزة بسبب التنفيذ المباشر للتعليمات على وحدة المعالجة المركزية واستخدام وحدة Xen Hypervisor أو وحدة KVM.
تم إنشاء المشروع في الأصل بواسطة فابريس بيلارد لتوفير القدرة على تشغيل الملفات التنفيذية التي تم تجميعها لمنصة x86. Linux على بنى معمارية أخرى غير x86. على مر سنوات التطوير، تمت إضافة دعم المحاكاة الكاملة لـ 14 بنية معمارية للأجهزة، وتجاوز عدد أجهزة المحاكاة 400 جهاز. عند إعداد الإصدار 7.2، تم إجراء أكثر من 1800 تغيير من قبل 205 مطورًا.
تمت إضافة التحسينات الرئيسية في QEMU 7.2:
- تم تحديث محاكي بنية x86 في مولد أكواد TCG الكلاسيكي لدعم تعليمات AVX و AVX2 و F16C و FMA3 و VAES، وتم إجراء تحسينات على الأداء تتعلق باستخدام تعليمات SSE. KVM تمت إضافة دعم لآلية مراقبة خروج الأجهزة الافتراضية ("notify vmexit")، مما يسمح لك بتجاوز أخطاء وحدة المعالجة المركزية التي يمكن أن تؤدي إلى توقف النظام.
- يدعم محاكي ARM ملحقات وحدة المعالجة المركزية Cortex-A35 وملحقات المعالج ETS (مزامنة الترجمة المحسنة)، PMUv3p5 (امتدادات PMU 3.5)، GTG (وحدة ترجمة الضيف 4 كيلو بايت، 16 كيلو بايت، 64 كيلو بايت)، HAFDBS (التحكم في الأجهزة لعلامة الوصول والحالة "القذرة") وE0PD (يمنع وصول EL0 إلى مخططات العناوين المقسمة).
- يضيف محاكي LoongArch دعمًا لـ fw_cfg DMA، وذاكرة التوصيل السريع، ومحاكاة جهاز TPM (وحدة النظام الأساسي الموثوق به).
- يقوم محاكي بنية OpenRISC بتنفيذ النظام الأساسي "الظاهري" لاختبار الأجهزة واستخدامها في أنظمة التكامل المستمر. تم تنفيذ دعم التنفيذ متعدد الخيوط لمولد الأكواد الكلاسيكي TCG (Tiny Code Generator).
- يدعم مُحاكي بنية RISC-V في أجهزة "virt" المُحاكية الآن تحميل البرامج الثابتة من pflash في وضع S. تم تحسين العمل مع شجرة الأجهزة.
- يوفر المحاكي 390x الدعم لـ MSA5 (Message-Security-Assist Extension 5 مع تعليمات PRNO لإنشاء أرقام عشوائية زائفة)، وتعليمات KIMD/KLM (تنفيذ SHA-512) وتفسير zPCI الموسع لأنظمة الضيف استنادًا إلى برنامج Hypervisor KVM .
- توفر واجهات الذاكرة الخلفية تخصيصًا مسبقًا للذاكرة مع مراعاة بنية NUMA.
- Усилена проверка заголовков шифрованных блочных устройств LUKS, добавлена возможность создания образов LUKS в macOS.
- لقد تحول برنامج 9pfs الخلفي، الذي يسمح باستخدام نظام ملفات الشبكة Plan 9 للوصول إلى جهاز افتراضي واحد من جهاز آخر، إلى استخدام تجزئة GHashTable في جدول المعرف، مما أدى في بعض المواقف إلى زيادة الأداء بمقدار 6-12 ضعفًا.
- تمت إضافة تدفق خلفي جديد لـ netdev وdgram.
- تمت إضافة دعم FreeBSD إلى الوكيل للضيوف المعتمدين على ARM.
- В сборках GUI для macOS обеспечена возможность включения в один исполняемый файл интерфейсов на базе Cocoa и SDL/GTK.
- تمت إزالة الوحدة الفرعية المضمنة "slirp"، وبدلاً من ذلك يوصى باستخدام مكتبة نظام libslirp.
- بسبب نقص القدرة على الاختبار، تم إهمال دعم الأنظمة المضيفة ذات معالجات MIPS 32 بت التي تستخدم ترتيب البايتات Big Endian.
المصدر: opennet.ru
