QEMU

البرمجيات قطة:
QEMU
تفاصيل البرنامج:
الإصدار: 2.12.0 محدث
تاريخ إيداع: 22 Jun 18
المطور: Fabrice Bellard
ترخيص: حرر
شعبية: 51

Rating: nan/5 (Total Votes: 0)

QEMU هو برنامج مفتوح المصدر وسريع جدًا للمحاكاة الافتراضية يركز على الترجمة الديناميكية لتحقيق مستوى معقول من الأداء ، بينما يكون من السهل الوصول إلى وحدات المعالجة المركزية (معالجات) المضيف الجديد.


مضاهاة آلة قوية و virtualizer

يُعرف أيضًا باسم المحاكي الآلي ، والذي تم تصميمه لمحاكاة نظام كامل ، بما في ذلك المعالج والأجهزة الطرفية. يدعم جزء المحاكاة أنظمة التشغيل والبرامج التي تم إنشاؤها لنظام أساسي واحد للأجهزة ، ولكنه يعمل على جهاز كمبيوتر مختلف بهندسة مختلفة.

من ناحية أخرى ، عند استخدام التطبيق كمحرك افتراضي ، يمكن أن يحقق أداءً أصليًا تقريبًا عن طريق تشغيل رمز الضيف مباشرة على المعالج المضيف. وهو يدعم برنامج Hypervisor Xen ووحدة kernel (Kernel Virtual Machine) KVM.


يدعم المحاكاة الافتراضية للعديد من منصات الأجهزة

إذا كان KVM مفضلاً ، فسيكون التطبيق قادرًا على محاكاة أجهزة x86 (32 بت) و s390 و PowerPC و ARM و m68k و MIPS و CRIS و Microblaze و MIPSEL و or32 و SPARC. يمكنه محاكاة أنظمة Windows XP و FreeDOS و SunOS ، بالإضافة إلى Virtio و USB Root Hubs والشبكات والإدخال والفيديو وأجهزة التخزين.

بعد VirtualBox و VMware ، يعتبر QEMU ثالث أكبر برنامج للمحاكاة الافتراضية لمنصات Linux ، ولكنه الأول والأقوى لنظام بيئي مفتوح المصدر. وتتمثل الميزة الرئيسية في إمكانية تشغيل الجهاز الظاهري الأصلي على معماريات 64 بت أو 32 بت ، أو كمحاكي خالص.


أنظمة التشغيل المدعومة

هي عبارة عن برنامج سطر أوامر وتعمل على أنظمة التشغيل المستندة إلى Linux ، بالإضافة إلى Microsoft Windows ونكهات UNIX المختلفة. يتم توفير أرشيف مصدر في قسم التنزيل المخصص ، مما يسمح للمستخدمين بتكوين البرنامج وتثبيته وتثبيته في أي توزيع لنظام Linux ، وكذلك على أنظمة OpenBSD و Solaris و AIX و MinGW و Cygwin.


الحد الأدنى

سواء كنت ترغب في اختبار البرامج ، أو تجربة أنظمة تشغيل مختلفة ، أو تشغيل التطبيقات غير المدعومة على النظام الأساسي الخاص بك ، توفر QEMU للمستخدمين واحدة من أسرع الأجهزة الظاهرية والمحاكيات.

ما هو الجديد في هذا الإصدار:

مضاهاة النظام:
التغييرات غير المتوافقة:
تم تقليل عدد جسور PCI المضيفة المسموح بها لجهاز pSeries من 256 إلى 31 (يمكن تكوين المزيد من خلال إعداد MMIO windows يدويًا).
تمت إزالة الدعم لـ tftp: // في طبقة الحظر ، نظرًا لأن هذا قد تم كسره إلى الأبد لملفات أكبر من 256 كيلوبايت.
التغييرات غير المتوافقة المستقبلية:
ثلاثة خيارات تستخدم أسماء مختلفة في سطر الأوامر وفي ملف التكوين. خاصه:
The & quot؛ acpi & quot؛ يتطابق قسم ملف التهيئة مع خيار سطر الأوامر & quot؛ acpitable & quot ؛؛
The & quot؛ boot-opts & quot؛ يتطابق قسم ملف التهيئة مع خيار سطر الأوامر & quot؛ boot & quot ؛؛
The & quot؛ smp-opts & quot؛ يتطابق قسم ملف التهيئة مع خيار سطر الأوامر & quot؛ smp & quot ؛.
سوف-standardconfig توحيد على اسم لخيار سطر الأوامر.
سلوك الحساب التلقائي لطبقة SMP عند حذف بعض خيارات طبولوجيا SMP لـ -smp (مآخذ ، نوى ، خيوط) سوف تتغير في المستقبل. إذا احتاج الضيف إلى الحفاظ على ABI على الترقيات أثناء استخدام خيارات طوبولوجيا SMP ، فيجب على المستخدمين إما تعيين كل الخيارات بشكل صريح (مآخذ أو نوى أو سلاسل) أو حذف كل منهم.

الأجهزة & quot؛ allwinner-a10 & quot؛ & & quot؛ pc87312 & quot؛ & quot؛ ssi-sd & quot؛ سيتم تكوينه مع خصائص صريحة بدلاً من ضمنيًا. هذا من غير المحتمل أن يؤثر على المستخدمين.
لا يزال الأمر QMP blockdev-add عبارة عن عمل قيد التقدم. لا يدعم كل برامج التشغيل ، فإنه يفتقد إلى blockdev-del متطابقة ، وأكثر من ذلك. قد يتغير بشكل غير متوافق.
بالنسبة إلى الإصدار x86 ، تحديد ميزة CPUID مع كلٍّ من & quot؛ + ميزة / - ميزة & quot؛ و & quot؛ الميزة = تشغيل / إيقاف & quot؛ سوف يسبب تحذيرا. سيتم تغيير السلوك الحالي لهذه المجموعة (& quot؛ + الميزة / - ميزة & quot؛ wins over & quot؛ الميزة = تشغيل / إيقاف & quot؛) بحيث & quot؛ + ميزة & quot؛ و & quot؛ - ميزة & quot؛ سوف تكون مرادفات لـ & quot؛ الميزة = على & quot؛ و & quot؛ ميزة = إيقاف & quot؛ على التوالي).
ذراع:
تحسينات على لوحة Aspeed.
دعم الفخاخ semihosting HLT في وضع AArch32 (كلا ARM والإبهام).
جداول ACPI لـ & quot؛ virt & quot؛ نوع الجهاز دعم ITS.
يدعم الجهاز GEM الإيقاع الآن قوائم انتظار الأولوية متعددة خلال خاصية قوائم ذات الأولوية - num.
تتضمن اللوحة STM32F2xx (Netduino 2) الآن أجهزة ADC و SPI.
MIPS:
دعم لوحدات المعالجة المركزية 24KEc.
باور:
دعم لوحدات المعالجة المركزية POWER9.تحسينات على الجديد & quot؛ powernv & quot؛ برنامج.
ل pSeries:
يمكن ربط جسور مضيف PCI بعقد NUMA.
دعم لأكثر من 1 TiB من ذاكرة الضيف.
دعم لأكثر من 64 غيغا بايت من نافذة MMIO في جسر مضيف PCI.
دعم & quot؛ -prom-env & quot؛ معامل
S390:
دعم لنماذج وحدة المعالجة المركزية.
دعم مراجعة virtio-ccw 2.
إلى x86:
دعم العديد من ميزات CPUID الجديدة ذات الصلة بملحقات مجموعة تعليمات AVX-512.
يكون الـ IOAPIC (الذي تستخدمه TCG و ، مع KVM ، إذا كان الخيار & quot؛ -machine kernel_irqchip & quot؛) يحتوي على القيمة & quot؛ off & quot؛ أو & quot؛ الانقسام & quot؛) الآن الافتراضية للإصدار 0x20 ، الذي يدعم رسائل نهاية المقاطعة الموجهة.
دعم وضع Interrupt Interrupt (EIM) في جهاز intel_iommu. يتطلب EIM KVM (Linux v4.7 أو الأحدث ، لدعم x2APIC) و & quot؛ -machine kernel-irqchip = split & quot ؛؛ يتم تمكينه تلقائيًا إذا تم تمكين إعادة تعيين المقاطعة (& quot؛ -machine kernel-irqchip = split -device intel_iommu، intremap = on & quot؛).
دعم حتى 288 وحدة معالجة مركزية (CPU) مع أنواع الماكينة Q35. يتم اعتماد 256 أو أكثر من وحدات المعالجة المركزية (CPU) فقط إذا تم تمكين IOMMU و EIM.
كسين:
دعم إلغاء توصيل SCSI القرص.دعم جهاز متوافق مع SUSE xenlinux unplug.
مضاهاة الجهاز والتعيين:
يتضمن QEMU الآن جهاز زائف محمل عام يتيح لك تحميل صور متعددة أو قيم متعددة في الذاكرة عند بدء التشغيل. تم توثيق هذا الجهاز في docs / generic-loader.txt.
ACPI:
دعم hotplugging من أجهزة NVDIMM (_FIT)
أجهزة الشبكة:
دعم التسامح مع الخطأ استنادًا إلى خطوة القفل الخشنة (COLO).
PCI / PCIe ل:
يدعم جهاز EDU عينة الآن MSI.
تمت إضافة وثائق إرشادات PCI Express للحصول على المشورة حول الطبولوجيا و PCI مقابل PCIe.
virtio:
جهاز جديد vhost-vsock.
دعم مبدئي للتعامل الجيد مع أخطاء النزلاء (بمعنى أنه لا يجب على QEMU الخروج من أخطاء الضيف).
دعم جهاز virtio-crypto جديد.
كسين:
دعم لمنح نسخة.
نظام تشفير فرعي:
دعم المزيد من خوارزميات التجزئة لـ PBKDF.
دعم لوضع CTR.
واجهة المستخدم الرسومية:
يمكن لـ SPICE استخدام عرض OpenGL النقي في حالة & quot؛ gl = على & quot؛ محدد.
مراقب:
الهجرة:
دعم التسامح مع الخطأ استنادًا إلى خطوة القفل الخشنة (COLO).
شبكة الاتصال:
حظر الأجهزة والأدوات:تدعم أوامر QMP الأخرى اسم العقدة (block-stream، block-commit، blockdev-backup، blockdev-mirror، blockdev-snapshot-delete-internal-sync، blockdev-snapshot-internal-sync، change-backing-file، drive- النسخ الاحتياطي ، محرك المرآة ، nbd-server-add).
يتضمن حدث BLOCK_IO_ERROR الآن اسم العقدة.
المزيد من أوامر QMP تقبل أسماء طرازات الجهاز (block_set_io_throttle ، blockdev-change-medium ، eject ، x-blockdev-remove-medium ، x-blockdev-insert-medium ، blockdev-open-tray ، blockdev-close-tray)
يتضمن حدث DEVICE_TRAY_MOVED الآن معرّف الجهاز.
ينطبق الخنق الآن على جهاز الضيف فقط ، وليس لمنع الوظائف أو خادم NBD.
النسخ الاحتياطي لمحرك الأقراص و blockdev - النسخ الاحتياطي دعم كتابة النسخ الاحتياطي في تنسيق مضغوط.
يمكن تنسيق LUKS الآن تكوين عدد التكرار PBKDF.
يدعم block-stream الدفق من ملف خلفي إلى ملف دعم آخر.
دعم للنسخ المتماثل ، من أجل التسامح مع الخطأ (BLO).
جديد & quot؛ dd & quot؛ subcomamand من qemu-img.
يمكن تحويل برنامج التشغيل DMG إلى برنامج تشغيل منفصل ، وذلك لجعل اعتماد QEMU على libbz2 اختياريًا.
دعم iSER في مبادر iSCSI في QEMU عبر iser: // URI.يدعم العميل والملقم NBD الامتداد NBD_CMD_WRITE_ZEROES.
تدعم الصور الأولية & quot؛ الإزاحة & quot؛ و & quot؛ حجم & quot؛ خيارات للوصول فقط إلى جزء من الملف أو الجهاز.
اقتفاء أثر:
خلفية التتبع الجديدة & quot؛ syslog & quot؛
دعم متعدد & quot؛ -d التتبع: PATTERN & quot؛ وسائط سطر الأوامر.
خيارات CLI:
مضاهاة وضع المستخدم
دعم الهدف إزالتها
قام unicore32-linux-user target بتنفيذ نظام مختلف يسمى ABI من لينكس الرئيسي لهذه البنية. تم إسقاط الدعم لها.
وظائف جديدة:
إضافة دعم لمزيد من syscalls بما في ذلك preadv ، pwritev ، syslog.
تحسينات تدريجية رئيسية للبرامج متعددة الخيوط (ARM ، SPARC ، x86).
يمكن الآن QEMU فهم وتوليد عمليات السياج و cmpxchg.
TCG:
تمت إضافة البدائل الجديدة لـ TCG لنماذج مزامنة التزامن المعماري بأمان (على سبيل المثال atomics و LL / SC و LOCK prefixes). تستخدم أهداف arm و aarch64 و alpha و x86 هذه البدائل لبرامج مستخدم linux-thread متعددة المسارات. يتم تشجيع مشرفو TCG المستهدفون على تنفيذ واجهاتهم الأمامية لاستخدام المرافق الجديدة.

تبث الخلفية الخلفية ل TCG الآن تعليمات الحواجز المناسبة لحواجز الواجهة الأمامية عند تشغيل برامج متعددة الخيوط. ومع ذلك ، فإن محاكاة بنية مرتبة بشدة (على سبيل المثال ، x86) على وحدة مرتبة بشكل ضعيف (على سبيل المثال ، ARM أو POWER) لن تعمل بعد.
tb_flush () أخيرًا مؤمن موضوعي ، مما يعني أنه من المحتمل أن تتعطل البرامج متعددة الخيوط عند إعادة تعيين مخزن الترجمة
تم تخفيض التنافس القفل في حلقة التشغيل الرئيسية وحدة المعالجة المركزية تحسين الأداء للشفرة متعددة الخيوط
تم تحديد عدد من السباقات وتثبيتها
دمج الكثير من عمل TCG في هذه الدورة حيث المتطلبات الأساسية لدعم مضاهاة النظام متعدد الخيوط (MTTCG). في حين أنه من المتوقع دمج الدعم الكامل لـ MTTCG في دورة التطوير التالية ، فإن برامج المستخدمين المتعددين متعددة البرامج ستستفيد بالفعل من هذا العمل.

ما هو الجديد في الإصدار:

مضاهاة النظام:
التغييرات غير المتوافقة:
تم تقليل عدد جسور PCI المضيفة المسموح بها لجهاز pSeries من 256 إلى 31 (يمكن تكوين المزيد من خلال إعداد MMIO windows يدويًا).
تمت إزالة الدعم لـ tftp: // في طبقة الحظر ، نظرًا لأن هذا قد تم كسره إلى الأبد لملفات أكبر من 256 كيلوبايت.
التغييرات غير المتوافقة المستقبلية:
ثلاثة خيارات تستخدم أسماء مختلفة في سطر الأوامر وفي ملف التكوين. خاصه:
يطابق قسم ملف تكوين "acpi" خيار سطر الأوامر "acpitable"؛
يطابق قسم ملف التكوين "boot-opts" خيار سطر الأوامر "boot"؛
يطابق قسم ملف التكوين "smp-opts" خيار سطر الأوامر "smp".
سوف-standardconfig توحيد على اسم لخيار سطر الأوامر.
سلوك الحساب التلقائي لطبقة SMP عند حذف بعض خيارات طبولوجيا SMP لـ -smp (مآخذ ، نوى ، خيوط) سوف تتغير في المستقبل. إذا احتاج الضيف إلى الحفاظ على ABI على الترقيات أثناء استخدام خيارات طوبولوجيا SMP ، فيجب على المستخدمين إما تعيين كل الخيارات بوضوح (مآخذ أو نوى أو سلاسل) أو حذف كل منها.سيتم تكوين الأجهزة "allwinner-a10" و "pc87312" و "ssi-sd" مع خصائص صريحة بدلاً من ضمنيًا. هذا من غير المحتمل أن يؤثر على المستخدمين.
لا يزال الأمر QMP blockdev-add عبارة عن عمل قيد التقدم. لا يدعم كل برامج التشغيل ، فإنه يفتقد إلى blockdev-del متطابقة ، وأكثر من ذلك. قد يتغير بشكل غير متوافق.
بالنسبة إلى x86 ، سيؤدي تحديد ميزة CPUID مع كل من "+ feature / -feature" و "feature = on / off" إلى حدوث تحذير. سيتم تغيير السلوك الحالي لهذه المجموعة ("+ ميزة / ميزة" يفوز فوق "الميزة = التشغيل / الإيقاف") بحيث تكون "+ الميزة" و "-الميزات" مرادفات لـ "الميزة = على" و "الميزة = قبالة "على التوالي".
ذراع:
تحسينات على لوحة Aspeed.
دعم الفخاخ semihosting HLT في وضع AArch32 (كلا ARM والإبهام).
جداول ACPI لنوع الجهاز "virt" تدعم ITS.
يدعم الجهاز GEM الإيقاع الآن قوائم انتظار الأولوية متعددة خلال خاصية قوائم ذات الأولوية - num.
تتضمن اللوحة STM32F2xx (Netduino 2) الآن أجهزة ADC و SPI.
MIPS:
دعم لوحدات المعالجة المركزية 24KEc.
باور:
دعم لوحدات المعالجة المركزية POWER9.
تحسينات لمنصة "powernv" الجديدة.
ل pSeries:يمكن ربط جسور مضيف PCI بعقد NUMA.
دعم لأكثر من 1 TiB من ذاكرة الضيف.
دعم لأكثر من 64 غيغا بايت من نافذة MMIO في جسر مضيف PCI.
دعم معلمة "-prom-env"
S390:
دعم لنماذج وحدة المعالجة المركزية.
دعم مراجعة virtio-ccw 2.
إلى x86:
دعم العديد من ميزات CPUID الجديدة ذات الصلة بملحقات مجموعة تعليمات AVX-512.
إن الـ IOAPIC (الذي يستخدمه TCG و ، KVM ، إذا كان الخيار "-machine kernel_irqchip" يحتوي على القيمة "off" أو "split") ، فإنه يتم الآن تعيين القيمة الافتراضية للإصدار 0x20 ، الذي يدعم رسائل نهاية المقاطعة الموجهة.
دعم وضع Interrupt Interrupt (EIM) في جهاز intel_iommu. يتطلب EIM KVM (Linux v4.7 أو الأحدث ، لدعم x2APIC) و "-machine kernel-irqchip = split"؛ يتم تمكينه تلقائيًا إذا تم تمكين إعادة تعيين المقاطعة ("-machine kernel-irqchip = split -device intel_iommu ، intremap = on").
دعم حتى 288 وحدة معالجة مركزية (CPU) مع أنواع الماكينة Q35. يتم اعتماد 256 أو أكثر من وحدات المعالجة المركزية (CPU) فقط إذا تم تمكين IOMMU و EIM.
كسين:
دعم إلغاء توصيل SCSI القرص.
دعم جهاز متوافق مع SUSE xenlinux unplug.
مضاهاة الجهاز والتعيين:يتضمن QEMU الآن جهاز زائف محمل عام يتيح لك تحميل صور متعددة أو قيم متعددة في الذاكرة عند بدء التشغيل. تم توثيق هذا الجهاز في docs / generic-loader.txt.
ACPI:
دعم hotplugging من أجهزة NVDIMM (_FIT)
أجهزة الشبكة:
دعم التسامح مع الخطأ استنادًا إلى خطوة القفل الخشنة (COLO).
PCI / PCIe ل:
يدعم جهاز EDU عينة الآن MSI.
تمت إضافة وثائق إرشادات PCI Express للحصول على المشورة حول الطبولوجيا و PCI مقابل PCIe.
virtio:
جهاز جديد vhost-vsock.
دعم مبدئي للتعامل الجيد مع أخطاء النزلاء (بمعنى أنه لا يجب على QEMU الخروج من أخطاء الضيف).
دعم جهاز virtio-crypto جديد.
كسين:
دعم لمنح نسخة.
نظام تشفير فرعي:
دعم المزيد من خوارزميات التجزئة لـ PBKDF.
دعم لوضع CTR.
واجهة المستخدم الرسومية:
يمكن لـ SPICE استخدام عرض OpenGL النقي إذا تم تحديد "gl = on".
مراقب:
الهجرة:
دعم التسامح مع الخطأ استنادًا إلى خطوة القفل الخشنة (COLO).
شبكة الاتصال:
حظر الأجهزة والأدوات:تدعم أوامر QMP الأخرى اسم العقدة (block-stream، block-commit، blockdev-backup، blockdev-mirror، blockdev-snapshot-delete-internal-sync، blockdev-snapshot-internal-sync، change-backing-file، drive- النسخ الاحتياطي ، محرك المرآة ، nbd-server-add).
يتضمن حدث BLOCK_IO_ERROR الآن اسم العقدة.
المزيد من أوامر QMP تقبل أسماء طرازات الجهاز (block_set_io_throttle ، blockdev-change-medium ، eject ، x-blockdev-remove-medium ، x-blockdev-insert-medium ، blockdev-open-tray ، blockdev-close-tray)
يتضمن حدث DEVICE_TRAY_MOVED الآن معرّف الجهاز.
ينطبق الخنق الآن على جهاز الضيف فقط ، وليس لمنع الوظائف أو خادم NBD.
النسخ الاحتياطي لمحرك الأقراص و blockdev - النسخ الاحتياطي دعم كتابة النسخ الاحتياطي في تنسيق مضغوط.
يمكن تنسيق LUKS الآن تكوين عدد التكرار PBKDF.
يدعم block-stream الدفق من ملف خلفي إلى ملف دعم آخر.
دعم للنسخ المتماثل ، من أجل التسامح مع الخطأ (BLO).
جديد "dd" subcomamand من qemu-img.
يمكن تحويل برنامج التشغيل DMG إلى برنامج تشغيل منفصل ، وذلك لجعل اعتماد QEMU على libbz2 اختياريًا.
دعم iSER في مبادر iSCSI في QEMU عبر iser: // URI.يدعم العميل والملقم NBD الامتداد NBD_CMD_WRITE_ZEROES.
تدعم الصور الأولية خيارات "الإزاحة" و "الحجم" للوصول إلى جزء من الملف أو الجهاز فقط.
اقتفاء أثر:
الخلفية الجديدة للبحث عن المفقودين "syslog".
دعم متعددة "-d التتبع: PATTERN" وسيطات سطر الأوامر.
خيارات CLI:
مضاهاة وضع المستخدم
دعم الهدف إزالتها
قام unicore32-linux-user target بتنفيذ نظام مختلف يسمى ABI من لينكس الرئيسي لهذه البنية. تم إسقاط الدعم لها.
وظائف جديدة:
إضافة دعم لمزيد من syscalls بما في ذلك preadv ، pwritev ، syslog.
تحسينات تدريجية رئيسية للبرامج متعددة الخيوط (ARM ، SPARC ، x86).
يمكن الآن QEMU فهم وتوليد عمليات السياج و cmpxchg.
TCG:
تمت إضافة البدائل الجديدة لـ TCG لنماذج مزامنة التزامن المعماري بأمان (على سبيل المثال atomics و LL / SC و LOCK prefixes). تستخدم أهداف arm و aarch64 و alpha و x86 هذه البدائل لبرامج مستخدم linux-thread متعددة المسارات. يتم تشجيع مشرفو TCG المستهدفون على تنفيذ واجهاتهم الأمامية لاستخدام المرافق الجديدة.

تبث الخلفية الخلفية ل TCG الآن تعليمات الحواجز المناسبة لحواجز الواجهة الأمامية عند تشغيل برامج متعددة الخيوط. ومع ذلك ، فإن محاكاة بنية مرتبة بشدة (على سبيل المثال ، x86) على وحدة مرتبة بشكل ضعيف (على سبيل المثال ، ARM أو POWER) لن تعمل بعد.
tb_flush () أخيرًا مؤمن موضوعي ، مما يعني أنه من المحتمل أن تتعطل البرامج متعددة الخيوط عند إعادة تعيين مخزن الترجمة
تم تخفيض التنافس القفل في حلقة التشغيل الرئيسية وحدة المعالجة المركزية تحسين الأداء للشفرة متعددة الخيوط
تم تحديد عدد من السباقات وتثبيتها
دمج الكثير من عمل TCG في هذه الدورة حيث المتطلبات الأساسية لدعم مضاهاة النظام متعدد الخيوط (MTTCG). في حين أنه من المتوقع دمج الدعم الكامل لـ MTTCG في دورة التطوير التالية ، فإن برامج المستخدمين المتعددين متعددة البرامج ستستفيد بالفعل من هذا العمل.

الجديد في الإصدار 2.9.0:

مضاهاة النظام:
التغييرات غير المتوافقة:
تم تقليل عدد جسور PCI المضيفة المسموح بها لجهاز pSeries من 256 إلى 31 (يمكن تكوين المزيد من خلال إعداد MMIO windows يدويًا).
تمت إزالة الدعم لـ tftp: // في طبقة الحظر ، نظرًا لأن هذا قد تم كسره إلى الأبد لملفات أكبر من 256 كيلوبايت.
التغييرات غير المتوافقة المستقبلية:
ثلاثة خيارات تستخدم أسماء مختلفة في سطر الأوامر وفي ملف التكوين. خاصه:
يطابق قسم ملف تكوين "acpi" خيار سطر الأوامر "acpitable"؛
يطابق قسم ملف التكوين "boot-opts" خيار سطر الأوامر "boot"؛
يطابق قسم ملف التكوين "smp-opts" خيار سطر الأوامر "smp".
سوف-standardconfig توحيد على اسم لخيار سطر الأوامر.
سلوك الحساب التلقائي لطبقة SMP عند حذف بعض خيارات طبولوجيا SMP لـ -smp (مآخذ ، نوى ، خيوط) سوف تتغير في المستقبل. إذا احتاج الضيف إلى الحفاظ على ABI على الترقيات أثناء استخدام خيارات طوبولوجيا SMP ، فيجب على المستخدمين إما تعيين كل الخيارات بوضوح (مآخذ أو نوى أو سلاسل) أو حذف كل منها.سيتم تكوين الأجهزة "allwinner-a10" و "pc87312" و "ssi-sd" مع خصائص صريحة بدلاً من ضمنيًا. هذا من غير المحتمل أن يؤثر على المستخدمين.
لا يزال الأمر QMP blockdev-add عبارة عن عمل قيد التقدم. لا يدعم كل برامج التشغيل ، فإنه يفتقد إلى blockdev-del متطابقة ، وأكثر من ذلك. قد يتغير بشكل غير متوافق.
بالنسبة إلى x86 ، سيؤدي تحديد ميزة CPUID مع كل من "+ feature / -feature" و "feature = on / off" إلى حدوث تحذير. سيتم تغيير السلوك الحالي لهذه المجموعة ("+ ميزة / ميزة" يفوز فوق "الميزة = التشغيل / الإيقاف") بحيث تكون "+ الميزة" و "-الميزات" مرادفات لـ "الميزة = على" و "الميزة = قبالة "على التوالي".
ذراع:
تحسينات على لوحة Aspeed.
دعم الفخاخ semihosting HLT في وضع AArch32 (كلا ARM والإبهام).
جداول ACPI لنوع الجهاز "virt" تدعم ITS.
يدعم الجهاز GEM الإيقاع الآن قوائم انتظار الأولوية متعددة خلال خاصية قوائم ذات الأولوية - num.
تتضمن اللوحة STM32F2xx (Netduino 2) الآن أجهزة ADC و SPI.
MIPS:
دعم لوحدات المعالجة المركزية 24KEc.
باور:
دعم لوحدات المعالجة المركزية POWER9.
تحسينات لمنصة "powernv" الجديدة.
ل pSeries:يمكن ربط جسور مضيف PCI بعقد NUMA.
دعم لأكثر من 1 TiB من ذاكرة الضيف.
دعم لأكثر من 64 غيغا بايت من نافذة MMIO في جسر مضيف PCI.
دعم معلمة "-prom-env"
S390:
دعم لنماذج وحدة المعالجة المركزية.
دعم مراجعة virtio-ccw 2.
إلى x86:
دعم العديد من ميزات CPUID الجديدة ذات الصلة بملحقات مجموعة تعليمات AVX-512.
إن الـ IOAPIC (الذي يستخدمه TCG و ، KVM ، إذا كان الخيار "-machine kernel_irqchip" يحتوي على القيمة "off" أو "split") ، فإنه يتم الآن تعيين القيمة الافتراضية للإصدار 0x20 ، الذي يدعم رسائل نهاية المقاطعة الموجهة.
دعم وضع Interrupt Interrupt (EIM) في جهاز intel_iommu. يتطلب EIM KVM (Linux v4.7 أو الأحدث ، لدعم x2APIC) و "-machine kernel-irqchip = split"؛ يتم تمكينه تلقائيًا إذا تم تمكين إعادة تعيين المقاطعة ("-machine kernel-irqchip = split -device intel_iommu ، intremap = on").
دعم حتى 288 وحدة معالجة مركزية (CPU) مع أنواع الماكينة Q35. يتم اعتماد 256 أو أكثر من وحدات المعالجة المركزية (CPU) فقط إذا تم تمكين IOMMU و EIM.
كسين:
دعم إلغاء توصيل SCSI القرص.
دعم جهاز متوافق مع SUSE xenlinux unplug.
مضاهاة الجهاز والتعيين:يتضمن QEMU الآن جهاز زائف محمل عام يتيح لك تحميل صور متعددة أو قيم متعددة في الذاكرة عند بدء التشغيل. تم توثيق هذا الجهاز في docs / generic-loader.txt.
ACPI:
دعم hotplugging من أجهزة NVDIMM (_FIT)
أجهزة الشبكة:
دعم التسامح مع الخطأ استنادًا إلى خطوة القفل الخشنة (COLO).
PCI / PCIe ل:
يدعم جهاز EDU عينة الآن MSI.
تمت إضافة وثائق إرشادات PCI Express للحصول على المشورة حول الطبولوجيا و PCI مقابل PCIe.
virtio:
جهاز جديد vhost-vsock.
دعم مبدئي للتعامل الجيد مع أخطاء النزلاء (بمعنى أنه لا يجب على QEMU الخروج من أخطاء الضيف).
دعم جهاز virtio-crypto جديد.
كسين:
دعم لمنح نسخة.
نظام تشفير فرعي:
دعم المزيد من خوارزميات التجزئة لـ PBKDF.
دعم لوضع CTR.
واجهة المستخدم الرسومية:
يمكن لـ SPICE استخدام عرض OpenGL النقي إذا تم تحديد "gl = on".
مراقب:
الهجرة:
دعم التسامح مع الخطأ استنادًا إلى خطوة القفل الخشنة (COLO).
شبكة الاتصال:
حظر الأجهزة والأدوات:تدعم أوامر QMP الأخرى اسم العقدة (block-stream، block-commit، blockdev-backup، blockdev-mirror، blockdev-snapshot-delete-internal-sync، blockdev-snapshot-internal-sync، change-backing-file، drive- النسخ الاحتياطي ، محرك المرآة ، nbd-server-add).
يتضمن حدث BLOCK_IO_ERROR الآن اسم العقدة.
المزيد من أوامر QMP تقبل أسماء طرازات الجهاز (block_set_io_throttle ، blockdev-change-medium ، eject ، x-blockdev-remove-medium ، x-blockdev-insert-medium ، blockdev-open-tray ، blockdev-close-tray)
يتضمن حدث DEVICE_TRAY_MOVED الآن معرّف الجهاز.
ينطبق الخنق الآن على جهاز الضيف فقط ، وليس لمنع الوظائف أو خادم NBD.
النسخ الاحتياطي لمحرك الأقراص و blockdev - النسخ الاحتياطي دعم كتابة النسخ الاحتياطي في تنسيق مضغوط.
يمكن تنسيق LUKS الآن تكوين عدد التكرار PBKDF.
يدعم block-stream الدفق من ملف خلفي إلى ملف دعم آخر.
دعم للنسخ المتماثل ، من أجل التسامح مع الخطأ (BLO).
جديد "dd" subcomamand من qemu-img.
يمكن تحويل برنامج التشغيل DMG إلى برنامج تشغيل منفصل ، وذلك لجعل اعتماد QEMU على libbz2 اختياريًا.
دعم iSER في مبادر iSCSI في QEMU عبر iser: // URI.يدعم العميل والملقم NBD الامتداد NBD_CMD_WRITE_ZEROES.
تدعم الصور الأولية خيارات "الإزاحة" و "الحجم" للوصول إلى جزء من الملف أو الجهاز فقط.
اقتفاء أثر:
الخلفية الجديدة للبحث عن المفقودين "syslog".
دعم متعددة "-d التتبع: PATTERN" وسيطات سطر الأوامر.
خيارات CLI:
مضاهاة وضع المستخدم
دعم الهدف إزالتها
قام unicore32-linux-user target بتنفيذ نظام مختلف يسمى ABI من لينكس الرئيسي لهذه البنية. تم إسقاط الدعم لها.
وظائف جديدة:
إضافة دعم لمزيد من syscalls بما في ذلك preadv ، pwritev ، syslog.
تحسينات تدريجية رئيسية للبرامج متعددة الخيوط (ARM ، SPARC ، x86).
يمكن الآن QEMU فهم وتوليد عمليات السياج و cmpxchg.
TCG:
تمت إضافة البدائل الجديدة لـ TCG لنماذج مزامنة التزامن المعماري بأمان (على سبيل المثال atomics و LL / SC و LOCK prefixes). تستخدم أهداف arm و aarch64 و alpha و x86 هذه البدائل لبرامج مستخدم linux-thread متعددة المسارات. يتم تشجيع مشرفو TCG المستهدفون على تنفيذ واجهاتهم الأمامية لاستخدام المرافق الجديدة.ترسل الخلفية TCG الآن تعليمات حاجزة مناسبة لحواجز الواجهة الأمامية عند تشغيل البرامج متعددة الخيوط. ومع ذلك ، فإن محاكاة بنية مرتبة بشدة (على سبيل المثال ، x86) على وحدة مرتبة بشكل ضعيف (على سبيل المثال ، ARM أو POWER) لن تعمل بعد.
tb_flush () أخيرًا مؤمن موضوعي ، مما يعني أنه من المحتمل أن تتعطل البرامج متعددة الخيوط عند إعادة تعيين مخزن الترجمة
تم تخفيض التنافس القفل في حلقة التشغيل الرئيسية وحدة المعالجة المركزية تحسين الأداء للشفرة متعددة الخيوط
تم تحديد عدد من السباقات وتثبيتها
دمج الكثير من عمل TCG في هذه الدورة حيث المتطلبات الأساسية لدعم مضاهاة النظام متعدد الخيوط (MTTCG). في حين أنه من المتوقع دمج الدعم الكامل لـ MTTCG في دورة التطوير التالية ، فإن برامج المستخدمين المتعددين متعددة البرامج ستستفيد بالفعل من هذا العمل.

البرامج الأخرى من المطور Fabrice Bellard

KQEMU
KQEMU

2 Jun 15

Tiny C Compiler
Tiny C Compiler

3 Jun 15

FFmpeg
FFmpeg

17 Aug 18

تعليقات ل QEMU

لم يتم العثور على التعليقات
إضافة تعليق
بدوره على الصور!