Xen

Screenshot Software:
Xen
Detalii soft:
Versiune: 4.11.0 Actualizat
Incarca data: 17 Aug 18
Licenţă: Gratuit
Popularitate: 32

Rating: nan/5 (Total Votes: 0)

Xen este un monitor complet gratuit pentru platformele de calcul x86 care a fost conceput de la sol pentru a sprijini executarea mai multor sisteme de operare oaspete în medii izolate pe o singură mașină. Este una dintre cele mai puternice soluții pentru mașini virtuale pentru OS, Linux și UNIX și POSIX.


Caracteristici dintr-o privire

Caracteristicile cheie includ suport pentru EFI (Extensible Firmware Interface), suportă până la 4095 procesoare gazdă pe platforma hardware pe 64 de biți, suportă kernel-uri dom0 comprimate cu metoda de compresie xz, suportă remapping întreruperi per dispozitiv, Segmente PCI.

Printre alte arhitecturi acceptate, Xen funcționează bine pe X86-64, extensiile de virtualizare ARMv7 +, precum și pe noua arhitectură ARMv8. De asemenea, Xen suportă mai multe sisteme de operare bazate pe kernel-ul Linux, printre care Red Hat Enterprise Linux, SuSE, Debian, OpenMandriva și multe altele, precum și diferite arome BSD.

Începeți cu Xen

Xen poate fi găsit pe principalele arhive de software ale distribuțiilor moderne GNU / Linux, ceea ce înseamnă că poate fi ușor instalat din aplicația software Center. Acesta este în principal distribuit ca un pachet sursă care poate fi optimizat pentru o anumită arhitectură de sistem de operare / hardware.

Dacă sunteți un utilizator Linux greu și doriți să instalați Xen din surse, descărcați cea mai recentă versiune de pe Softoware sau pe site-ul oficial al proiectului (vedeți link-ul de start de la sfârșitul articolului), salvați-l pe Directorul de domiciliu și utilizați un instrument de manager de arhivă pentru a extrage conținutul acestuia.

Deschideți o aplicație emulator terminal, navigați la locația în care ați extras fișierele de arhivă (de exemplu, cd /home/softoware/xen-4.5.0 - înlocuiți "softoware" cu numele dvs. de utilizator), rulați & lsquo; ./configure & amp; face & rsquo; comanda pentru configurarea și compilarea programului, urmată de sudoku make install & rsquo; comanda pentru a instala sistemul la nivel larg după un proces de compilare de succes.

Ce este nou în această versiune:

  • c30ab3d97c: SUPPORT.md: Adăugați informații despre durata de viață a suportului
  • 5f6000a985: adaptați SUPPORT.md pentru a se potrivi cu 4.11
  • f9e1bddbc8: SUPPORT.md: Fixați o greșeală
  • 3614c7d949: SUPPORT.md: Documentați noua regulă de ordonare a textului
  • 6f8e8bae87: SUPPORT.md: mutați descrierile înaintea informațiilor despre stare
  • 2e02212848: docs / Makefile: Format SUPPORT.md în toplevel
  • 73c8c2c211: docs / Makefile: introduceți GENERATE_PANDOC_RULE_RAW
  • c07d2195b0: docs / gen-html-index: Suportul documentelor la toplevel
  • 0609dd1c5e: docs / gen-html-index: extrageți titlurile din documente HTML
  • a3459c741e: SUPPORT.md: Sintaxă: Oferiți un titlu mai degrabă decât o secțiune goală falsă
  • de3ccf0790: SUPPORT.md: Sintaxă: Remediați o "Stat" tipografică
  • f7a7eeac29: SUPPORT.md: Sintaxă: Fixați unele liste de glonte
  • cba8690ea8: x86: fixați calea lentă int80 după adăugarea XPTI
  • d27de97cd1: libxl: Specificați formatul cdrom-ului inserat
  • 656c14780c: x86 / msr: Corectați comportamentul de emulare al MSR_PRED_CMD
  • 8d37ee1d10: x86 / VT-x: Fixați determinarea EFER.LMA în vmcs_dump_vcpu ()
  • 696b24dfe1: x86 / HVM: suprimarea completă I / O pentru ieșirea portului
  • 41015e7945: x86 / pv: remediați segmentele eronate pentru introducerea pe 32 de biți a sistemului
  • 4f12a18bc2: x86 / XPTI: reduceți textul.
  • 649e617335: x86: starea activată a sistemului XPTI
  • bd26592fdf: x86: dezactivați XPTI când RDCL_NO
  • afece29fe9: x86 / pv: Fixați predarea de scriere la% dr7
  • 2e34343fb2: xen / braț: Relaxați-vă descoperirea ARM_SMCCC_ARCH_WORKAROUND_1
  • d9756ca980: xen / arm: vpsci: Refaceți logica pentru a porni AArch32 vCPU în modul Thumb
  • e2ee191d3d: xen / bra: vpsci: Introduceți și utilizați PSCI_INVALID_ADDRESS
  • 2efc116c68: xen / bra: psci: consolidați versiunea PSCI print
  • 51742fbc08: xen / bra: vpsci: Eliminați parametrul 'ver' din do_common_cpu
  • 4fcd9d14b1: xen / arm64: Omoară PSCI_GET_VERSION ca soluție alternativă-2
  • 1ef0574d3b: xen / arm64: Adăugați suport ARM_SMCCC_ARCH_WORKAROUND_1 BP
  • ee109adca7: xen / arm: smccc: Implementați SMCCC v1.1 inline primitiv
  • b2682eddc2: xen / braț: psci: Detectați versiunea SMCCC
  • 9746779afb: xen / braț: smccc: Adăugați macrocomenzi SMCCC_VERSION, SMCCC_VERSION_ {MINOR, MAJOR}
  • 1d99ad5b35: xen / arm64: Imprimați un mesaj pe CPU folosind metoda de întărire BP
  • 9beb8a4461: xen / arm64: Implementați o cale rapidă pentru manipularea SMCCC_ARCH_WORKAROUND_1
  • ef4b4d7ab0: xen / bra: Adaptați smccc.h pentru a putea să-l utilizați în codul de asamblare
  • df71252060: xen / braț: vsmc: Implementați suport SMCCC_ARCH_WORKAROUND_1 BP
  • 7f9ebebcec: xen / braț: vsmc: Implementați SMCCC 1.1
  • 4eb96e3eda: xen / bra: vpsci: Adăugați suport pentru PSCI 1.1
  • 3087ba8278: xen / bra: psci: Refaceți definițiile PSCI
  • 76a6dddcf8: xen / arm: vpsci: mutați funcția PSCI dispecerând de la vsmc.c la vpsci.c
  • 0f92968bcf: x86 / vlapic: ștergeți bitul TMR la acceptarea întreruperii declanșate de margine la IRR
  • 9e9185f661: SUPPORT.md: Specificați suport pentru diferite formate de imagine
  • e87e798673: SUPPORT.md: Clarificarea faptului că protocolul pentru tastatură PV include suport pentru mouse
  • 6131a2c0ed: cpufreq / ondemand: fixează cursa în timp ce controlează CPU
  • 47621a4ed1: x86: elimina CR citește de la calea exit-to-guest
  • 489cfbc1b9: x86: reduceți puțin fluxul de ajutor de bandă de topire
  • 860f470ba1: x86 / xpti: nu hărțiți paginile de pază pentru stivă
  • 8462c575d9: x86 / xpti: Ascunde aproape toate fișierele .text și toate fișierele .data / .rodata / .bss
  • cee48d83cb: x86: ignorarea încercărilor de încărcare a microcodului invitat
  • 20db434e90: ocaml: construiți brațul construit
  • 0d2f9c89f7: Mergeți filiala "merge-comet-staging-4.10-v1" în staționare-4.10
  • a1189f93ef: libxl / pvh: forțați oaspeții PVH să utilizeze oprirea xenstore
  • c37114cbf8: x86 / HVM: nu dați impresia greșită a succesului WRMSR
  • 5ede9f9600: x86 / PV: opriți-o-unu în verificarea limitei bitmap I / O
  • 7e0796d3fe: acordați: Eliberați blocarea domeniului pe calea "hartă" în cache_flush
  • b9aa790d31: x86 / pv: Evitați scurgeri de valori MSR_TSC_AUX ale altor invitați în context PV
  • 4867afbc95: x86 / nmi: începe monitorul NMI pe CPU0 după bootstrap SMP
  • 3deb58f832: x86 / srat: calculați sfârșitul final în nodes_cover_memory ()
  • 3376822f15: x86 / hvm / dmop: copiați doar ceea ce este necesar pentru / de la oaspeți
  • 37dd90787e: x86 / entry: Utilizați rapoarte de 32bit xors decât 64bit xors pentru deblocarea GPR
  • 296705818c: x86 / emul: Fixarea decodificării suprascrierilor segmentului în modul 64bit
  • 0857b09aae: x86 / spec_ctrl: Remediați câteva erori în SPEC_CTRL_ENTRY_FROM_INTR_IST
  • 4195d40e31: x86 / srat: fixați sfârșitul pfn check in valid_numa_range ()
  • ab62fc3171: x86: reducerea cheltuielilor de IPL de susținere a bandajului
  • 0e10f28586: x86 / NMI: condiție inversă în nmi_show_execution_state ()
  • a05fc8e5be: x86 / emul: Fixați emulația invlpga
  • 083bd83354: ignore: update .hgignore
  • b0e975c822: ignoră: lista de actualizare a fișierelor ignorate git
  • def29407de: firmware / shim: o mai bună filtrare a fișierelor intermediare în timpul configurației Xen tree
  • 8c3bbc7c2b: firmware / shim: o mai bună filtrare a fișierelor de dependență în timpul configurației copacului Xen
  • cee8bb62ff: construiți: eliminați obiectivele asociate șabloanelor
  • 08a941bdac: shim: permite construirea doar a shim cu link-ul de incapacitate build-ID
  • 7dc817b750: firmware / shim: evitați eroarea mkdir în timpul configurării arborelui Xen
  • 21080841ae: firmware / shim: gestionează corect erorile în timpul configurării arborelui Xen
  • dc4a23b115: firmware / shim: actualizare Makefile
  • da7543dd32: x86 / shim: nu folosiți compararea pe 32 de biți pe variabila booleană
  • 9fd27db52a: xen / pvshim: remediați trimiterea hipercallului GNTTABOP_query_size cu SMAP
  • 6d9b6bf418: Reveniți la "x86 / boot: Harta mai mult decât primele 16MB"
  • 79f04299ca: x86: relocați pvh_info
  • 9ce99ad413: xen / shim: stash adresa RSDP pentru driverul ACPI
  • 186c2f57bd: libxl: mesaj inferior în legătură cu shim la nivelul DEBUG
  • 357bf02e49: x86 / shim: utilizați planificatorul de credite
  • 81306edf86: x86 / guest: curăță oaspetele / xen.h
  • 14e1a434f4: libxl: eliminați spațiile albe introduse în 62982da926
  • b869742c99: xen / pvshim: comutați shim.c pentru a utiliza tipurile de fișiere mfn_to_page și virt_to_mfn
  • d691e41793: xen / pvshim: rezolva probleme de stil de codificare
  • ee478f4737: xen / pvshim: rearanjați codul replace_va_mapping
  • f05a7c5148: xen / pvshim: identitatea pin shim vCPUs în pCPUs
  • 7027acfc1f: unelte: construiți brațul după bdf693ee61b48
  • bc513e82ed: Nu construiți xen-shim pentru gazda de construire pe 32 de biți
  • af63193017: Reveniți "x86 / oaspete: utilizați zona vcpu_info din shared_info"
  • a44e83b712: x86 / shim: comiteți schimbările shim.config pentru sucursala 4.10
  • da3a46d017: Eticheta de îmbinare "4.10.0-shim-comet-3" în staționare-4.10
  • b6a6458b13: xen / arm: Înainte de a porni MMU-ul pentru a evita intrările vechi
  • e3dfd5d1dd: xen / arm: vgic: Asigurați-vă că numărul SPI-urilor este mai mic de 32
  • a6780c122b: x86 / hvm: Nu permiteți crearea domeniilor HVM fără emularea locală APIC
  • 16edf98e95: gnttab: nu lăsați liber paginile de stare la schimbarea versiunii
  • e2ceb2ed66: gnttab / ARM: nu distrugeți matricea GFN partajată
  • 1b1c059099: memorie: nu se fixează implicit pentru scăderea rezervării
  • 5e91fc4d3b: xen / arm: cpuerrata: De fapt, verificați eroarea pe procesoarele non-boot
  • 3921128fcb: xen / bra: vsmc: Nu implementați ID-uri de funcții care nu există
  • cd2e1436b1: xen / braț: vpsci: Înlăturarea meniurilor MIGRATE și MIGRATE_INFO_UP_CPU
  • 3181472a5c: x86 / idle: Ștergeți SPEC_CTRL în timpul inactivității
  • 5644514050: x86 / cpuid: Oferiți clienților un control indirect asupra filialelor
  • db12743f2d: x86 / ctxt: Eliberați o barieră de speculație între contextele vcpu
  • bc0e599a83: x86 / boot: se calculează cea mai potrivită diminuare pentru utilizarea ITO
  • fc81946cea: x86 / entry: Evitați utilizarea alternativelor în căile NMI / # MC
  • ce7d7c0168: x86 / entry: Organizați clobbering-ul RSB / RAS la intrarea în Xen
  • a695f8dce7: x86 / entry: Organizați utilizarea MSR_SPEC_CTRL la fiecare punct de intrare / ieșire
  • 92efbe8658: x86 / hvm: permiteți oaspeților acces direct la MSR_ {SPEC_CTRL, PRED_CMD}
  • 8baba874d6: x86 / migrate: mutați MSR_SPEC_CTRL pe migrație
  • 79891ef944: x86 / msr: emularea MSR_ {SPEC_CTRL, PRED_CMD} pentru oaspeți
  • 641c11ef29: x86 / cpuid: Manipularea IBRS / IBPB, STIBP și IBRS pentru oaspeți
  • 05eba93a0a: x86: remediați GET_STACK_END
  • a69cfdf0c1: x86 / acpi: procesează procese în timp ce tipărește date ACPI CPU
  • 0f4be6e2c4: xen / x86: raportați ID-ul domeniului pe cpuid
  • 0a7e6b50e0: x86 / svm: CPUID Ofertă Fault la oaspeții AMD HVM
  • 65ee6e043a: x86 / cmdline: Introduceți o opțiune de linie de comandă pentru a dezactiva IBRS / IBPB, STIBP și IBPB
  • 129880dd8f: x86 / caracteristică: Definiții pentru controlul ramificațiilor indirecte
  • c513244d8e: x86: Introduceți tunete alternative indirecte
  • 0e12c2c881: x86 / amd: Încercați să setați lfence ca fiind Serialising Dispatch
  • 6aaf353f2e: x86 / boot: Raportați detalii despre măsuri de atenuare speculativă
  • 32babfc19a: x86: Suportă tunete indirecte din codul de asamblare
  • 47bbcb2dd1: x86: Compilarea suportului cu ramuri de ramificație indirecte
  • 8743fc2ef7: comun / așteptare: clarificări pentru a aștepta infrastructura
  • 1830b20b6b: x86 / entry: Ștergeți starea GPR de la intrarea în Xen
  • ab95cb0d94: x86 / hvm: Utilizați SAVE_ALL pentru a construi cadrul cpu_user_regs după VMExit
  • d02ef3d274: x86 / entry: Rearanjați RESTORE_ALL pentru a restabili înregistrarea în stack
  • e32f814160: x86: introduceți o comună cpuid_policy_updated ()
  • c534ab4e94: x86 / hvm: Redenumiți update_guest_vendor () apel invers la cpuid_policy_changed ()
  • be3138b6f6: x86 / alt: Introduceți macrocomenzi ALTERNATIVE {, _ 2}
  • 79012ead93: x86 / alt: Părăsiți alternative-asm într-un fișier de antet separat
  • bbd093c503: xen / arm32: entry: Documentați scopul r11 în dispozitivul de manipulare a capcanelor
  • a69a8b5fdc: xen / arm32: Există icache pentru invalidarea invitației pentru Cortex-A15
  • f167ebf6b3: xen / arm32: Invalidați BTB la ieșirea oaspeților pentru Cortex A17 și 12
  • c4c0187839: xen / arm32: Adăugați scheletul pentru a întări atacurile de aliniere a predictorilor de ramură
  • 19ad8a7287: xen / arm32: entry: Adăugați o intrare lipsă a trap_reset
  • 3caf32c470: xen / arm32: adăugați valorile MIDR lipsă pentru Cortex-A17 și A12
  • df7be94f26: xen / arm32: intrare: Consolidați DEFINE_TRAP_ENTRY_ * macro-uri
  • f379b70609: SUPPORT.md: versiunea fixă ​​și lansarea inițială
  • 728fadb586: xen / bra: cpuerrata: Eliminați percpu.h include
  • 928112900e: xen / arm64: Implementați întărirea predictorului sucursalei pentru procesoarele Cortex-A afectate
  • cae6e1572f: xen / arm64: Adăugați un schelet pentru a întări atacurile de aliasing al predictorului de ramură
  • d1f4283a1d: xen / braț: cpuerrata: Adăugați MIDR_ALL_VERSIONS
  • 0f7a4faafb: xen / arm64: Adăugați valorile MIDR care lipsesc pentru Cortex-A72, A73 și A75
  • b829d42829: xen / bra: Introduceți activarea apelului pentru a activa capabilitățile pe fiecare CPU online
  • fa23f2aaa2: xen / pvh: plasați trambulina la pagina 0x1
  • 79f797c3f4: firmware / shim: procedură de reparare pentru a utiliza opțiunile de căutare POSIX
  • 69f4d872e5: x86 / guest: utilizați zona vcpu_info din shared_info
  • 7cccd6f748: x86: permite dezactivarea ajutorului de bandă de topire
  • 234f481337: x86: ajutor de bandă de topire împotriva invitați rău intenționați pe 64 de biți
  • 57dc197cf0: x86 / mm: setați întotdeauna _PAGE_ACCESSED pe actualizările L4e
  • 7209b8bf08: x86: nu utilizați valori CPUID potențial incorecte pentru informații despre topologie
  • 910dd005da: x86 / entry: Eliminați suportul pentru cadrele parțiale cpu_user_regs
  • 50d24b9530: x86 / upcall: injectarea unui eveniment fals după setarea vectorului de upcall
  • c89c622b89: x86 / E820: nu suprascrie array
  • 3b8d88d4fa: x86 / IRQ: păstrează în mod condiționat permisiunea de acces pe căile de eroare de pe hartă
  • 6f1979c8e4: -xen-attach este necesar pentru boot-ul pvh cu qemu-xen
  • 0a515eeb96: xen / pvshim: hartă vcpu_info mai devreme pentru AP-uri
  • 0e2d64ae8f: xl: pvshim: Furnizați și documentați xl config
  • ab9e3854dd: libxl: pvshim: Introduceți pvshim_extra
  • abdde49edc: libxl: pvshim: Oferiți setări config de primă clasă pentru a activa modul shim
  • 321ef983a0: xen / shim: permite DOMU să aibă cât mai multe vcpus disponibile
  • c9083de0ae: xen / shim: crash în loc de a reporni în modul shim
  • b5be9c817d: xen / pvshim: utilizați poziția implicită pentru mapările m2p
  • 9d60bc96be: xen / shim: modificați comportamentul parametrilor shim_mem
  • 29dd3142bf: xen / pvshim: memorie hotplug
  • 5b6c3ffa1d: xen / pvshim: suport vCPU hotplug
  • 004646a1dd: xen / pvshim: setați max_pages la valoarea tuturor paginilor
  • 7dcc20e0c8: xen / pvshim: adăugați parametrul shim_mem cmdline
  • 83c838c9f8: xen / pvshim: adăugați suport pentru migrare
  • cc7d96b98c: x86 / pv-shim: pagina consolei PV shadow pentru L2 DomU
  • 7f5eb7d04e: xen / pvshim: adăugați operații de tabel de granturi
  • bbad376ab1: xen / pvshim: forward evtchn ops între L0 Xen și L2 DomU
  • da4518c559: xen / pvshim: setați valoarea de domidă corectă
  • 1cd703979f: xen / pvshim: modificați constructorul Dom0 pentru a construi un DomU
  • 60dd95357c: xen: marcați paginile xenstore / consolă ca RAM
  • 0ba5d8c275: xen / pvshim: săriți numai părțile constructorului de domeniu Dom0
  • 4ba6447e7d: xen / pvh: nu marchează 1MB scăzut ca memorie IO
  • 2b8a95a296: xen / x86: alegerea suportului VGA
  • cdb1fb4921: xen / arm: bootfdt: Utilizați setarea implicită pentru # address-cells și # size-cells
  • a40186478c: xen / braț: gic-v3: salvare dacă gicv3_cpu_init eșuează
  • 3784256866: instrumente / firmware: construiți și instalați xen-shim
  • b5ead1fad3: x86 / shim: opțiunile de la Kconfig și linia de comandă
  • aa96a59dc2: x86 / guest: utilizați consola PV pentru Xen / Dom0 I / O
  • 7477359b9a: x86 / oaspete: adăugați codul consolei PV
  • cb5dc94ba7: x86 / guest: setarea unui canal de upcall pentru canalul evenimentului
  • 3b058a3eab: x86: nu înghiți primul element rând de comandă în modul invitat
  • 5a543c6f39: x86: citiți wallclock-ul de la Xen atunci când rulează în modul pvh
  • 949eb11d58: x86: Calibrarea temporizatorului APIC atunci când rulează ca invitat
  • f5ca36927e: x86: xen pv sursă de timp ceas
  • 68e7a08436: x86 / guest: hartă per-cpu vcpu_info.
  • d2df09c92b: xen / guest: preluați ID-ul vCPU din Xen
  • efa15c993b: x86 / invitat: hartă partajată_info
  • 83186a8e69: xen / pvshim: ține evidența domeniilor PFN utilizate
  • 1fa5444834: xen: introduceți rangeset_claim_range
  • 10128f33aa: xen / consolă: introduceți consola = xen
  • 2f5a012143: x86 / pvh: recuperarea hărții de memorie de la Xen
  • 9752c7422b: x86 / shutdown: Suport pentru utilizarea SCHEDOP_ {shutdown, reboot}
  • b38cc15b2f: x86 / oaspete: suport Hypercall
  • 3d1afab1f6: x86 / entry: Sonda pentru Xen devreme în timpul încărcării
  • 31b664a93f: x86 / boot: Harta mai mult decât primele 16MB
  • db65173fe7: x86 / intrare: Codul inițial de pornire PVH
  • 51f937a39b: x86: produce un binar care poate fi încărcat ca PVH
  • 887c705600: x86: introduceți macrocomanda ELFNOTE
  • f575701f3c: x86 / link: Relocați anteturile programului
  • af2f50b2b6: x86 / Kconfig: Opțiuni pentru suport Xen și PVH
  • b538a13a68: x86: Asistență comună pentru defecțiuni
  • 57dc22b80d: x86 / fixmap: Modificați fix_to_virt () pentru a returna un pointer gol
  • 48811d481c: tools / ocaml: Extindeți domain_create () pentru a lua arh_domainconfig
  • 78898c9d1b: tools / ocaml: Expuneți arch_config în domaininfo
  • e7c8187b91: xen / domctl: Întoarceți arch_config via getdomaininfo
  • 9e46ae12ed: ACPICA: Faceți opțional Timerul de gestionare a energiei ACPI (PM Timer).
  • ff1fb8fe53: x86 / link: introduceți și utilizați SECTION_ALIGN
  • 92a6295c30: x86 / time: Imprimați o eroare mai utilă atunci când un cronometru de platformă nu poate fi găsit
  • 78e9cc3488: xen / common: Extindeți ușor tamponul pentru înregistrarea clienților
  • 667275050d: tools / libxc: Suportul pentru mai multe module
  • 4621c10f48: tools / libelf: verificați verificarea notelor elf pentru oaspetele PVH
  • 40938b5d56: tools / libxc: eliminați noua linie externă în xc_dom_load_acpi
  • 5840f40e88: xen / x86: raportați ID-ul domeniului pe cpuid
  • caff7f9b59: x86 / svm: Oferta CPUID Fault la oaspeții AMD HVM, de asemenea
  • 69e302e59c: x86 / upcall: injectarea unui eveniment fals după setarea unui vector upcall
  • a87ec4833a: x86 / msr: Măsurarea msr_vcpu_policy în timpul distrugerii vcpu
  • 9dc5eda576: x86 / vmx: Nu utilizați hvm_inject_hw_exception () în long_mode_do_msr_write ()
  • 135b67e9bd: xen / efi: Reparați construirea cu clang-5.0
  • 682a9d8d37: gnttab: îmbunătățirea blocării GNTTABOP_cache_flush
  • 19dcd8e47d: gnttab: corectați GNTTABOP_cache_flush manipularea goală a loturilor
  • e5364c32c6: x86 / microcod: Adăugați suport pentru încărcarea microcode fam17h
  • e2dc7b584f: x86 / mm: afirmația modului de afișare falsă
  • c8f4f45e04: x86 / mb2: evitați imaginea Xen atunci când căutați modul / poziția crashkernel
  • 4150501b71: x86 / vvmx: nu permiteți umbrirea vmcs pentru oaspeții imbriciți
  • ab7be6ce4a: xen / pv: Construiți corect GDT-ul d0v0

Ce este nou în versiunea 4.10.1:

  • c30ab3d97c: SUPPORT.md: Adăugați informații despre durata de viață a suportului
  • 5f6000a985: adaptați SUPPORT.md pentru a se potrivi cu 4.11
  • f9e1bddbc8: SUPPORT.md: Fixați o greșeală
  • 3614c7d949: SUPPORT.md: Documentați noua regulă de ordonare a textului
  • 6f8e8bae87: SUPPORT.md: mutați descrierile înaintea informațiilor despre stare
  • 2e02212848: docs / Makefile: Format SUPPORT.md în toplevel
  • 73c8c2c211: docs / Makefile: introduceți GENERATE_PANDOC_RULE_RAW
  • c07d2195b0: docs / gen-html-index: Suportul documentelor la toplevel
  • 0609dd1c5e: docs / gen-html-index: extrageți titlurile din documente HTML
  • a3459c741e: SUPPORT.md: Sintaxă: Oferiți un titlu mai degrabă decât o secțiune goală falsă
  • de3ccf0790: SUPPORT.md: Sintaxă: Remediați o "Stat" tipografică
  • f7a7eeac29: SUPPORT.md: Sintaxă: Fixați unele liste de glonte
  • cba8690ea8: x86: fixați calea lentă int80 după adăugarea XPTI
  • d27de97cd1: libxl: Specificați formatul cdrom-ului inserat
  • 656c14780c: x86 / msr: Corectați comportamentul de emulare al MSR_PRED_CMD
  • 8d37ee1d10: x86 / VT-x: Fixați determinarea EFER.LMA în vmcs_dump_vcpu ()
  • 696b24dfe1: x86 / HVM: suprimarea completă I / O pentru ieșirea portului
  • 41015e7945: x86 / pv: remediați segmentele eronate pentru introducerea pe 32 de biți a sistemului
  • 4f12a18bc2: x86 / XPTI: reduceți textul.
  • 649e617335: x86: starea activată a sistemului XPTI
  • bd26592fdf: x86: dezactivați XPTI când RDCL_NO
  • afece29fe9: x86 / pv: Fixați predarea de scriere la% dr7
  • 2e34343fb2: xen / braț: Relaxați-vă descoperirea ARM_SMCCC_ARCH_WORKAROUND_1
  • d9756ca980: xen / arm: vpsci: Refaceți logica pentru a porni AArch32 vCPU în modul Thumb
  • e2ee191d3d: xen / bra: vpsci: Introduceți și utilizați PSCI_INVALID_ADDRESS
  • 2efc116c68: xen / bra: psci: consolidați versiunea PSCI print
  • 51742fbc08: xen / bra: vpsci: Eliminați parametrul 'ver' din do_common_cpu
  • 4fcd9d14b1: xen / arm64: Omoară PSCI_GET_VERSION ca soluție alternativă-2
  • 1ef0574d3b: xen / arm64: Adăugați suport ARM_SMCCC_ARCH_WORKAROUND_1 BP
  • ee109adca7: xen / arm: smccc: Implementați SMCCC v1.1 inline primitiv
  • b2682eddc2: xen / braț: psci: Detectați versiunea SMCCC
  • 9746779afb: xen / braț: smccc: Adăugați macrocomenzi SMCCC_VERSION, SMCCC_VERSION_ {MINOR, MAJOR}
  • 1d99ad5b35: xen / arm64: Imprimați un mesaj pe CPU folosind metoda de întărire BP
  • 9beb8a4461: xen / arm64: Implementați o cale rapidă pentru manipularea SMCCC_ARCH_WORKAROUND_1
  • ef4b4d7ab0: xen / bra: Adaptați smccc.h pentru a putea să-l utilizați în codul de asamblare
  • df71252060: xen / braț: vsmc: Implementați suport SMCCC_ARCH_WORKAROUND_1 BP
  • 7f9ebebcec: xen / braț: vsmc: Implementați SMCCC 1.1
  • 4eb96e3eda: xen / bra: vpsci: Adăugați suport pentru PSCI 1.1
  • 3087ba8278: xen / bra: psci: Refaceți definițiile PSCI
  • 76a6dddcf8: xen / arm: vpsci: mutați funcția PSCI dispecerând de la vsmc.c la vpsci.c
  • 0f92968bcf: x86 / vlapic: ștergeți bitul TMR la acceptarea întreruperii declanșate de margine la IRR
  • 9e9185f661: SUPPORT.md: Specificați suport pentru diferite formate de imagine
  • e87e798673: SUPPORT.md: Clarificarea faptului că protocolul pentru tastatură PV include suport pentru mouse
  • 6131a2c0ed: cpufreq / ondemand: fixează cursa în timp ce controlează CPU
  • 47621a4ed1: x86: elimina CR citește de la calea exit-to-guest
  • 489cfbc1b9: x86: reduceți puțin fluxul de ajutor de bandă de topire
  • 860f470ba1: x86 / xpti: nu hărțiți paginile de pază pentru stivă
  • 8462c575d9: x86 / xpti: Ascunde aproape toate fișierele .text și toate fișierele .data / .rodata / .bss
  • cee48d83cb: x86: ignorarea încercărilor de încărcare a microcodului invitat
  • 20db434e90: ocaml: construiți brațul construit
  • 0d2f9c89f7: Mergeți filiala "merge-comet-staging-4.10-v1" în staționare-4.10
  • a1189f93ef: libxl / pvh: forțați oaspeții PVH să utilizeze oprirea xenstore
  • c37114cbf8: x86 / HVM: nu dați impresia greșită a succesului WRMSR
  • 5ede9f9600: x86 / PV: opriți-o-unu în verificarea limitei bitmap I / O
  • 7e0796d3fe: acordați: Eliberați blocarea domeniului pe calea "hartă" în cache_flush
  • b9aa790d31: x86 / pv: Evitați scurgeri de valori MSR_TSC_AUX ale altor invitați în context PV
  • 4867afbc95: x86 / nmi: începe monitorul NMI pe CPU0 după bootstrap SMP
  • 3deb58f832: x86 / srat: calculați sfârșitul final în nodes_cover_memory ()
  • 3376822f15: x86 / hvm / dmop: copiați doar ceea ce este necesar pentru / de la oaspeți
  • 37dd90787e: x86 / entry: Utilizați rapoarte de 32bit xors decât 64bit xors pentru deblocarea GPR
  • 296705818c: x86 / emul: Fixarea decodificării suprascrierilor segmentului în modul 64bit
  • 0857b09aae: x86 / spec_ctrl: Remediați câteva erori în SPEC_CTRL_ENTRY_FROM_INTR_IST
  • 4195d40e31: x86 / srat: fixați sfârșitul pfn check in valid_numa_range ()
  • ab62fc3171: x86: reducerea cheltuielilor de IPL de susținere a bandajului
  • 0e10f28586: x86 / NMI: condiție inversă în nmi_show_execution_state ()
  • a05fc8e5be: x86 / emul: Fixați emulația invlpga
  • 083bd83354: ignore: update .hgignore
  • b0e975c822: ignoră: lista de actualizare a fișierelor ignorate git
  • def29407de: firmware / shim: o mai bună filtrare a fișierelor intermediare în timpul configurației Xen tree
  • 8c3bbc7c2b: firmware / shim: o mai bună filtrare a fișierelor de dependență în timpul configurației copacului Xen
  • cee8bb62ff: construiți: eliminați obiectivele asociate șabloanelor
  • 08a941bdac: shim: permite construirea doar a shim cu link-ul de incapacitate build-ID
  • 7dc817b750: firmware / shim: evitați eroarea mkdir în timpul configurării arborelui Xen
  • 21080841ae: firmware / shim: gestionează corect erorile în timpul configurării arborelui Xen
  • dc4a23b115: firmware / shim: actualizare Makefile
  • da7543dd32: x86 / shim: nu folosiți compararea pe 32 de biți pe variabila booleană
  • 9fd27db52a: xen / pvshim: remediați trimiterea hipercallului GNTTABOP_query_size cu SMAP
  • 6d9b6bf418: Reveniți la "x86 / boot: Harta mai mult decât primele 16MB"
  • 79f04299ca: x86: relocați pvh_info
  • 9ce99ad413: xen / shim: stash adresa RSDP pentru driverul ACPI
  • 186c2f57bd: libxl: mesaj inferior în legătură cu shim la nivelul DEBUG
  • 357bf02e49: x86 / shim: utilizați planificatorul de credite
  • 81306edf86: x86 / guest: curăță oaspetele / xen.h
  • 14e1a434f4: libxl: eliminați spațiile albe introduse în 62982da926
  • b869742c99: xen / pvshim: comutați shim.c pentru a utiliza tipurile de fișiere mfn_to_page și virt_to_mfn
  • d691e41793: xen / pvshim: rezolva probleme de stil de codificare
  • ee478f4737: xen / pvshim: rearanjați codul replace_va_mapping
  • f05a7c5148: xen / pvshim: identitatea pin shim vCPUs în pCPUs
  • 7027acfc1f: unelte: construiți brațul după bdf693ee61b48
  • bc513e82ed: Nu construiți xen-shim pentru gazda de construire pe 32 de biți
  • af63193017: Reveniți "x86 / oaspete: utilizați zona vcpu_info din shared_info"
  • a44e83b712: x86 / shim: comiteți schimbările shim.config pentru sucursala 4.10
  • da3a46d017: Eticheta de îmbinare "4.10.0-shim-comet-3" în staționare-4.10
  • b6a6458b13: xen / arm: Înainte de a porni MMU-ul pentru a evita intrările vechi
  • e3dfd5d1dd: xen / arm: vgic: Asigurați-vă că numărul SPI-urilor este mai mic de 32
  • a6780c122b: x86 / hvm: Nu permiteți crearea domeniilor HVM fără emularea locală APIC
  • 16edf98e95: gnttab: nu lăsați liber paginile de stare la schimbarea versiunii
  • e2ceb2ed66: gnttab / ARM: nu distrugeți matricea GFN partajată
  • 1b1c059099: memorie: nu se fixează implicit pentru scăderea rezervării
  • 5e91fc4d3b: xen / arm: cpuerrata: De fapt, verificați eroarea pe procesoarele non-boot
  • 3921128fcb: xen / bra: vsmc: Nu implementați ID-uri de funcții care nu există
  • cd2e1436b1: xen / braț: vpsci: Înlăturarea meniurilor MIGRATE și MIGRATE_INFO_UP_CPU
  • 3181472a5c: x86 / idle: Ștergeți SPEC_CTRL în timpul inactivității
  • 5644514050: x86 / cpuid: Oferiți clienților un control indirect asupra filialelor
  • db12743f2d: x86 / ctxt: Eliberați o barieră de speculație între contextele vcpu
  • bc0e599a83: x86 / boot: se calculează cea mai potrivită diminuare pentru utilizarea ITO
  • fc81946cea: x86 / entry: Evitați utilizarea alternativelor în căile NMI / # MC
  • ce7d7c0168: x86 / entry: Organizați clobbering-ul RSB / RAS la intrarea în Xen
  • a695f8dce7: x86 / entry: Organizați utilizarea MSR_SPEC_CTRL la fiecare punct de intrare / ieșire
  • 92efbe8658: x86 / hvm: permiteți oaspeților acces direct la MSR_ {SPEC_CTRL, PRED_CMD}
  • 8baba874d6: x86 / migrate: mutați MSR_SPEC_CTRL pe migrație
  • 79891ef944: x86 / msr: emularea MSR_ {SPEC_CTRL, PRED_CMD} pentru oaspeți
  • 641c11ef29: x86 / cpuid: Manipularea IBRS / IBPB, STIBP și IBRS pentru oaspeți
  • 05eba93a0a: x86: remediați GET_STACK_END
  • a69cfdf0c1: x86 / acpi: procesează procese în timp ce tipărește date ACPI CPU
  • 0f4be6e2c4: xen / x86: raportați ID-ul domeniului pe cpuid
  • 0a7e6b50e0: x86 / svm: CPUID Ofertă Fault la oaspeții AMD HVM
  • 65ee6e043a: x86 / cmdline: Introduceți o opțiune de linie de comandă pentru a dezactiva IBRS / IBPB, STIBP și IBPB
  • 129880dd8f: x86 / caracteristică: Definiții pentru controlul ramificațiilor indirecte
  • c513244d8e: x86: Introduceți tunete alternative indirecte
  • 0e12c2c881: x86 / amd: Încercați să setați lfence ca fiind Serialising Dispatch
  • 6aaf353f2e: x86 / boot: Raportați detalii despre măsuri de atenuare speculativă
  • 32babfc19a: x86: Suportă tunete indirecte din codul de asamblare
  • 47bbcb2dd1: x86: Compilarea suportului cu ramuri de ramificație indirecte
  • 8743fc2ef7: comun / așteptare: clarificări pentru a aștepta infrastructura
  • 1830b20b6b: x86 / entry: Ștergeți starea GPR de la intrarea în Xen
  • ab95cb0d94: x86 / hvm: Utilizați SAVE_ALL pentru a construi cadrul cpu_user_regs după VMExit
  • d02ef3d274: x86 / entry: Rearanjați RESTORE_ALL pentru a restabili înregistrarea în stack
  • e32f814160: x86: introduceți o comună cpuid_policy_updated ()
  • c534ab4e94: x86 / hvm: Redenumiți update_guest_vendor () apel invers la cpuid_policy_changed ()
  • be3138b6f6: x86 / alt: Introduceți macrocomenzi ALTERNATIVE {, _ 2}
  • 79012ead93: x86 / alt: Părăsiți alternative-asm într-un fișier de antet separat
  • bbd093c503: xen / arm32: entry: Documentați scopul r11 în dispozitivul de manipulare a capcanelor
  • a69a8b5fdc: xen / arm32: Există icache pentru invalidarea invitației pentru Cortex-A15
  • f167ebf6b3: xen / arm32: Invalidați BTB la ieșirea oaspeților pentru Cortex A17 și 12
  • c4c0187839: xen / arm32: Adăugați scheletul pentru a întări atacurile de aliniere a predictorilor de ramură
  • 19ad8a7287: xen / arm32: entry: Adăugați o intrare lipsă a trap_reset
  • 3caf32c470: xen / arm32: adăugați valorile MIDR lipsă pentru Cortex-A17 și A12
  • df7be94f26: xen / arm32: intrare: Consolidați DEFINE_TRAP_ENTRY_ * macro-uri
  • f379b70609: SUPPORT.md: versiunea fixă ​​și lansarea inițială
  • 728fadb586: xen / bra: cpuerrata: Eliminați percpu.h include
  • 928112900e: xen / arm64: Implementați întărirea predictorului sucursalei pentru procesoarele Cortex-A afectate
  • cae6e1572f: xen / arm64: Adăugați un schelet pentru a întări atacurile de aliasing al predictorului de ramură
  • d1f4283a1d: xen / braț: cpuerrata: Adăugați MIDR_ALL_VERSIONS
  • 0f7a4faafb: xen / arm64: Adăugați valorile MIDR care lipsesc pentru Cortex-A72, A73 și A75
  • b829d42829: xen / bra: Introduceți activarea apelului pentru a activa capabilitățile pe fiecare CPU online
  • fa23f2aaa2: xen / pvh: plasați trambulina la pagina 0x1
  • 79f797c3f4: firmware / shim: procedură de reparare pentru a utiliza opțiunile de căutare POSIX
  • 69f4d872e5: x86 / guest: utilizați zona vcpu_info din shared_info
  • 7cccd6f748: x86: permite dezactivarea ajutorului de bandă de topire
  • 234f481337: x86: ajutor de bandă de topire împotriva invitați rău intenționați pe 64 de biți
  • 57dc197cf0: x86 / mm: setați întotdeauna _PAGE_ACCESSED pe actualizările L4e
  • 7209b8bf08: x86: nu utilizați valori CPUID potențial incorecte pentru informații despre topologie
  • 910dd005da: x86 / entry: Eliminați suportul pentru cadrele parțiale cpu_user_regs
  • 50d24b9530: x86 / upcall: injectarea unui eveniment fals după setarea vectorului de upcall
  • c89c622b89: x86 / E820: nu suprascrie array
  • 3b8d88d4fa: x86 / IRQ: păstrează în mod condiționat permisiunea de acces pe căile de eroare de pe hartă
  • 6f1979c8e4: -xen-attach este necesar pentru boot-ul pvh cu qemu-xen
  • 0a515eeb96: xen / pvshim: hartă vcpu_info mai devreme pentru AP-uri
  • 0e2d64ae8f: xl: pvshim: Furnizați și documentați xl config
  • ab9e3854dd: libxl: pvshim: Introduceți pvshim_extra
  • abdde49edc: libxl: pvshim: Oferiți setări config de primă clasă pentru a activa modul shim
  • 321ef983a0: xen / shim: permite DOMU să aibă cât mai multe vcpus disponibile
  • c9083de0ae: xen / shim: crash în loc de a reporni în modul shim
  • b5be9c817d: xen / pvshim: utilizați poziția implicită pentru mapările m2p
  • 9d60bc96be: xen / shim: modificați comportamentul parametrilor shim_mem
  • 29dd3142bf: xen / pvshim: memorie hotplug
  • 5b6c3ffa1d: xen / pvshim: suport vCPU hotplug
  • 004646a1dd: xen / pvshim: setați max_pages la valoarea tuturor paginilor
  • 7dcc20e0c8: xen / pvshim: adăugați parametrul shim_mem cmdline
  • 83c838c9f8: xen / pvshim: adăugați suport pentru migrare
  • cc7d96b98c: x86 / pv-shim: pagina consolei PV shadow pentru L2 DomU
  • 7f5eb7d04e: xen / pvshim: adăugați operații de tabel de granturi
  • bbad376ab1: xen / pvshim: forward evtchn ops între L0 Xen și L2 DomU
  • da4518c559: xen / pvshim: setați valoarea de domidă corectă
  • 1cd703979f: xen / pvshim: modificați constructorul Dom0 pentru a construi un DomU
  • 60dd95357c: xen: marcați paginile xenstore / consolă ca RAM
  • 0ba5d8c275: xen / pvshim: săriți numai părțile constructorului de domeniu Dom0
  • 4ba6447e7d: xen / pvh: nu marchează 1MB scăzut ca memorie IO
  • 2b8a95a296: xen / x86: alegerea suportului VGA
  • cdb1fb4921: xen / arm: bootfdt: Utilizați setarea implicită pentru # address-cells și # size-cells
  • a40186478c: xen / braț: gic-v3: salvare dacă gicv3_cpu_init eșuează
  • 3784256866: instrumente / firmware: construiți și instalați xen-shim
  • b5ead1fad3: x86 / shim: opțiunile de la Kconfig și linia de comandă
  • aa96a59dc2: x86 / guest: utilizați consola PV pentru Xen / Dom0 I / O
  • 7477359b9a: x86 / oaspete: adăugați codul consolei PV
  • cb5dc94ba7: x86 / guest: setarea unui canal de upcall pentru canalul evenimentului
  • 3b058a3eab: x86: nu înghiți primul element rând de comandă în modul invitat
  • 5a543c6f39: x86: citiți wallclock-ul de la Xen atunci când rulează în modul pvh
  • 949eb11d58: x86: Calibrarea temporizatorului APIC atunci când rulează ca invitat
  • f5ca36927e: x86: xen pv sursă de timp ceas
  • 68e7a08436: x86 / guest: hartă per-cpu vcpu_info.
  • d2df09c92b: xen / guest: preluați ID-ul vCPU din Xen
  • efa15c993b: x86 / invitat: hartă partajată_info
  • 83186a8e69: xen / pvshim: ține evidența domeniilor PFN utilizate
  • 1fa5444834: xen: introduceți rangeset_claim_range
  • 10128f33aa: xen / consolă: introduceți consola = xen
  • 2f5a012143: x86 / pvh: recuperarea hărții de memorie de la Xen
  • 9752c7422b: x86 / shutdown: Suport pentru utilizarea SCHEDOP_ {shutdown, reboot}
  • b38cc15b2f: x86 / oaspete: suport Hypercall
  • 3d1afab1f6: x86 / entry: Sonda pentru Xen devreme în timpul încărcării
  • 31b664a93f: x86 / boot: Harta mai mult decât primele 16MB
  • db65173fe7: x86 / intrare: Codul inițial de pornire PVH
  • 51f937a39b: x86: produce un binar care poate fi încărcat ca PVH
  • 887c705600: x86: introduceți macrocomanda ELFNOTE
  • f575701f3c: x86 / link: Relocați anteturile programului
  • af2f50b2b6: x86 / Kconfig: Opțiuni pentru suport Xen și PVH
  • b538a13a68: x86: Asistență comună pentru defecțiuni
  • 57dc22b80d: x86 / fixmap: Modificați fix_to_virt () pentru a returna un pointer gol
  • 48811d481c: tools / ocaml: Extindeți domain_create () pentru a lua arh_domainconfig
  • 78898c9d1b: tools / ocaml: Expuneți arch_config în domaininfo
  • e7c8187b91: xen / domctl: Întoarceți arch_config via getdomaininfo
  • 9e46ae12ed: ACPICA: Faceți opțional Timerul de gestionare a energiei ACPI (PM Timer).
  • ff1fb8fe53: x86 / link: introduceți și utilizați SECTION_ALIGN
  • 92a6295c30: x86 / time: Imprimați o eroare mai utilă atunci când un cronometru de platformă nu poate fi găsit
  • 78e9cc3488: xen / common: Extindeți ușor tamponul pentru înregistrarea clienților
  • 667275050d: tools / libxc: Suportul pentru mai multe module
  • 4621c10f48: tools / libelf: verificați verificarea notelor elf pentru oaspetele PVH
  • 40938b5d56: tools / libxc: eliminați noua linie externă în xc_dom_load_acpi
  • 5840f40e88: xen / x86: raportați ID-ul domeniului pe cpuid
  • caff7f9b59: x86 / svm: Oferta CPUID Fault la oaspeții AMD HVM, de asemenea
  • 69e302e59c: x86 / upcall: injectarea unui eveniment fals după setarea unui vector upcall
  • a87ec4833a: x86 / msr: Măsurarea msr_vcpu_policy în timpul distrugerii vcpu
  • 9dc5eda576: x86 / vmx: Nu utilizați hvm_inject_hw_exception () în long_mode_do_msr_write ()
  • 135b67e9bd: xen / efi: Reparați construirea cu clang-5.0
  • 682a9d8d37: gnttab: îmbunătățirea blocării GNTTABOP_cache_flush
  • 19dcd8e47d: gnttab: corectați GNTTABOP_cache_flush manipularea goală a loturilor
  • e5364c32c6: x86 / microcod: Adăugați suport pentru încărcarea microcode fam17h
  • e2dc7b584f: x86 / mm: afirmația modului de afișare falsă
  • c8f4f45e04: x86 / mb2: evitați imaginea Xen atunci când căutați modul / poziția crashkernel
  • 4150501b71: x86 / vvmx: nu permiteți umbrirea vmcs pentru oaspeții imbriciți
  • ab7be6ce4a: xen / pv: Construiți corect GDT-ul d0v0

Ce este nou în versiune:

  • Aceste versiuni conțin multe remedii și îmbunătățiri ale erorilor.

Ce este nou în versiunea 4.9.0:

  • Caracteristici noi:
  • Boot Xen pe platformele EFI utilizând GRUB2 (x86): Din Xen Project 4.9 și GRUB2 2.02, Xen Project Hypervisor poate fi lansat utilizând protocolul multiboot2 pe platformele BIOS vechi și EFI x86. Suportul parțial pentru protocolul multiboot2 a fost introdus, de asemenea, în firmware-ul de pornire în rețea (iPXE). Acest lucru face ca procesul de boot Xen Project să fie mult mai flexibil. Configurațiile de boot pot fi modificate direct dintr-un bootloader (fără a fi nevoie să utilizeze editorii de text) și configurațiile de pornire sunt mai portabile pe diferite platforme.
  • Latența la nivel local pentru mediile încorporate și pentru automobile: Planificatorul "null" permite cazurile de utilizare în care fiecare CPU virtual poate fi atribuit unui CPU fizic (în mod obișnuit necesar pentru mediile încorporate și pentru automobile) eliminând aproape toate cheltuielile de programare medii. Utilizarea planificatorului "null" garantează, de asemenea, o latență semnificativ mai mică și performanță mai previzibilă. Parametrul nou vwfi pentru ARM (virtual Wait For Interrupt) permite un control cu ​​granulație fină asupra modului în care Xen Project Hypervisor se ocupă de instrucțiunile WFI. Setarea vwfi la "nativ" reduce latența de întrerupere cu aproximativ 60%. Măsurătorile de referință pe Xilinx Zynq Ultrascale + MPSoC au arătat o latență maximă de întrerupere de mai puțin de 2 microsecunde, care este extrem de apropiată de limitele hardware și ar trebui să fie suficient de mică pentru marea majoritate a cazurilor de utilizare încorporată.
  • Xen 4.9 include noile ABI-uri standard pentru partajarea de dispozitive între mașini virtuale (inclusiv implementări de referință) pentru un număr de cazuri de utilizare a calculatoarelor încorporate, automate și cloud.
  • Pentru embedded / automotive, a fost adăugat un sunet virtual ABI care să implice redarea și captura audio, precum și controlul volumului și posibilitatea de a dezactiva / dezactiva sursele audio. În plus, a fost adăugat un nou afișaj virtual ABI pentru dispozitivele complexe de afișare care expune mai multe cadre de framebuffere și afișe. Suportul multi-touch a fost adăugat la protocolul virtual tastatură / mouse care permite afișarea ecranelor tactile.
  • Xen 4.9 introduce de asemenea un transport Xen pentru 9pfs, care este un protocol de sistem de fișiere la distanță inițial scris pentru Plan 9. În timpul ciclului de eliberare Xen 4.9, un Xen 9pfs frontend a fost upstreamed în kernel-ul Linux și un backend în QEMU. Acum este posibil să partajați un sistem de fișiere (nu neapărat un dispozitiv blocat) de la o mașină virtuală la alta, ceea ce este o cerință pentru adăugarea suportului Xen la multe motoare de rezervă, cum ar fi CoreContext rkt.
  • Apelurile PV ABI au fost introduse pentru a permite redirecționarea cererilor POSIX către vizitatori: un apel funcțional POSIX provenit dintr-o aplicație dintr-un DomU poate fi transmis și implementat în Dom0. De exemplu, apelurile de socket pentru rețelele clienților pot fi executate în Dom0, permițând un nou model de rețea care să se potrivească în mod natural aplicațiilor cloud-native.
  • Îmbunătățiri ale funcționalității existente:
  • Optimizări Xenstored: Daemoanele Xenstore permit Dom0 și oaspeților acces la informații de configurare a sistemului. Limitele de scalabilitate C-xenostrate au fost crescute pentru a permite gazdelor mari (aproximativ> 1000 de domenii) să funcționeze eficient. Operațiunile cu tranzacțiile au fost îmbunătățite pentru o performanță mai bună, amprenta de memorie mai mică și mai puține conflicte de tranzacții. Au fost adăugate capabilități de depanare dinamică.
  • DMOP (Device Model Operation Hypercall): În Xen 4.9 interfața dintre Xen și QEMU a fost complet prelucrată și consolidată. Există acum doar un singur hipercall în Xen (hypercall DMOP), care este proiectat cu atenție pentru a permite conducătorului privat să audă orice interval de memorie QEMU și parametrii care sunt transmiși către Xen prin DMOP. Driverul privcmd pentru Linux permite auditarea DMOP, care limitează semnificativ capacitatea unui QEMU compromis de a ataca hypervisor.
  • Suport alternativ pentru runtime și suport GICv3 pentru ARM32: patch-uri alternative runtime care permit hypervisorului să aplice soluții erratas care afectează procesorul și să aplice optimizări specifice pentru un CPU și suport GICv3 a fost extins pentru platformele ARM pe 32 de biți, la cazuri de utilizare încorporate.
  • Suport pentru caracteristici Intel și x86: Versiunea cea mai recentă a hypervisorului Xen Project adaugă suportul Instrucțiunilor de rețea neuronale AVX512_4VNNIW și Multiply Accumulation Single precision AVX512_4FMAPS ca subfamilii ale seturilor de instrucțiuni AVX512. Cu aceste instrucțiuni activate în Xen atât pentru invitații HVM cât și PV, programele din OS-urile oaspete pot profita din plin de aceste instrucțiuni importante pentru a accelera computerele de învățare a mașinilor. Această versiune Xen îmbunătățește, de asemenea, optimizarea VT-d (PI) de optimizare, controlul excepției de verificare a mașinii (MCE) și multe altele.
  • Detectarea erorilor de sistem (ARM): Xen pe ARM a făcut un pas înainte în fiabilitate și serviceabilitate prin introducerea detectării și raportării erorilor de sistem, o caracteristică cheie pentru clienții cu sisteme foarte disponibile.
  • Sprijin GCOV: Am eliminat vechea implementare GCOV și am înlocuit-o cu o versiune actualizată care acceptă mai multe formate și expune o interfață mai generică.
  • Reprocesarea și întărirea codului de emulare x86 pentru securitate: virtualizarea asistată de hardware oferă hypervisorilor capacitatea de a executa cele mai multe instrucțiuni privilegiate nativ și sigur. Cu toate acestea, pentru unele cazuri de graniță, este încă necesar să emulați instrucțiuni x 86 în software. În Xen 4.9, proiectul a redesignat complet codul de emulare x86, a adăugat suport pentru instrucțiuni noi, a auditat codul împotriva vulnerabilităților de securitate și a creat teste de fuzzare pe bază de test AFL, care rulează regulat împotriva emulatorului.
  • Suport actualizat pentru specificația funcțională Hyper-V Hypervisor de la nivel înalt (cunoscută și sub numele de Enlightenments Viridian): Xen implementează un subset al versiunii 5.0 a Hyper-V Hypervisor TLFS, care permite Xen să ruleze oaspeții Windows cu performanțe similare ar fi rulat pe Hyper-V. În plus, această lucrare pune bazele pentru a ne permite să executăm în viitor Hyper-V în Xen folosind virtualizarea imbricată.
  • Dezvoltare pe termen lung cu mai multe versiuni:
  • Tranziția de la PVHv1 la PVHv2: Xen Project 4.8 a pus bazele pentru re-arhitecturarea și simplificarea PVH, concentrându-se pe oaspetele ABU, care le-a permis dezvoltatorilor de sisteme de operare invitați să înceapă să-și distribuie OS-urile în acest mod. Sprijinul pentru FreeBSD este în desfășurare, în timp ce suportul pentru Linux este angajat. Xen 4.9 a adăugat suport Domol builder și suport pentru mai mulți controleri Intel I / O Advanced Programmable Interrupt (vIO APIC). PVHv2 pentru rutarea întreruperii și emularea PCI este în prezent revizuită de către colegi și poate fi așteptată la începutul ciclului de eliberare Xen 4.10. Acest lucru pune bazele unui PVHv2 Dom0. Pentru suportul PVHv2 DomU, au fost pornite PCI Passthrough și o reușită majoră a interfețelor utilizator xl / libxl și libvirt pentru PVH. Suportul pentru PVHv1 a fost eliminat din baza de date Xen.
  • Redeschiderea integrării Xen-QEMU pentru a proteja vulnerabilitățile de securitate QEMU: În Xen Project 4.8, am pornit efortul de a relua integrarea Xen-QEMU, ceea ce înseamnă că QEMU în cadrul Dom0. S-au înregistrat progrese semnificative în Xen 4.9 în acest scop, prin implementarea DMOP. Alte modificări, cum ar fi renunțarea la QEMU în Dom0 și modificările la driverul privcmd Linux, au fost în mare parte finalizate în Xen 4.9. Modificările proiectate, dar net implementate, sunt modificări necesare ale utilizării de către XxStore a serviciului libxl și QEMU.

Ce este nou în versiunea 4.8.1 / 4.9.0 RC5:

  • actualizați versiunea Xen la 4.8.1
  • oxenstored: istoricul trim în funcția frequent_ops
  • Conflicte de tranzacții rănite: îmbunătățirea înregistrării
  • oxenstored: nu te trezești pentru a nu da credit de conflict
  • oxenstored: nu efectuați tranzacții numai citite
  • oxenstored: permite auto-conflicte
  • oxenstored: vinați conexiunea care a provocat un conflict de tranzacție
  • oxenstored: Istoric comitere comenzi
  • oxenstored: eliminați vechiul istoric de comitere pe capătul txn
  • oxenstored: numai înregistrări cu efecte secundare în istorie
  • oxenstored: urmărirea istoricului comenzilor de sprijin
  • oxenstored: adăugați informații despre tranzacții relevante pentru urmărirea istoricului
  • oxenstored: ignorați domeniile fără credit de conflict
  • oxenstored: gestionarea conflictului de domenii
  • oxenstored: comentarii care explică unele variabile
  • xenstored: Jurnal atunci când limita ratei tranzacției de scriere
  • xrodored: aplicați o limită a ratei tranzacției de scriere
  • tools / libxenctrl: verificați eroarea de remediere după deschiderea libxenforeignmemory
  • libxl: corectați intrarea xenstore pentru cdrom-ul gol
  • x86: utilizați masca de 64 biți atunci când mascați distanța mfn
  • memorie: verificați în mod corespunzător intervalele de memorie ale clienților în XENMEM_exchange manipulare
  • xen: planificat: nu apelați cârlige ale planificatorului greșit prin VCPU2OP
  • x86 / EFI: evitați imaginea Xen atunci când căutați modulul / poziția kexec
  • x86 / EFI: evita defecțiunile IOMMU pe [_end, __ 2M_rwdata_end)
  • x86 / EFI: evitați depășirea mb_modules []
  • build / clang: remediați politica intitulată XSM atunci când utilizați clang 4.0
  • x86: renunțați la atributele __packed care nu sunt necesare
  • arm: xen_size ar trebui să fie paddr_t pentru consistență
  • xen / arm: alternative: Înregistrați zona Xen redenumită ca regiune temporară virtuală
  • Actualizare QEMU_TAG
  • braț: rang de citire / scriere-> vcpu atomic
  • xen / arm: p2m: efectuați invalidarea TLB locală pe migrarea vCPU
  • xen / bra: Introduceți INVALID_VCPU_ID
  • xen / arm: Setați nr_cpu_ids la numărul disponibil de cpus
  • xen / arm: acpi: atribuiți atributele de mapare a domeniului hw la p2m_mmio_direct_c
  • Reveniți la "xen / braț: hartă noduri mmio-sram ca memorie cache"
  • xen / arm: dt: Relaxați atributele de mapare a domeniului hw la p2m_mmio_direct_c
  • xen / arm: ștergeți icache-ul și când se emite XEN_DOMCTL_cacheflush
  • xen / braț: fixați GIC_INVALID_LR
  • eliminați accesul restricționat la modurile de reținere
  • lipsesc vgic_unlock_rank în gic_remove_irq_from_guest
  • xen / arm: Fix macro pentru identificarea caracteristicilor procesorului ARM Jazelle
  • xen / brass: capcane: Emulați ICC_SRE_EL1 ca RAZ / WI
  • xen / arm: Fixați parantezele greșite pentru verificarea versiunii PSCI
  • arm / irq: Reordonați verificarea atunci când IRQ-ul este deja utilizat de cineva
  • Nu ștergeți bitul HCR_VM la actualizarea VTTBR.
  • x86 / emul: Corectați decodarea mov la / de la cr / dr
  • x86emul: decodarea corectă a vzero {toate, superioară}
  • xen: credit2: nu pierdeți contabilitatea în timp ce faceți o resetare de credit.
  • xen: credit2: marcați întotdeauna un pCPU ghinion ca fiind ... ghicit!
  • x86 / layout: ideea corecte a Xen-ului despre aspectul memoriei proprii
  • x86 / vmx: Nu scurgeți starea MSR a sistemului gazdă în invitații HVM
  • xen / braț: remediați intervalul afectat de memorie prin funcțiile de curățare dcache
  • xen / bra: introduceți parametrul vwfi
  • arm / p2m: eliminați pagina din lista de pagini p2m-> înainte de ao elibera
  • Actualizare QEMU_TAG
  • VMX: reparați cursa VMCS pe căile de comutare a contextului
  • xen / p2m: Fixați p2m_flush_table pentru cazuri nesterilizate
  • x86 / ept: permite combinația de scriere din mapările MMIO! mfn_valid () din nou
  • IOMMU: apelați întotdeauna apelul de încetinire
  • x86 / emulate: nu presupuneți că addr_size == 32 implică modul protejat
  • xen: credit2: remediați oprirea / suspendarea atunci când jucați cu cpupools.
  • xen: credit2: nu luați în considerare procesoarele în afara cpupool-ului nostru.
  • xen: credit2: utilizați cpumask de zgârieturi corecte.
  • x86 / hvm: nu setați msr_tsc_adjust pe hvm_set_guest_tsc_fixed
  • x86emul: constrângerile corecte FPU asm ()
  • x86: ajustările de manipulare a atributului segmentului
  • x86emul: Reglaje de verificare LOCK
  • x86emul: VEX.B este ignorat în modul de compatibilitate
  • x86 / xstate: Fixarea depășirii matricei pe hardware cu LWP
  • arm / p2m: Fixați regresia în timpul închiderii domeniului cu mem_access activ
  • libxl: fixați libxl_set_memory_target
  • xen / bra: gic-v3: Asigurați-vă că citirea din ICC_IAR1_EL1 este vizibilă pe redistribuitorul
  • x86 / cpu: Nu actualizați acest_cpu pentru get_cpu_vendor (, gcv_guest)
  • x86 / emul: Corectați manipularea valorii returnate a VMFUNC
  • x86 / boot: construiți repede cu anumite versiuni mai vechi gcc
  • x86emul: CMPXCHG16B necesită un operand aliniat
  • VT-d: corecte dma_msi_set_affinity ()
  • x86emul: ignorați majoritatea bazelor de segmente pentru modul pe 64 de biți în is_aligned ()
  • x86emul: MOVNTI nu permite prefixele REP
  • x86 / VPMU: ștergeți statusul de depășire a numărului de contor care sa întâmplat la depășire
  • x86 / hvm: nu creați necondiționat un server ioreq implicit
  • libelf: indexul secțiunii 0 este special
  • x86emul: CMPXCHG {8,16} B prefixele de ignorare
  • xen: Fixarea determinării momentului finalizării creării domeniului
  • x86emul: corect PUSHF / POPF
  • init / FreeBSD: reparați utilizarea incorectă a $ rc_pids în xendriverdomain
  • init / FreeBSD: adăugați variabile de control rc
  • init / FreeBSD: fix xencommons astfel încât poate fi lansat numai de Dom0
  • init / FreeBSD: eliminați xendriverdomain_precmd
  • init / FreeBSD: setați PATH corect pentru xl devd
  • xsm: permiteți permisiunea relevantă în timpul migrării și pasului gpu.
  • libxl: init_acpi_config ar trebui să returneze rc în calea de ieșire și să fie setat la 0 cu succes
  • x86 / emul: adăugați probabil () / puțin probabil () pentru a testa hamul
  • x86 / HVM: adăugați verificarea NULL lipsă înainte de a utiliza cârligul VMFUNC
  • x86: forțarea EFLAGS.IF la ieșirea la invitații PV
  • x86 / emul: Corectați manipularea eflagurilor cu SYSCALL
  • Actualizare QEMU_TAG
  • actualizați versiunea Xen la 4.8.1-pre
  • În plus, această versiune conține, de asemenea, următoarele remedii pentru qemu-tradițional:
  • cirrus / vnc: suport de tip "dropblit" de pe consola.
  • cirrus: adăugați blit_is_unsafe apel la cirrus_bitblt_cputovideo
  • cirrus: remediați problema de acces la un serviciu (CVE-2017-2615)
  • qemu: ioport_read, ioport_write: fi defensivă pe adrese de 32 de biți

Comentarii la Xen

Comentariile nu a fost găsit
Adauga comentarii
Porniţi pe imagini!