የQEMU 7.2 emulator መልቀቅ

የQEMU 7.2 ፕሮጀክት መለቀቅ ቀርቧል። እንደ ኢሙሌተር፣ QEMU ለአንድ ሃርድዌር ፕላትፎርም የተሰራ ፕሮግራም ሙሉ ለሙሉ የተለየ አርክቴክቸር ባለው ሲስተም እንዲያካሂዱ ይፈቅድልዎታል፣ ለምሳሌ የ ARM መተግበሪያን በ x86-ተኳሃኝ ፒሲ ላይ ያሂዱ። በ QEMU ውስጥ ባለው የቨርቹዋል ሁነታ በገለልተኛ አካባቢ ውስጥ የኮድ አፈፃፀም አፈፃፀም በሲፒዩ ላይ መመሪያዎችን በቀጥታ በመተግበሩ እና በ Xen hypervisor ወይም KVM ሞጁል አጠቃቀም ምክንያት ወደ ሃርድዌር ሲስተም ቅርብ ነው።

ፕሮጀክቱ በመጀመሪያ የተፈጠረው ለ x86 መድረክ የተገነቡ የሊኑክስ ፈጻሚዎች x86 ባልሆኑ አርክቴክቸር እንዲሰሩ ለማስቻል በፋብሪስ ቤላርድ ነው። በዕድገት ዓመታት ውስጥ ለ 14 የሃርድዌር አርክቴክቸር ሙሉ የማስመሰል ድጋፍ ተጨምሯል ፣ የተመሰሉት የሃርድዌር መሳሪያዎች ብዛት ከ 400 በላይ ሆኗል ። ለ 7.2 ስሪት በመዘጋጀት ከ 1800 ገንቢዎች ከ 205 በላይ ለውጦች ተደርገዋል።

በQEMU 7.2 ውስጥ የተጨመሩ ቁልፍ ማሻሻያዎች፡-

  • በጥንታዊው TCG ኮድ ጀነሬተር ውስጥ ያለው የ x86 emulator ለ AVX፣ AVX2፣ F16C፣ FMA3 እና VAES መመሪያዎች እንዲሁም ከኤስኤስኢ መመሪያዎች አጠቃቀም ጋር በተገናኘ የአፈጻጸም ማሻሻያዎችን ድጋፍ አድርጓል። ለKVM፣ የቨርቹዋል ማሽን መውጣቶችን ለመከታተል የሚያስችል ስልት ("ማሳወቂያ vmexit") ተጨምሯል፣ ይህም በሲፒዩ ውስጥ ወደ ማንጠልጠያ ሊመሩ የሚችሉ ስህተቶችን እንዲያልፉ ያስችልዎታል።
  • የ ARM emulator Cortex-A35 CPU እና ፕሮሰሰር ቅጥያዎችን ETS (የተሻሻለ የትርጉም ማመሳሰልን)፣ PMUv3p5 (PMU Extensions 3.5)፣ GTG (የእንግዳ ትርጉም Granule 4KB፣ 16KB፣ 64KB)፣ HAFDBS (የመዳረሻ ባንዲራ የሃርድዌር ቁጥጥር እና “ቆሻሻ” ሁኔታ) ይደግፋል። እና E0PD (EL0 ወደ የተከፋፈሉ የአድራሻ ካርታዎች እንዳይደርስ መከልከል)።
  • LoongArch emulator ለfw_cfg DMA፣ hot-plug memory፣ እና TPM (የታመነ የመሳሪያ ስርዓት ሞጁል) መሣሪያ መኮረጅ ድጋፍን ይጨምራል።
  • የOpenRISC architecture emulator መሣሪያዎችን ለመፈተሽ እና በቀጣይ የውህደት ስርዓቶች ውስጥ ለመጠቀም የ'virt' መድረክን ተግባራዊ ያደርጋል። የጥንታዊው TCG (ጥቃቅን ኮድ ጀነሬተር) ኮድ ጄኔሬተር ባለብዙ-ክር አፈጻጸም ድጋፍ ተተግብሯል።
  • በ'virt' በሚመስሉ ማሽኖች ውስጥ ያለው የRISC-V አርክቴክቸር አስማሚ በS-mode ውስጥ ከ pflash ላይ ፈርምዌርን የመጫን ችሎታ አለው። ከመሳሪያ ዛፍ ጋር የተሻሻለ ስራ.
  • 390x emulator ለ MSA5 ድጋፍ ይሰጣል (መልዕክት-ደህንነት-ረዳት ቅጥያ 5 ከ PRNO መመሪያ ጋር የውሸት የዘፈቀደ ቁጥሮችን ለመፍጠር) ፣ KIMD/KLM መመሪያዎች (የSHA-512 ትግበራ) እና በKVM ሃይፐርቫይዘር ላይ ለተመሰረቱ የእንግዳ ስርዓቶች የተራዘመ zPCI ትርጓሜ .
  • ከማህደረ ትውስታ ጋር ለመስራት የጀርባ ማሰሪያዎች የNUMA አርክቴክቸርን ከግምት ውስጥ በማስገባት የማህደረ ትውስታ ቅድመ-መመደብን ያቀርባሉ።
  • የLUKS ኢንክሪፕትድ ማገጃ መሳሪያዎች ራስጌ ፍተሻ ተጠናክሯል፣ እና የLUKS ምስሎችን በ macOS ላይ የመፍጠር ችሎታ ታክሏል።
  • የ9pfs ጀርባ፣ የፕላን 9 ኔትወርክ ፋይል ስርዓትን መጠቀም አንዱን ቨርቹዋል ማሽን ወደሌላ ለማድረስ የሚያስችለው፣ GHashTable hashን በመለያ ሠንጠረዥ ውስጥ ለመጠቀም ተቀይሯል፣ ይህም በአንዳንድ ሁኔታዎች አፈፃፀሙ ከ6-12 እጥፍ እንዲጨምር አድርጓል።
  • አዲስ የnetdev backends ዥረት እና dgram ታክሏል።
  • በARM ላይ ለተመሰረቱ እንግዶች የFreeBSD ድጋፍ ወደ ወኪሉ ተጨምሯል።
  • GUI ለ macOS ይገነባል በኮኮዋ እና በኤስዲኤል/ጂቲኬ ላይ የተመሰረቱ በይነገጾችን በአንድ ሊተገበር በሚችል ፋይል ውስጥ የማካተት ችሎታ ይሰጣል።
  • አብሮ የተሰራው ንዑስ ሞዱል "ሸርተቴ" ተወግዷል፣ በምትኩ የlibslirp ስርዓት ቤተ-መጽሐፍትን ለመጠቀም ይመከራል።
  • በሙከራ አቅም ማነስ ምክንያት የቢግ ኢንዲያን ባይት ትዕዛዝን በመጠቀም ባለ 32-ቢት MIPS ፕሮሰሰር ያላቸው የአስተናጋጅ ስርዓቶች ድጋፍ ተቋርጧል።

ምንጭ: opennet.ru

አስተያየት ያክሉ