QEMU 4.0 ఎమ్యులేటర్ విడుదల

ఏర్పడింది ప్రాజెక్ట్ విడుదల QEMU 4.0. ఎమ్యులేటర్‌గా, QEMU పూర్తిగా భిన్నమైన ఆర్కిటెక్చర్‌తో సిస్టమ్‌లో ఒక హార్డ్‌వేర్ ప్లాట్‌ఫారమ్ కోసం కంపైల్ చేయబడిన ప్రోగ్రామ్‌ను అమలు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది, ఉదాహరణకు, x86-అనుకూల PCలో ARM అప్లికేషన్‌ను అమలు చేయండి. QEMUలో వర్చువలైజేషన్ మోడ్‌లో, CPUపై సూచనలను నేరుగా అమలు చేయడం మరియు Xen హైపర్‌వైజర్ లేదా KVM మాడ్యూల్‌ని ఉపయోగించడం వల్ల ఒక వివిక్త వాతావరణంలో కోడ్ అమలు యొక్క పనితీరు స్థానిక సిస్టమ్‌కు దగ్గరగా ఉంటుంది.

నాన్-x86 ఆర్కిటెక్చర్‌లపై x86 ప్లాట్‌ఫారమ్ కోసం కంపైల్ చేయబడిన Linux ఎక్జిక్యూటబుల్స్‌ను అమలు చేసే సామర్థ్యాన్ని అందించడానికి ఈ ప్రాజెక్ట్ వాస్తవానికి ఫాబ్రిస్ బెల్లార్డ్ చేత సృష్టించబడింది. అభివృద్ధి చెందుతున్న సంవత్సరాలలో, 14 హార్డ్‌వేర్ ఆర్కిటెక్చర్‌లకు పూర్తి ఎమ్యులేషన్‌కు మద్దతు జోడించబడింది, ఎమ్యులేటెడ్ హార్డ్‌వేర్ పరికరాల సంఖ్య 400 మించిపోయింది. వెర్షన్ 4.0ని సిద్ధం చేయడంలో, 3100 డెవలపర్‌ల నుండి 220 కంటే ఎక్కువ మార్పులు చేయబడ్డాయి.

కీ మెరుగుదలలుQEMU 4.0లో జోడించబడింది:

  • ARMv8+ సూచనల పొడిగింపులకు మద్దతు ARM ఆర్కిటెక్చర్ ఎమ్యులేటర్‌కు జోడించబడింది: SB, PredInv, HPD, LOR, FHM, AA32HPD,
    PAuth, JSConv, CondM, FRINT మరియు BTI. ముస్కా మరియు MPS2 బోర్డులను అనుకరించడానికి మద్దతు జోడించబడింది. మెరుగైన ARM PMU (పవర్ మేనేజ్‌మెంట్ యూనిట్) ఎమ్యులేషన్. ప్లాట్‌ఫారమ్‌కి ధర్మం 255 GB కంటే ఎక్కువ RAMని ఉపయోగించగల సామర్థ్యాన్ని జోడించారు మరియు "నోలోడ్" రకంతో u-బూట్ చిత్రాలకు మద్దతు;

  • వర్చువలైజేషన్ యాక్సిలరేషన్ ఇంజిన్‌లోని x86 ఆర్కిటెక్చర్ ఎమ్యులేటర్‌లో HAX (ఇంటెల్ హార్డ్‌వేర్ యాక్సిలరేటెడ్ ఎగ్జిక్యూషన్) Linux మరియు NetBSD వంటి POSIX-కంప్లైంట్ హోస్ట్‌లకు మద్దతును జోడించింది (గతంలో డార్విన్ ప్లాట్‌ఫారమ్‌కు మాత్రమే మద్దతు ఉంది). ప్రధాన PCIe పోర్ట్‌ల కోసం Q35 చిప్‌సెట్ ఎమ్యులేటర్ (ICH9)లో, PCIe 16 స్పెసిఫికేషన్‌లో నిర్వచించిన గరిష్ట వేగం (32GT/s) మరియు కనెక్షన్ లైన్‌ల సంఖ్య (x4.0) ఇప్పుడు ఐచ్ఛికంగా ప్రకటించబడుతుంది (అనుకూలతను నిర్ధారించడానికి, 2.5GT పాత రకాల QEMU మెషీన్‌ల కోసం డిఫాల్ట్‌గా ఇన్‌స్టాల్ చేయబడింది /s మరియు x1). Xen PVH ఇమేజ్‌లను “-kernel” ఎంపికతో లోడ్ చేయడం సాధ్యమవుతుంది;
  • MIPS ఆర్కిటెక్చర్ ఎమ్యులేటర్ క్లాసిక్ TCG కోడ్ జనరేటర్ (చిన్న కోడ్ జనరేటర్)ని ఉపయోగించి బహుళ-థ్రెడ్ ఎమ్యులేషన్‌కు మద్దతును జోడించింది. CPU I7200 (nanoMIPS32 ISA) మరియు I6500 (MIPS64R6 ISA) యొక్క ఎమ్యులేషన్‌కు మద్దతు జోడించబడింది, QMP (QEMU మేనేజ్‌మెంట్ ప్రోటోకాల్) ఉపయోగించి CPU రకం అభ్యర్థనలను ప్రాసెస్ చేయగల సామర్థ్యం, ​​SAARI మరియు SAAR కాన్ఫిగరేషన్ రిజిస్టర్‌లకు మద్దతు జోడించబడింది. Fulong 2E రకంతో వర్చువల్ మిషన్‌ల మెరుగైన పనితీరు. ఇంటర్‌థ్రెడ్ కమ్యూనికేషన్ యూనిట్ యొక్క నవీకరించబడిన అమలు;
  • PowerPC ఆర్కిటెక్చర్ ఎమ్యులేటర్‌లో, XIVE అంతరాయ కంట్రోలర్‌ను అనుకరించడానికి మద్దతు జోడించబడింది, POWER9 కోసం మద్దతు విస్తరించబడింది మరియు P సిరీస్ కోసం, PCI హోస్ట్ బ్రిడ్జ్‌లను హాట్ ప్లగ్ చేసే సామర్థ్యం (PHB, PCI హోస్ట్ బ్రిడ్జ్) జోడించబడింది. స్పెక్టర్ మరియు మెల్ట్‌డౌన్ దాడుల నుండి రక్షణ డిఫాల్ట్‌గా ప్రారంభించబడుతుంది;
  • RISC-V ఆర్కిటెక్చర్ ఎమ్యులేటర్‌కు PCI మరియు USB ఎమ్యులేషన్‌కు మద్దతు జోడించబడింది. అంతర్నిర్మిత డీబగ్గింగ్ సర్వర్ (gdbserver) ఇప్పుడు XML ఫైల్‌లలో రిజిస్టర్ జాబితాలను పేర్కొనడానికి మద్దతు ఇస్తుంది. mstatus ఫీల్డ్‌ల TSR, TW మరియు TVM కోసం మద్దతు జోడించబడింది;
  • s390 ఆర్కిటెక్చర్ ఎమ్యులేటర్ z14 GA 2 CPU మోడల్‌కు మద్దతును జోడించింది, అలాగే ఫ్లోటింగ్ పాయింట్ మరియు వెక్టార్ ఆపరేషన్‌ల కోసం సూచనల పొడిగింపులను అనుకరించడానికి మద్దతును జోడించింది. హాట్-ప్లగ్ పరికరాల సామర్థ్యం vfio-apకి జోడించబడింది;
  • Tensilica Xtensa ఫ్యామిలీ ప్రాసెసర్ ఎమ్యులేటర్ Linux కోసం SMP మద్దతును మెరుగుపరిచింది మరియు FLIX (ఫ్లెక్సిబుల్ లెంగ్త్ సూచనల పొడిగింపు) కోసం మద్దతును జోడించింది;
  • QEMU GTK ఇంటర్‌ఫేస్‌తో సమానమైన డిజైన్‌తో స్పైస్ రిమోట్ యాక్సెస్ క్లయింట్ యొక్క సంస్కరణను కాన్ఫిగర్ చేయడానికి మరియు లాంచ్ చేయడానికి గ్రాఫికల్ ఇంటర్‌ఫేస్‌కు '-display spice-app' ఎంపిక జోడించబడింది;
  • VNC సర్వర్ అమలుకు tls-authz/sasl-authz ఎంపికలను ఉపయోగించి యాక్సెస్ నియంత్రణకు మద్దతు జోడించబడింది;
  • QMP (QEMU మేనేజ్‌మెంట్ ప్రోటోకాల్) కేంద్రీకృత/బాహ్య (అవుట్-ఆఫ్-బ్యాండ్) కమాండ్ ఎగ్జిక్యూషన్‌కు మద్దతును జోడించింది మరియు బ్లాక్ పరికరాలతో పని చేయడానికి అదనపు ఆదేశాలను అమలు చేసింది;
  • మద్దతు ఉన్న mdevs (Intel vGPUలు) కోసం EDID ఇంటర్‌ఫేస్ యొక్క అమలు VFIOకి జోడించబడింది, xres మరియు yres ఎంపికలను ఉపయోగించి స్క్రీన్ రిజల్యూషన్‌ను మార్చడానికి మిమ్మల్ని అనుమతిస్తుంది;
  • Xen కోసం కొత్త 'xen-disk' పరికరం జోడించబడింది, ఇది స్వతంత్రంగా Xen PV కోసం డిస్క్ బ్యాకెండ్‌ను సృష్టించగలదు (xenstoreని యాక్సెస్ చేయకుండా). Xen PV డిస్క్ బ్యాకెండ్ యొక్క పనితీరు పెంచబడింది మరియు డిస్క్ పరిమాణాన్ని మార్చగల సామర్థ్యం జోడించబడింది;
  • నెట్‌వర్క్ బ్లాక్ పరికరాలలో డయాగ్నోస్టిక్స్ మరియు ట్రేసింగ్ సామర్థ్యాలు విస్తరించబడ్డాయి మరియు సమస్యాత్మక NBD సర్వర్ అమలులతో క్లయింట్ అనుకూలత మెరుగుపరచబడింది. qemu-nbdకి “--bitmap”, “--list” మరియు “--tls-authz” ఎంపికలు జోడించబడ్డాయి;
  • ఎమ్యులేటెడ్ IDE/పరికరం ద్వారా PCI IDE మోడ్‌కు మద్దతు జోడించబడింది;
  • dmg ఇమేజ్‌లను కుదించడానికి lzfse అల్గారిథమ్‌ని ఉపయోగించడం కోసం మద్దతు జోడించబడింది. qcow2 ఫార్మాట్ కోసం, బాహ్య డేటా ఫైల్‌లను కనెక్ట్ చేయడానికి మద్దతు జోడించబడింది. qcow2 అన్‌ప్యాకింగ్ కార్యకలాపాలు ప్రత్యేక థ్రెడ్‌కి తరలించబడ్డాయి. vmdk ఇమేజ్‌లలో "blockdev-create" ఆపరేషన్‌కు మద్దతు జోడించబడింది;
  • virtio-blk బ్లాక్ పరికరం DISCARD (బ్లాక్‌ల విడుదల గురించి తెలియజేస్తుంది) మరియు WRITE_ZEROES (లాజికల్ బ్లాక్‌ల శ్రేణిని సున్నా చేయడం) ఆపరేషన్‌లకు మద్దతును జోడించింది;
  • pvrdma పరికరం RDMA మేనేజ్‌మెంట్ డేటాగ్రామ్ సేవలకు (MAD) మద్దతు ఇస్తుంది;
  • సమర్పించారు మార్పులు, వెనుకబడిన అనుకూలతను ఉల్లంఘించడం. ఉదాహరణకు, "-fsdev" మరియు "-virtfs"లో "హ్యాండిల్" ఎంపికకు బదులుగా, మీరు "స్థానిక" లేదా "ప్రాక్సీ" ఎంపికలను ఉపయోగించాలి. తీసివేయబడిన ఎంపికలు “-virtioconsole” (“-device virtconsole”తో భర్తీ చేయబడింది), “-no-frame”, “-clock”, “-enable-hax” (“-accel hax”తో భర్తీ చేయబడింది). తీసివేయబడిన పరికరం "ivshmem" ("ivshmem-doorbell" మరియు "ivshmem-plain"ని ఉపయోగించాలి). SDL1.2తో నిర్మించడానికి మద్దతు నిలిపివేయబడింది (మీరు SDL2ని ఉపయోగించాలి).

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి