QEMU 6.0 ایمولیٹر کی ریلیز

QEMU 6.0 پروجیکٹ کا اجراء پیش کیا گیا ہے۔ ایک ایمولیٹر کے طور پر، QEMU آپ کو مکمل طور پر مختلف فن تعمیر والے سسٹم پر ایک ہارڈویئر پلیٹ فارم کے لیے بنایا گیا پروگرام چلانے کی اجازت دیتا ہے، مثال کے طور پر، x86-مطابقت پذیر PC پر ARM ایپلیکیشن چلائیں۔ QEMU میں ورچوئلائزیشن موڈ میں، الگ تھلگ ماحول میں کوڈ پر عمل درآمد کی کارکردگی ایک ہارڈ ویئر سسٹم کے قریب ہوتی ہے جس کی وجہ CPU پر ہدایات پر براہ راست عمل درآمد اور Xen ہائپر وائزر یا KVM ماڈیول کا استعمال ہوتا ہے۔

یہ پروجیکٹ اصل میں Fabrice Bellard کے ذریعے تخلیق کیا گیا تھا تاکہ x86 پلیٹ فارم کے لیے بنائے گئے لینکس ایگزیکیوٹیبل کو غیر x86 آرکیٹیکچرز پر چلنے کی اجازت دی جا سکے۔ ترقی کے سالوں میں، 14 ہارڈویئر آرکیٹیکچرز کے لیے مکمل ایمولیشن سپورٹ شامل کی گئی ہے، ایمولیٹڈ ہارڈویئر ڈیوائسز کی تعداد 400 سے تجاوز کر گئی ہے۔ ورژن 6.0 کی تیاری میں، 3300 ڈویلپرز سے 268 سے زیادہ تبدیلیاں کی گئی ہیں۔

QEMU 6.0 میں کلیدی بہتری شامل کی گئی:

  • NVMe کنٹرولر ایمولیٹر کو NVMe 1.4 تفصیلات کے مطابق لایا گیا ہے اور یہ ڈرائیو پر زونڈ نیم اسپیسز، ملٹی پاتھ I/O اور اینڈ ٹو اینڈ ڈیٹا انکرپشن کے لیے تجرباتی تعاون سے لیس ہے۔
  • ڈیوائس ایمولیشن کو بیرونی عمل میں منتقل کرنے کے لیے تجرباتی اختیارات "-machine x-remote" اور "-device x-pci-proxy-dev" شامل کیے گئے۔ اس موڈ میں، فی الحال صرف lsi53c895 SCSI اڈاپٹر کی ایمولیشن ہی معاون ہے۔
  • RAM مواد کے سنیپ شاٹس بنانے کے لیے تجرباتی معاونت شامل کی گئی۔
  • بلاک ڈیوائسز کو ایکسپورٹ کرنے کے لیے ایک FUSE ماڈیول شامل کیا گیا، جس سے آپ گیسٹ سسٹم میں استعمال ہونے والے کسی بھی بلاک ڈیوائس کی حالت کا ایک ٹکڑا لگا سکتے ہیں۔ ایکسپورٹ QMP کمانڈ block-export-add یا qemu-storage-daemon یوٹیلیٹی میں "--export" آپشن کے ذریعے کیا جاتا ہے۔
  • ARM ایمولیٹر ARMv8.1-M 'Helium' فن تعمیر اور Cortex-M55 پروسیسرز کے ساتھ ساتھ توسیع شدہ ARMv8.4 TTST، SEL2 اور DIT ہدایات کے لیے تعاون کا اضافہ کرتا ہے۔ ARM بورڈز mps3-an524 اور mps3-an547 کے لیے بھی معاونت شامل کی گئی۔ اضافی ڈیوائس ایمولیشن کو xlnx-zynqmp، xlnx-versal، sbsa-ref، npcm7xx اور sabrelite بورڈز کے لیے لاگو کیا گیا ہے۔
  • ARM کے لیے، سسٹم اور صارف کے ماحول کی سطح پر ایمولیشن موڈز میں، ARMv8.5 MTE (MemTag، Memory Tagging Extension) ایکسٹینشن کے لیے سپورٹ نافذ کر دیا گیا ہے، جو آپ کو ہر میموری ایلوکیشن آپریشن کے لیے ٹیگز کو باندھنے اور پوائنٹر چیک کو منظم کرنے کی اجازت دیتا ہے۔ میموری تک رسائی حاصل کرنا، جس کا صحیح ٹیگ سے منسلک ہونا ضروری ہے۔ ایکسٹینشن کا استعمال پہلے سے آزاد میموری بلاکس، بفر اوور فلو، شروعات سے پہلے رسائی، اور موجودہ سیاق و سباق سے باہر استعمال کی وجہ سے ہونے والی کمزوریوں کے استحصال کو روکنے کے لیے کیا جا سکتا ہے۔
  • 68k آرکیٹیکچر ایمولیٹر نے ایک نئی قسم کی ایمولیٹڈ مشین "virt" کے لیے تعاون شامل کیا ہے، جو کارکردگی کو بہتر بنانے کے لیے virtio ڈیوائسز کا استعمال کرتی ہے۔
  • x86 ایمولیٹر مہمان سسٹم میں استعمال ہونے والے پروسیسر رجسٹروں کو خفیہ کرنے کے لیے AMD SEV-ES (سیکیور انکرپٹڈ ورچوئلائزیشن) ٹیکنالوجی کو استعمال کرنے کی صلاحیت کا اضافہ کرتا ہے، جس سے رجسٹروں کے مواد کو میزبان ماحول کے لیے ناقابل رسائی بناتا ہے جب تک کہ مہمان نظام واضح طور پر ان تک رسائی فراہم نہ کرے۔
  • کلاسک TCG (ٹائنی کوڈ جنریٹر) کوڈ جنریٹر، جب x86 سسٹمز کی تقلید کرتا ہے، PKS (پروٹیکشن کیز سپروائزر) میکانزم کے لیے سپورٹ کو لاگو کرتا ہے، جسے مراعات یافتہ میموری صفحات تک رسائی کی حفاظت کے لیے استعمال کیا جا سکتا ہے۔
  • چینی لونگسن-3 پروسیسرز کے لیے MIPS آرکیٹیکچر ایمولیٹر میں ایک نئی قسم کی ایمولیٹڈ مشینیں "virt" شامل کی گئی ہیں۔
  • ایمولیٹڈ مشینوں کے لیے پاور پی سی آرکیٹیکچر ایمولیٹر میں "powernv"، بیرونی BMC کنٹرولرز کے لیے سپورٹ شامل کیا گیا ہے۔ ایمولیٹڈ پیسیریز مشینوں کے لیے، میموری اور سی پی یو کو گرم کرنے کی کوشش کرتے وقت ناکامی کی اطلاع فراہم کی جاتی ہے۔
  • DSP کے ساتھ Qualcomm Hexagon پروسیسرز کی تقلید کے لیے تعاون شامل کیا گیا۔
  • کلاسک TCG (Tiny Code Generator) کوڈ جنریٹر نئے Apple M1 ARM چپ کے ساتھ سسٹمز پر macOS میزبان ماحول کو سپورٹ کرتا ہے۔
  • Microchip PolarFire بورڈز کے لیے RISC-V آرکیٹیکچر ایمولیٹر QSPI NOR فلیش کو سپورٹ کرتا ہے۔
  • Tricore ایمولیٹر اب نئے TriBoard بورڈ ماڈل کو سپورٹ کرتا ہے، جو Infineon TC27x SoC کی تقلید کرتا ہے۔
  • ACPI ایمولیٹر مہمان سسٹمز میں نیٹ ورک اڈاپٹر کو نام تفویض کرنے کی صلاحیت فراہم کرتا ہے جو اس ترتیب سے آزاد ہیں جس میں وہ PCI بس سے جڑے ہوئے ہیں۔
  • virtiofs نے مہمان کی کارکردگی کو بہتر بنانے کے لیے FUSE_KILLPRIV_V2 آپشن کے لیے تعاون شامل کیا ہے۔
  • VNC نے ونڈو کے سائز کی بنیاد پر کرسر کی شفافیت اور virtio-vga میں اسکرین ریزولوشن کو اسکیلنگ کرنے کے لیے تعاون شامل کیا ہے۔
  • QMP (QEMU مشین پروٹوکول) نے بیک اپ کاموں کو انجام دیتے وقت غیر مطابقت پذیر متوازی رسائی کے لئے تعاون شامل کیا ہے۔
  • USB ایمولیٹر نے USB آلات کے ساتھ کام کرتے وقت پیدا ہونے والی ٹریفک کو محفوظ کرنے کی صلاحیت کو ایک علیحدہ pcap فائل میں شامل کیا ہے تاکہ Wireshark میں بعد میں معائنہ کیا جا سکے۔
  • qcow2 سنیپ شاٹس کو منظم کرنے کے لیے نئی QMP کمانڈز لوڈ-اسنیپ شاٹ، سیو-اسنیپ شاٹ اور ڈیلیٹ-اسنیپ شاٹ شامل کیے گئے۔
  • خطرات CVE-2020-35517 اور CVE-2021-20263 کو virtiofs میں طے کیا گیا ہے۔ پہلا مسئلہ مہمان نظام سے میزبان ماحول تک رسائی کی اجازت دیتا ہے مہمان کے نظام میں ایک خصوصی ڈیوائسز فائل بنا کر ایک مراعات یافتہ صارف کے ذریعہ میزبان ماحول کے ساتھ مشترکہ ڈائریکٹری میں۔ دوسرا مسئلہ 'xattrmap' آپشن میں توسیعی صفات کو سنبھالنے میں ایک بگ کی وجہ سے ہے اور اس کی وجہ سے لکھنے کی اجازت کو نظر انداز کیا جا سکتا ہے اور مہمانوں کے نظام میں استحقاق میں اضافہ ہو سکتا ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں