የQEMU 4.0 emulator መልቀቅ

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

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

ቁልፍ ማሻሻያዎችበQEMU 4.0 ላይ ተጨምሯል፡

  • ለARMv8+ መመሪያ ቅጥያዎች ድጋፍ ወደ ARM architecture emulator ታክሏል፡ SB፣ PredInv፣ HPD፣ LOR፣ FHM፣ AA32HPD፣
    PAuth፣ JSconv፣ CondM፣ FRINT እና BTI። Musca እና MPS2 ቦርዶችን ለመምሰል ተጨማሪ ድጋፍ። የተሻሻለ ARM PMU (የኃይል አስተዳደር ክፍል) መኮረጅ። ወደ መድረክ ትክክለኛነት ከ 255 ጂቢ ራም በላይ የመጠቀም ችሎታ እና ለ u-boot ምስሎች በ "noload" ዓይነት ድጋፍ መጨመር;

  • በቨርቹዋል ማጣደፍ ሞተር ውስጥ በ x86 አርክቴክቸር ኢምዩተር ውስጥ HAX (Intel Hardware Accelerated Execution) እንደ ሊኑክስ እና ኔትቢኤስዲ ላሉ POSIX የሚያከብሩ አስተናጋጆች ድጋፍ አክሏል (ከዚህ ቀደም የዳርዊን መድረክ ብቻ ይደገፋል)። በ Q35 chipset emulator (ICH9) ውስጥ ለዋና PCIe ወደቦች ከፍተኛው ፍጥነት (16GT/s) እና በ PCIe 32 ዝርዝር ውስጥ የተገለጹት የግንኙነት መስመሮች ብዛት (x4.0) አሁን እንደ አማራጭ ሊታወጅ ይችላል (ተኳሃኝነትን ለማረጋገጥ 2.5GT ነው ለአሮጌ የQEMU ማሽኖች/ሰ እና x1 አይነት በነባሪ ተጭኗል። በ "-kernel" አማራጭ የ Xen PVH ምስሎችን መጫን ይቻላል;
  • የ MIPS architecture emulator ክላሲክ TCG (ጥቃቅን ኮድ ጄኔሬተር) ኮድ አመንጪን በመጠቀም ለብዙ ባለ ክር ማስመሰል ድጋፍ አድርጓል። እንዲሁም ለሲፒዩ I7200 (nanoMIPS32 ISA) እና I6500 (MIPS64R6 ISA) የማስመሰል ድጋፍ፣ QMP (QEMU Management Protocol) በመጠቀም የሲፒዩ አይነት ጥያቄዎችን የማስኬድ ችሎታ፣ ለ SAARI እና SAAR ውቅር መዝገቦች ድጋፍ ታክሏል። የፉሎንግ 2E ዓይነት ያላቸው ምናባዊ ማሽኖች የተሻሻለ አፈጻጸም። የተሻሻለው የኢንተርስሬድ ኮሙኒኬሽን ክፍል;
  • በPowerPC architecture emulator ውስጥ የ XIVE ማቋረጫ መቆጣጠሪያን ለመኮረጅ ድጋፍ ተጨምሯል ፣ የ POWER9 ድጋፍ ተዘርግቷል ፣ እና ለ P ተከታታይ ፣ PCI አስተናጋጅ ድልድዮችን (PHB ፣ PCI host bridge) የማሞቅ ችሎታ ተጨምሯል። ከ Specter እና Meltdown ጥቃቶች ጥበቃ በነባሪነት ነቅቷል;
  • ለ PCI እና USB emulation ድጋፍ ወደ RISC-V architecture emulator ተጨምሯል። አብሮገነብ ማረም አገልጋይ (gdbserver) አሁን በኤክስኤምኤል ፋይሎች ውስጥ የመመዝገቢያ ዝርዝሮችን መግለጽ ይደግፋል። ለ mstatus መስኮች TSR፣ TW እና TVM ድጋፍ ታክሏል፤
  • የs390 አርክቴክቸር ኢሙሌተር ለz14 GA 2 ሲፒዩ ሞዴል፣ እንዲሁም ለተንሳፋፊ ነጥብ እና ለቬክተር ስራዎች የማስተማሪያ ቅጥያዎችን ለመምሰል ድጋፍ አድርጓል። መሳሪያዎችን የማሞቅ ችሎታ ወደ vfio-ap;
  • የ Tensilica Xtensa ቤተሰብ ፕሮሰሰር emulator ለሊኑክስ የ SMP ድጋፍን አሻሽሏል እና ለ FLIX (ተለዋዋጭ ርዝመት መመሪያዎች ማራዘሚያ) ድጋፍን አክሏል;
  • የቅመም የርቀት መዳረሻ ደንበኛን ከQEMU GTK በይነገጽ ጋር በሚመሳሰል ንድፍ ለማዋቀር እና ለማስጀመር የ'-display spice-app' አማራጭ ወደ ግራፊክ በይነገጽ ታክሏል።
  • ለVNC አገልጋይ አተገባበር tls-authz/sasl-authz አማራጮችን በመጠቀም የመዳረሻ መቆጣጠሪያ ድጋፍ ታክሏል;
  • QMP (QEMU አስተዳደር ፕሮቶኮል) የተማከለ/ውጫዊ (ከባንድ ውጪ) ትዕዛዝ አፈፃፀም ድጋፍን ጨምሯል እና ከብሎክ መሳሪያዎች ጋር ለመስራት ተጨማሪ ትዕዛዞችን ተግባራዊ አድርጓል።
  • የ EDID በይነገጽ ትግበራ ወደ VFIO ለተደገፉ mdevs (Intel vGPUs) ተጨምሯል ፣ ይህም የ xres እና yres አማራጮችን በመጠቀም የስክሪን ጥራት እንዲቀይሩ ያስችልዎታል።
  • አዲስ 'xen-ዲስክ' መሳሪያ ለXen ታክሏል፣ እሱም ለብቻው ለXen PV የዲስክ ጀርባ መፍጠር ይችላል (የ xenstoreን ሳይደርስ)። የ Xen PV ዲስክ ጀርባ አፈፃፀም ጨምሯል እና የዲስክን መጠን የመቀየር ችሎታ ተጨምሯል;
  • በኔትወርክ ማገጃ መሳሪያዎች ውስጥ የምርመራ እና የመከታተያ ችሎታዎች ተዘርግተዋል፣ እና የደንበኛ ችግር ካለባቸው የNBD አገልጋይ አተገባበር ጋር ተኳሃኝነት ተሻሽሏል። "--bitmap"፣ "--list" እና "--tls-authz" አማራጮች ወደ qemu-nbd ተጨምረዋል፤
  • ለ PCI IDE ሁነታ ድጋፍ ለተመሰለው IDE / በመሳሪያ;
  • dmg ምስሎችን ለመጭመቅ lzfse አልጎሪዝምን ለመጠቀም ተጨማሪ ድጋፍ። ለqcow2 ቅርጸት፣ የውጪ ውሂብ ፋይሎችን ለማገናኘት ድጋፍ ታክሏል። qcow2 የማሸግ ስራዎች ወደተለየ ክር ይንቀሳቀሳሉ. በvmdk ምስሎች ውስጥ ለ "blockdev-create" ክወና ድጋፍ ታክሏል;
  • የ virtio-blk ማገጃ መሳሪያው ለDISCARD (ስለ ብሎኮች መልቀቂያ መረጃን ማሳወቅ) እና WRITE_ZEROES (የሎጂክ ብሎኮችን ዜሮ ማድረግ) ስራዎችን ይደግፋል;
  • የ pvrdma መሣሪያ የ RDMA አስተዳደር ዳታግራም አገልግሎቶችን (MAD) ይደግፋል።
  • ገብቷል። ለውጥወደ ኋላ ተኳሃኝነትን መጣስ። ለምሳሌ በ "-fsdev" እና "-virtfs" ውስጥ ካለው የ"handle" አማራጭ ይልቅ "local" ወይም "proxy" አማራጮችን መጠቀም አለቦት። አማራጮች "-virtioconsole" (በ "-device virtconsole" ተተካ), "-no-ፍሬም", "- ሰዓት", "-enable-hax" (በ"-accel hax" ተተካ) ተወግደዋል. የተወገደ መሳሪያ "ivshmem" ("ivshmem-doorbell" እና ​​"ivshmem-plain" መጠቀም አለበት). በ SDL1.2 ለመገንባት የሚደረገው ድጋፍ ተቋርጧል (SDL2 መጠቀም አለብዎት)።

ምንጭ: opennet.ru

አስተያየት ያክሉ