Xen è un monitor per macchine virtuali completamente gratuito e open source per piattaforme di computer x86 che è stato progettato da zero per supportare l'esecuzione di più sistemi operativi guest in ambienti isolati su una singola macchina. È una delle più potenti soluzioni di macchine virtuali per sistemi operativi Linux, UNIX e POSIX.
Caratteristiche a colpo d'occhio
Le funzionalità principali includono il supporto per EFI (Extensible Firmware Interface), supporta fino a 4095 CPU host sulla piattaforma hardware a 64 bit, supporta i dom0 kernel compressi con il metodo di compressione xz, supporta la rimappatura degli interrupt per dispositivo, nonché più Segmenti PCI.
Tra le altre architetture supportate, Xen funziona bene su X86-64, ARMv7 + Virtualization Extensions, così come sulla nuovissima architettura ARMv8. Xen supporta anche diversi sistemi operativi basati su kernel Linux, inclusi Red Hat Enterprise Linux, SuSE, Debian, OpenMandriva e molti altri, oltre a vari gusti BSD.
Introduzione a Xen
Xen può essere trovato sui principali repository software delle moderne distribuzioni GNU / Linux, il che significa che può essere facilmente installato dall'app Software Center. È principalmente distribuito come pacchetto sorgente che può essere ottimizzato per una specifica architettura del sistema operativo / hardware.
Se sei un utente Linux hardcore e vuoi installare Xen dai sorgenti, scarica l'ultima versione da Softoware o dal sito web ufficiale del progetto (consulta il link alla home page alla fine dell'articolo), salvalo sul tuo Home directory e utilizzare uno strumento di gestione archivio per estrarne il contenuto.
, apri un'app emulatore di terminale, vai al percorso in cui hai estratto i file di archivio (es. cd /home/softoware/xen-4.5.0 - replace & lsquo; softoware & rsquo; con il tuo nome utente), esegui & lsquo; ./configure & amp; & amp; fare & rsquo; comando per configurare e compilare il programma, seguito dal comando sudo make install & rsquo; comando di installarlo a livello di sistema dopo un processo di compilazione riuscito.
Novità di in questa versione:
- c30ab3d97c: SUPPORT.md: aggiungi informazioni sulla durata dell'assistenza mancanti
- 5f6000a985: adatta SUPPORT.md per far corrispondere 4.11
- f9e1bddbc8: SUPPORT.md: corregge un errore
- 3614c7d949: SUPPORT.md: documenta la nuova regola di ordinamento del testo
- 6f8e8bae87: SUPPORT.md: sposta le descrizioni prima delle informazioni di stato
- 2e02212848: docs / Makefile: formatta SUPPORT.md nel livello più alto
- 73c8c2c211: docs / Makefile: inserisci GENERATE_PANDOC_RULE_RAW
- c07d2195b0: docs / gen-html-index: documenti di supporto al livello superiore
- 0609dd1c5e: docs / gen-html-index: estrai titoli da documenti HTML
- a3459c741e: SUPPORT.md: Sintassi: fornire un titolo piuttosto che una sezione vuota spuria
- de3ccf0790: SUPPORT.md: Sintassi: correggi un errore "Stati"
- f7a7eeac29: SUPPORT.md: Sintassi: corregge alcuni elenchi puntati
- cba8690ea8: x86: correzione del percorso int80 lento dopo aggiunte XPTI
- d27de97cd1: libxl: specifica il formato del cdrom inserito
- 656c14780c: x86 / msr: correggi il comportamento di emulazione di MSR_PRED_CMD
- 8d37ee1d10: x86 / VT-x: determinazione del problema di EFER.LMA in vmcs_dump_vcpu ()
- 696b24dfe1: x86 / HVM: sopprime il completamento I / O per l'output della porta li>
- 41015e7945: x86 / pv: corregge i segmenti errati per la voce syscall a 32 bit
- 4f12a18bc2: x86 / XPTI: riduci .text.entry
- 649e617335: x86: registro stato abilitato XPTI
- bd26592fdf: x86: disabilita XPTI quando RDCL_NO
- afece29fe9: x86 / pv: correggi il passaggio delle scritture a% dr7
- 2e34343fb2: xen / arm: Rileva la scoperta ARM_SMCCC_ARCH_WORKAROUND_1
- d9756ca980: xen / arm: vpsci: Rileva la logica per avviare vCPU AArch32 in modalità Thumb
- e2ee191d3d: xen / arm: vpsci: introduce e usa PSCI_INVALID_ADDRESS
- 2efc116c68: xen / arm: psci: consolida la stampa della versione PSCI
- 51742fbc08: xen / arm: vpsci: rimuovi il parametro 'ver' da do_common_cpu
- 4fcd9d14b1: xen / arm64: uccidi PSCI_GET_VERSION come soluzione alternativa-2
- 1ef0574d3b: xen / arm64: aggiungi ARM_SMCCC_ARCH_WORKAROUND_1 BP supporto di protezione avanzata li>
- ee109adca7: xen / arm: smccc: implementa la primitiva inline SMCCC v1.1
- b2682eddc2: xen / arm: psci: Rileva la versione SMCCC
- 9746779afb: xen / arm: smccc: aggiungi macro SMCCC_VERSION, SMCCC_VERSION_ {MINOR, MAJOR}
- 1d99ad5b35: xen / arm64: stampa un messaggio per CPU con il metodo di tempra BP utilizzato
- 9beb8a4461: xen / arm64: implementa un percorso veloce per la gestione di SMCCC_ARCH_WORKAROUND_1
- ef4b4d7ab0: xen / arm: adatta smccc.h per poterlo usare nel codice assembly
- df71252060: xen / arm: vsmc: implementa SMCCC_ARCH_WORKAROUND_1 BP supporto per la tempra
- 7f9ebebcec: xen / arm: vsmc: implementa SMCCC 1.1
- 4eb96e3eda: xen / arm: vpsci: aggiungere il supporto per PSCI 1.1
- 3087ba8278: xen / arm: psci: rilancia le definizioni PSCI
- 76a6dddcf8: xen / arm: vpsci: sposta la funzione PSCI dall'invio da vsmc.c a vpsci.c
- 0f92968bcf: x86 / vlapic: cancella il bit TMR all'accettazione dell'interrupt da trigger a bordo
- 9e9185f661: SUPPORT.md: specifica il supporto per vari formati di immagine
- e87e798673: SUPPORT.md: Chiarire che il protocollo della tastiera PV include il supporto per il mouse
- 6131a2c0ed: cpufreq / ondemand: correggi la corsa mentre offlining la CPU
- 47621a4ed1: x86: rimuove le letture CR dal percorso exit-to-guest
- 489cfbc1b9: x86: riduce leggermente l'overhead del cerotto Meltdown
- 860f470ba1: x86 / xpti: non mappare le pagine di stack guard
- 8462c575d9: x86 / xpti: nasconde quasi tutto il testo .text e tutti i mapping .data / .rodata / .bss
- cee48d83cb: x86: ignora i tentativi di caricamento del microcode ospite
- 20db434e90: ocaml: fix arm build
- 0d2f9c89f7: Unisci il ramo 'merge-comet-staging-4.10-v1' in staging-4.10
- a1189f93ef: libxl / pvh: forza gli ospiti di PVH ad usare lo spegnimento xenstore
- c37114cbf8: x86 / HVM: non dare l'impressione sbagliata del WRMSR che ha successo
- 5ede9f9600: x86 / PV: correzione off-by-one in controllo limite bitmap I / O
- 7e0796d3fe: grant: rilascia il blocco del dominio sul percorso "map" in cache_flush
- b9aa790d31: x86 / pv: Evita di far filtrare i valori MSR_TSC_AUX degli altri ospiti nel contesto di PV
- 4867afbc95: x86 / nmi: avvia watchdog NMI su CPU0 dopo bootstrap SMP
- 3deb58f832: x86 / srat: correggi il calcolo finale in nodes_cover_memory ()
- 3376822f15: x86 / hvm / dmop: copia solo ciò che è necessario / dal guest
- 37dd90787e: x86 / entry: usa 32 bit xors più di 64 bit xors per cancellare GPR
- 296705818c: x86 / emul: corregge la decodifica delle sostituzioni del segmento in modalità 64 bit
- 0857b09aae: x86 / spec_ctrl: correggi diversi bug in SPEC_CTRL_ENTRY_FROM_INTR_IST
- 4195d40e31: x86 / srat: correggi l'end pfn check in valid_numa_range ()
- ab62fc3171: x86: riduzione dell'overhead IPI di banda larga di Meltdown
- 0e10f28586: x86 / NMI: condizione inversa in nmi_show_execution_state ()
- a05fc8e5be: x86 / emul: corregge l'emulazione di invlpga
- 083bd83354: ignora: aggiorna .hgignore
- b0e975c822: ignora: aggiorna l'elenco dei file ignorati di git
- def29407de: firmware / shim: migliore filtraggio dei file intermedi durante l'impostazione dell'albero Xen
- 8c3bbc7c2b: firmware / shim: migliore filtraggio dei file delle dipendenze durante l'impostazione dell'albero Xen
- cee8bb62ff: build: rimuovi gli obiettivi relativi allo shim
- 08a941bdac: shim: consenti la costruzione di solo lo shim con linker ID-build incapace
- 7dc817b750: firmware / shim: evitare l'errore mkdir durante l'installazione dell'albero Xen
- 21080841ae: firmware / shim: gestisce correttamente gli errori durante l'impostazione dell'albero Xen
- dc4a23b115: firmware / shim: aggiornamento Makefile
- da7543dd32: x86 / shim: non utilizzare il confronto a 32 bit sulla variabile booleana
- 9fd27db52a: xen / pvshim: corregge l'inoltro ipercall GNTTABOP_query_size con SMAP
- 6d9b6bf418: ripristina "x86 / boot: mappa più del primo 16 MB"
- 79f04299ca: x86: riposiziona pvh_info
- 9ce99ad413: xen / shim: stash indirizzo RSDP per driver ACPI
- 186c2f57bd: libxl: messaggio relativo allo shim inferiore al livello DEBUG
- 357bf02e49: x86 / shim: usa credit scheduler
- 81306edf86: x86 / guest: ripulisci guest / xen.h
- 14e1a434f4: libxl: rimuovi gli spazi bianchi introdotti in 62982da926
- b869742c99: xen / pvshim: cambia shim.c per utilizzare typesecomf_to_page e virt_to_mfn
- d691e41793: xen / pvshim: correzione dei problemi di stile di codifica
- ee478f4737: xen / pvshim: riordina il codice replace_va_mapping
- f05a7c5148: xen / pvshim: identità pin shim vCPU a pCPU
- 7027acfc1f: tools: fix arm build dopo bdf693ee61b48
- bc513e82ed: non creare xen-shim per l'host di compilazione a 32 bit
- af63193017: Ripristina "x86 / guest: usa l'area vcpu_info da shared_info"
- a44e83b712: x86 / shim: commit shim.config cambia per 4.10 ramo
- da3a46d017: Unisci tag "4.10.0-shim-comet-3" in staging-4.10
- b6a6458b13: xen / arm: svuota i TLB prima di accendere la MMU per evitare voci stantie
- e3dfd5d1dd: xen / arm: vgic: assicurati che il numero di SPI sia multiplo di 32
- a6780c122b: x86 / hvm: non consentire la creazione di domini HVM senza emulazione APIC locale
- 16edf98e95: gnttab: non lasciare ciecamente pagine di stato al cambio di versione
- e2ceb2ed66: gnttab / ARM: non corrompere l'array GFN condiviso
- 1b1c059099: memoria: non sbloccare implicitamente la prenotazione di riduzione
- 5e91fc4d3b: xen / arm: cpuerrata: in realtà controlla errata su CPU non di avvio
- 3921128fcb: xen / arm: vsmc: non implementare ID funzione che non esistono
- cd2e1436b1: xen / arm: vpsci: rimozione di MIGRATE fittizio e MIGRATE_INFO_UP_CPU
- 3181472a5c: x86 / idle: Cancella SPEC_CTRL mentre è inattivo
- 5644514050: x86 / cpuid: offre controlli di diramazione indiretta agli ospiti
- db12743f2d: x86 / ctxt: crea una barriera di speculazione tra i contesti di vcpu
- bc0e599a83: x86 / boot: calcola la mitigazione ITV più appropriata da utilizzare
- fc81946cea: x86 / entry: evitare l'uso di alternative in percorsi NMI / # MC
- ce7d7c0168: x86 / entry: organizza il clobbering di RSB / RAS sulla voce in Xen
- a695f8dce7: x86 / entry: organizza l'uso di MSR_SPEC_CTRL in ogni punto di entrata / uscita li>
- 92efbe8658: x86 / hvm: consente agli ospiti di accedere direttamente a MSR_ {SPEC_CTRL, PRED_CMD}
- 8baba874d6: x86 / migrate: sposta MSR_SPEC_CTRL sulla migrazione
- 79891ef944: x86 / msr: emulazione di MSR_ {SPEC_CTRL, PRED_CMD} per gli ospiti
- 641c11ef29: x86 / cpuid: gestione di IBRS / IBPB, STIBP e IBRS per gli ospiti
- 05eba93a0a: x86: correggi GET_STACK_END
- a69cfdf0c1: x86 / acpi: elabora le softirq durante la stampa dei dati ACPI della CPU
- 0f4be6e2c4: xen / x86: id dominio dominio su cpuid
- 0a7e6b50e0: x86 / svm: offra CPUID anche agli ospiti HVM di AMD
- 65ee6e043a: x86 / cmdline: introdurre un'opzione della riga di comando per disabilitare IBRS / IBPB, STIBP e IBPB
- 129880dd8f: x86 / feature: definizioni per i controlli derivati indiretti
- c513244d8e: x86: introduce thunk indiretti alternativi
- 0e12c2c881: x86 / amd: prova a impostare lfence come serializzazione delle spedizioni
- 6aaf353f2e: x86 / boot: riporta i dettagli delle attenuazioni speculative
- 32babfc19a: x86: supporta i thunk indiretti dal codice assembly
- 47bbcb2dd1: x86: supporto per la compilazione con thunk di ramo indiretto
- 8743fc2ef7: common / wait: chiarimenti sull'attesa dell'infrastruttura
- 1830b20b6b: x86 / entry: cancella lo stato GPR ospite all'entrata in Xen
- ab95cb0d94: x86 / hvm: usa SAVE_ALL per costruire il frame cpu_user_regs dopo VMExit
- d02ef3d274: x86 / entry: riorganizza RESTORE_ALL per ripristinare il registro nell'ordine di stack
- e32f814160: x86: introduci un cpuid_policy_updated () comune
- c534ab4e94: x86 / hvm: Rinomina callback update_guest_vendor () in cpuid_policy_changed ()
- be3138b6f6: x86 / alt: introduce le macro ALTERNATIVE {, _ 2}
- 79012ead93: x86 / alt: Suddividi alternative-asm in un file di intestazione separato
- bbd093c503: xen / arm32: entry: documenta lo scopo di r11 nel gestore trap
- a69a8b5fdc: xen / arm32: Invalidate icache on guest esiste per Cortex-A15
- f167ebf6b3: xen / arm32: invalida BTB all'uscita guest per Cortex A17 e 12
- c4c0187839: xen / arm32: aggiungi lo scheletro per rafforzare gli attacchi di aliasing dei predittori di ramo
- 19ad8a7287: xen / arm32: entry: aggiungi la voce trap_reset mancante
- 3caf32c470: xen / arm32: aggiungi i valori MIDR mancanti per Cortex-A17 e A12
- df7be94f26: xen / arm32: voce: consolida DEFINE_TRAP_ENTRY_ * macro
- f379b70609: SUPPORT.md: versione Fix e Initial-Release
- 728fadb586: xen / arm: cpuerrata: rimuovi percpu.h include
- 928112900e: xen / arm64: implementazione dell'indicatore di predittore di ramo per CPU Cortex-A interessate
- cae6e1572f: xen / arm64: aggiungi lo scheletro per rafforzare gli attacchi di aliasing dei predittori del ramo
- d1f4283a1d: xen / arm: cpuerrata: aggiungi MIDR_ALL_VERSIONS
- 0f7a4faafb: xen / arm64: aggiungi i valori MIDR mancanti per Cortex-A72, A73 e A75
- b829d42829: xen / arm: introduce abilitazione callback per abilitare una funzionalità su ogni CPU online
- fa23f2aaa2: xen / pvh: posiziona il trampolino alla pagina 0x1
- 79f797c3f4: firmware / shim: correzione del processo di compilazione per utilizzare le opzioni di ricerca POSIX
- 69f4d872e5: x86 / guest: usa l'area vcpu_info da shared_info
- 7cccd6f748: x86: consenti disabilitazione dell'aiuto di banda Meltdown
- 234f481337: x86: cerotto di Meltdown contro i dannosi ospiti PV a 64 bit
- 57dc197cf0: x86 / mm: imposta sempre _PAGE_ACCESSED su aggiornamenti L4e
- 7209b8bf08: x86: non utilizzare valori CPUID potenzialmente errati per le informazioni sulla topologia
- 910dd005da: x86 / entry: rimuovi il supporto per i frame cpu_user_regs parziali
- 50d24b9530: x86 / upcall: iniettare un evento spurio dopo aver impostato il vettore di upcall
- c89c622b89: x86 / E820: non eseguire l'overrun dell'array
- 3b8d88d4fa: x86 / IRQ: preservare condizionatamente l'autorizzazione di accesso sui percorsi di errore della mappa
- 6f1979c8e4: -xen-attach è necessario per l'avvio pvh con qemu-xen
- 0a515eeb96: xen / pvshim: mappa vcpu_info in precedenza per gli AP
- 0e2d64ae8f: xl: pvshim: fornisce e documenta xl config
- ab9e3854dd: libxl: pvshim: introduce pvshim_extra
- abdde49edc: libxl: pvshim: fornisce impostazioni di configurazione di prima classe per abilitare la modalità shim
- 321ef983a0: xen / shim: consenti a DomU di avere il numero di vcpus più disponibile
- c9083de0ae: xen / shim: crash invece del riavvio in modalità shim
- b5be9c817d: xen / pvshim: usa la posizione di default per i mappaggi m2p
- 9d60bc96be: xen / shim: modifica il comportamento del parametro shim_mem
- 29dd3142bf: xen / pvshim: memoria hotplug
- 5b6c3ffa1d: xen / pvshim: supporto hotplug vCPU
- 004646a1dd: xen / pvshim: imposta max_pages sul valore di tot_pages
- 7dcc20e0c8: xen / pvshim: aggiungi il parametro cmdline shim_mem
- 83c838c9f8: xen / pvshim: aggiungi il supporto per la migrazione
- cc7d96b98c: x86 / pv-shim: pagina della console PV shadow per Dom2 L2
- 7f5eb7d04e: xen / pvshim: aggiungi operazioni tabella di sovvenzione
- bbad376ab1: xen / pvshim: forward evtchn ops tra L0 Xen e L2 DomU
- da4518c559: xen / pvshim: imposta il valore domid corretto
- 1cd703979f: xen / pvshim: modifica il generatore Dom0 per costruire una DomU
- 60dd95357c: xen: contrassegna xenstore / pagine console come RAM
- 0ba5d8c275: xen / pvshim: ignora le parti del generatore di domino solo Dom0
- 4ba6447e7d: xen / pvh: non contrassegnare il basso 1 MB come IO mem
- 2b8a95a296: xen / x86: rende selezionabile il supporto VGA
- cdb1fb4921: xen / arm: bootfdt: utilizza il valore predefinito corretto per # address-cells e # size-cells
- a40186478c: xen / arm: gic-v3: scarica se gicv3_cpu_init fallisce
- 3784256866: strumenti / firmware: crea e installa xen-shim
- b5ead1fad3: x86 / shim: Kconfig e opzioni della riga di comando
- aa96a59dc2: x86 / guest: usa la console PV per Xen / Dom0 I / O
- 7477359b9a: x86 / guest: aggiungi il codice della console PV
- cb5dc94ba7: x86 / guest: configurazione del vettore di upcall del canale di eventi
- 3b058a3eab: x86: non ingoiare il primo elemento della riga di comando in modalità ospite
- 5a543c6f39: x86: leggi wallclock da Xen quando si esegue in modalità pvh
- 949eb11d58: x86: calibrazione del timer APIC durante l'esecuzione come guest
- f5ca36927e: x86: xen pv origine ora dell'orologio
- 68e7a08436: x86 / guest: mappa per-cpu area vcpu_info.
- d2df09c92b: xen / guest: recupera l'ID vCPU da Xen
- efa15c993b: x86 / guest: mappa shared_info pagina
- 83186a8e69: xen / pvshim: tieni traccia delle gamme PFN utilizzate
- 1fa5444834: xen: introduce rangeset_claim_range
- 10128f33aa: xen / console: introduce console = xen
- 2f5a012143: x86 / pvh: recupera la mappa della memoria da Xen
- 9752c7422b: x86 / shutdown: supporto per l'utilizzo di SCHEDOP_ {shutdown, reboot}
- b38cc15b2f: x86 / guest: supporto Hypercall
- 3d1afab1f6: x86 / entry: Probe per Xen all'inizio durante l'avvio
- 31b664a93f: x86 / boot: mappa più del primo 16 MB
- db65173fe7: x86 / entry: codice di avvio PVH precedente
- 51f937a39b: x86: produce un binario che può essere avviato come PVH
- 887c705600: x86: introduce la macro ELFNOTE
- f575701f3c: x86 / link: riposiziona le intestazioni del programma
- af2f50b2b6: x86 / Kconfig: opzioni per supporto Xen e PVH
- b538a13a68: x86: supporto per l'errore della cpuid comune
- 57dc22b80d: x86 / fixmap: modifica fix_to_virt () per restituire un puntatore void
- 48811d481c: tools / ocaml: estendi domain_create () per prendere arch_domainconfig
- 78898c9d1b: tools / ocaml: esponi arch_config in domaininfo
- e7c8187b91: xen / domctl: restituisci arch_config tramite getdomaininfo
- 9e46ae12ed: ACPICA: rende opzionale il timer di gestione dell'alimentazione ACPI (PM Timer).
- ff1fb8fe53: x86 / link: introduce e usa SECTION_ALIGN
- 92a6295c30: x86 / time: stampa un errore più utile quando non è possibile trovare un timer della piattaforma
- 78e9cc3488: xen / common: allarga leggermente il buffer di registrazione guest
- 667275050d: tools / libxc: supporto per più moduli
- 4621c10f48: tools / libelf: fix note elf controllare per guest PVH
- 40938b5d56: tools / libxc: rimuovi newline estraneo in xc_dom_load_acpi
- 5840f40e88: xen / x86: id dominio dominio su cpuid
- caff7f9b59: x86 / svm: offra CPUID anche agli ospiti HVM di AMD
- 69e302e59c: x86 / upcall: iniettare un evento spurio dopo aver impostato il vettore di upcall
- a87ec4833a: x86 / msr: msr_vcpu_policy gratuito durante la distruzione di vcpu
- 9dc5eda576: x86 / vmx: non utilizzare hvm_inject_hw_exception () in long_mode_do_msr_write ()
- 135b67e9bd: xen / efi: fix build con clang-5.0
- 682a9d8d37: gnttab: migliora il blocco di GNTTABOP_cache_flush
- 19dcd8e47d: gnttab: corretto GNTTABOP_cache_flush gestione batch vuota li>
- e5364c32c6: x86 / microcode: aggiungi il supporto per il caricamento del microcode fam17h
- e2dc7b584f: x86 / mm: interruzione dell'asserzione della modalità di paginazione fittizia
- c8f4f45e04: x86 / mb2: evita l'immagine Xen quando cerchi posizione modulo / crashkernel
- 4150501b71: x86 / vvmx: non abilitare vmcs in ombra per gli ospiti nidificati
- ab7be6ce4a: xen / pv: Costruisci correttamente il GDT di d0v0
Novità nella versione 4.10.1:
- c30ab3d97c: SUPPORT.md: aggiungi informazioni sulla durata dell'assistenza mancanti
- 5f6000a985: adatta SUPPORT.md per far corrispondere 4.11
- f9e1bddbc8: SUPPORT.md: corregge un errore
- 3614c7d949: SUPPORT.md: documenta la nuova regola di ordinamento del testo
- 6f8e8bae87: SUPPORT.md: sposta le descrizioni prima delle informazioni di stato
- 2e02212848: docs / Makefile: formatta SUPPORT.md nel livello più alto
- 73c8c2c211: docs / Makefile: inserisci GENERATE_PANDOC_RULE_RAW
- c07d2195b0: docs / gen-html-index: documenti di supporto al livello superiore
- 0609dd1c5e: docs / gen-html-index: estrai titoli da documenti HTML
- a3459c741e: SUPPORT.md: Sintassi: fornire un titolo piuttosto che una sezione vuota spuria
- de3ccf0790: SUPPORT.md: Sintassi: correggi un errore "Stati"
- f7a7eeac29: SUPPORT.md: Sintassi: corregge alcuni elenchi puntati
- cba8690ea8: x86: correzione del percorso int80 lento dopo aggiunte XPTI
- d27de97cd1: libxl: specifica il formato del cdrom inserito
- 656c14780c: x86 / msr: correggi il comportamento di emulazione di MSR_PRED_CMD
- 8d37ee1d10: x86 / VT-x: determinazione del problema di EFER.LMA in vmcs_dump_vcpu ()
- 696b24dfe1: x86 / HVM: sopprime il completamento I / O per l'output della porta li>
- 41015e7945: x86 / pv: corregge i segmenti errati per la voce syscall a 32 bit
- 4f12a18bc2: x86 / XPTI: riduci .text.entry
- 649e617335: x86: registro stato abilitato XPTI
- bd26592fdf: x86: disabilita XPTI quando RDCL_NO
- afece29fe9: x86 / pv: correggi il passaggio delle scritture a% dr7
- 2e34343fb2: xen / arm: Rileva la scoperta ARM_SMCCC_ARCH_WORKAROUND_1
- d9756ca980: xen / arm: vpsci: Rileva la logica per avviare vCPU AArch32 in modalità Thumb
- e2ee191d3d: xen / arm: vpsci: introduce e usa PSCI_INVALID_ADDRESS
- 2efc116c68: xen / arm: psci: consolida la stampa della versione PSCI
- 51742fbc08: xen / arm: vpsci: rimuovi il parametro 'ver' da do_common_cpu
- 4fcd9d14b1: xen / arm64: uccidi PSCI_GET_VERSION come soluzione alternativa-2
- 1ef0574d3b: xen / arm64: aggiungi ARM_SMCCC_ARCH_WORKAROUND_1 BP supporto di protezione avanzata li>
- ee109adca7: xen / arm: smccc: implementa la primitiva inline SMCCC v1.1
- b2682eddc2: xen / arm: psci: Rileva la versione SMCCC
- 9746779afb: xen / arm: smccc: aggiungi macro SMCCC_VERSION, SMCCC_VERSION_ {MINOR, MAJOR}
- 1d99ad5b35: xen / arm64: stampa un messaggio per CPU con il metodo di tempra BP utilizzato
- 9beb8a4461: xen / arm64: implementa un percorso veloce per la gestione di SMCCC_ARCH_WORKAROUND_1
- ef4b4d7ab0: xen / arm: adatta smccc.h per poterlo usare nel codice assembly
- df71252060: xen / arm: vsmc: implementa SMCCC_ARCH_WORKAROUND_1 BP supporto per la tempra
- 7f9ebebcec: xen / arm: vsmc: implementa SMCCC 1.1
- 4eb96e3eda: xen / arm: vpsci: aggiungere il supporto per PSCI 1.1
- 3087ba8278: xen / arm: psci: rilancia le definizioni PSCI
- 76a6dddcf8: xen / arm: vpsci: sposta la funzione PSCI dall'invio da vsmc.c a vpsci.c
- 0f92968bcf: x86 / vlapic: cancella il bit TMR all'accettazione dell'interrupt da trigger a bordo
- 9e9185f661: SUPPORT.md: specifica il supporto per vari formati di immagine
- e87e798673: SUPPORT.md: Chiarire che il protocollo della tastiera PV include il supporto per il mouse
- 6131a2c0ed: cpufreq / ondemand: correggi la corsa mentre offlining la CPU
- 47621a4ed1: x86: rimuove le letture CR dal percorso exit-to-guest
- 489cfbc1b9: x86: riduce leggermente l'overhead del cerotto Meltdown
- 860f470ba1: x86 / xpti: non mappare le pagine di stack guard
- 8462c575d9: x86 / xpti: nasconde quasi tutto il testo .text e tutti i mapping .data / .rodata / .bss
- cee48d83cb: x86: ignora i tentativi di caricamento del microcode ospite
- 20db434e90: ocaml: fix arm build
- 0d2f9c89f7: Unisci il ramo 'merge-comet-staging-4.10-v1' in staging-4.10
- a1189f93ef: libxl / pvh: forza gli ospiti di PVH ad usare lo spegnimento xenstore
- c37114cbf8: x86 / HVM: non dare l'impressione sbagliata del WRMSR che ha successo
- 5ede9f9600: x86 / PV: correzione off-by-one in controllo limite bitmap I / O
- 7e0796d3fe: grant: rilascia il blocco del dominio sul percorso "map" in cache_flush
- b9aa790d31: x86 / pv: Evita di far filtrare i valori MSR_TSC_AUX degli altri ospiti nel contesto di PV
- 4867afbc95: x86 / nmi: avvia watchdog NMI su CPU0 dopo bootstrap SMP
- 3deb58f832: x86 / srat: correggi il calcolo finale in nodes_cover_memory ()
- 3376822f15: x86 / hvm / dmop: copia solo ciò che è necessario / dal guest
- 37dd90787e: x86 / entry: usa 32 bit xors più di 64 bit xors per cancellare GPR
- 296705818c: x86 / emul: corregge la decodifica delle sostituzioni del segmento in modalità 64 bit
- 0857b09aae: x86 / spec_ctrl: correggi diversi bug in SPEC_CTRL_ENTRY_FROM_INTR_IST
- 4195d40e31: x86 / srat: correggi l'end pfn check in valid_numa_range ()
- ab62fc3171: x86: riduzione dell'overhead IPI di banda larga di Meltdown
- 0e10f28586: x86 / NMI: condizione inversa in nmi_show_execution_state ()
- a05fc8e5be: x86 / emul: corregge l'emulazione di invlpga
- 083bd83354: ignora: aggiorna .hgignore
- b0e975c822: ignora: aggiorna l'elenco dei file ignorati di git
- def29407de: firmware / shim: migliore filtraggio dei file intermedi durante l'impostazione dell'albero Xen
- 8c3bbc7c2b: firmware / shim: migliore filtraggio dei file delle dipendenze durante l'impostazione dell'albero Xen
- cee8bb62ff: build: rimuovi gli obiettivi relativi allo shim
- 08a941bdac: shim: consenti la costruzione di solo lo shim con linker ID-build incapace
- 7dc817b750: firmware / shim: evitare l'errore mkdir durante l'installazione dell'albero Xen
- 21080841ae: firmware / shim: gestisce correttamente gli errori durante l'impostazione dell'albero Xen
- dc4a23b115: firmware / shim: aggiornamento Makefile
- da7543dd32: x86 / shim: non utilizzare il confronto a 32 bit sulla variabile booleana
- 9fd27db52a: xen / pvshim: corregge l'inoltro ipercall GNTTABOP_query_size con SMAP
- 6d9b6bf418: ripristina "x86 / boot: mappa più del primo 16 MB"
- 79f04299ca: x86: riposiziona pvh_info
- 9ce99ad413: xen / shim: stash indirizzo RSDP per driver ACPI
- 186c2f57bd: libxl: messaggio relativo allo shim inferiore al livello DEBUG
- 357bf02e49: x86 / shim: usa credit scheduler
- 81306edf86: x86 / guest: ripulisci guest / xen.h
- 14e1a434f4: libxl: rimuovi gli spazi bianchi introdotti in 62982da926
- b869742c99: xen / pvshim: cambia shim.c per utilizzare typesecomf_to_page e virt_to_mfn
- d691e41793: xen / pvshim: correzione dei problemi di stile di codifica
- ee478f4737: xen / pvshim: riordina il codice replace_va_mapping
- f05a7c5148: xen / pvshim: identità pin shim vCPU a pCPU
- 7027acfc1f: tools: fix arm build dopo bdf693ee61b48
- bc513e82ed: non creare xen-shim per l'host di compilazione a 32 bit
- af63193017: Ripristina "x86 / guest: usa l'area vcpu_info da shared_info"
- a44e83b712: x86 / shim: commit shim.config cambia per 4.10 ramo
- da3a46d017: Unisci tag "4.10.0-shim-comet-3" in staging-4.10
- b6a6458b13: xen / arm: svuota i TLB prima di accendere la MMU per evitare voci stantie
- e3dfd5d1dd: xen / arm: vgic: assicurati che il numero di SPI sia multiplo di 32
- a6780c122b: x86 / hvm: non consentire la creazione di domini HVM senza emulazione APIC locale
- 16edf98e95: gnttab: non lasciare ciecamente pagine di stato al cambio di versione
- e2ceb2ed66: gnttab / ARM: non corrompere l'array GFN condiviso
- 1b1c059099: memoria: non sbloccare implicitamente la prenotazione di riduzione
- 5e91fc4d3b: xen / arm: cpuerrata: in realtà controlla errata su CPU non di avvio
- 3921128fcb: xen / arm: vsmc: non implementare ID funzione che non esistono
- cd2e1436b1: xen / arm: vpsci: rimozione di MIGRATE fittizio e MIGRATE_INFO_UP_CPU
- 3181472a5c: x86 / idle: Cancella SPEC_CTRL mentre è inattivo
- 5644514050: x86 / cpuid: offre controlli di diramazione indiretta agli ospiti
- db12743f2d: x86 / ctxt: crea una barriera di speculazione tra i contesti di vcpu
- bc0e599a83: x86 / boot: calcola la mitigazione ITV più appropriata da utilizzare
- fc81946cea: x86 / entry: evitare l'uso di alternative in percorsi NMI / # MC
- ce7d7c0168: x86 / entry: organizza il clobbering di RSB / RAS sulla voce in Xen
- a695f8dce7: x86 / entry: organizza l'uso di MSR_SPEC_CTRL in ogni punto di entrata / uscita li>
- 92efbe8658: x86 / hvm: consente agli ospiti di accedere direttamente a MSR_ {SPEC_CTRL, PRED_CMD}
- 8baba874d6: x86 / migrate: sposta MSR_SPEC_CTRL sulla migrazione
- 79891ef944: x86 / msr: emulazione di MSR_ {SPEC_CTRL, PRED_CMD} per gli ospiti
- 641c11ef29: x86 / cpuid: gestione di IBRS / IBPB, STIBP e IBRS per gli ospiti
- 05eba93a0a: x86: correggi GET_STACK_END
- a69cfdf0c1: x86 / acpi: elabora le softirq durante la stampa dei dati ACPI della CPU
- 0f4be6e2c4: xen / x86: id dominio dominio su cpuid
- 0a7e6b50e0: x86 / svm: offra CPUID anche agli ospiti HVM di AMD
- 65ee6e043a: x86 / cmdline: introdurre un'opzione della riga di comando per disabilitare IBRS / IBPB, STIBP e IBPB
- 129880dd8f: x86 / feature: definizioni per i controlli derivati indiretti
- c513244d8e: x86: introduce thunk indiretti alternativi
- 0e12c2c881: x86 / amd: prova a impostare lfence come serializzazione delle spedizioni
- 6aaf353f2e: x86 / boot: riporta i dettagli delle attenuazioni speculative
- 32babfc19a: x86: supporta i thunk indiretti dal codice assembly
- 47bbcb2dd1: x86: supporto per la compilazione con thunk di ramo indiretto
- 8743fc2ef7: common / wait: chiarimenti sull'attesa dell'infrastruttura
- 1830b20b6b: x86 / entry: cancella lo stato GPR ospite all'entrata in Xen
- ab95cb0d94: x86 / hvm: usa SAVE_ALL per costruire il frame cpu_user_regs dopo VMExit
- d02ef3d274: x86 / entry: riorganizza RESTORE_ALL per ripristinare il registro nell'ordine di stack
- e32f814160: x86: introduci un cpuid_policy_updated () comune
- c534ab4e94: x86 / hvm: Rinomina callback update_guest_vendor () in cpuid_policy_changed ()
- be3138b6f6: x86 / alt: introduce le macro ALTERNATIVE {, _ 2}
- 79012ead93: x86 / alt: Suddividi alternative-asm in un file di intestazione separato
- bbd093c503: xen / arm32: entry: documenta lo scopo di r11 nel gestore trap
- a69a8b5fdc: xen / arm32: Invalidate icache on guest esiste per Cortex-A15
- f167ebf6b3: xen / arm32: invalida BTB all'uscita guest per Cortex A17 e 12
- c4c0187839: xen / arm32: aggiungi lo scheletro per rafforzare gli attacchi di aliasing dei predittori di ramo
- 19ad8a7287: xen / arm32: entry: aggiungi la voce trap_reset mancante
- 3caf32c470: xen / arm32: aggiungi i valori MIDR mancanti per Cortex-A17 e A12
- df7be94f26: xen / arm32: voce: consolida DEFINE_TRAP_ENTRY_ * macro
- f379b70609: SUPPORT.md: versione Fix e Initial-Release
- 728fadb586: xen / arm: cpuerrata: rimuovi percpu.h include
- 928112900e: xen / arm64: implementazione dell'indicatore di predittore di ramo per CPU Cortex-A interessate
- cae6e1572f: xen / arm64: aggiungi lo scheletro per rafforzare gli attacchi di aliasing dei predittori del ramo
- d1f4283a1d: xen / arm: cpuerrata: aggiungi MIDR_ALL_VERSIONS
- 0f7a4faafb: xen / arm64: aggiungi i valori MIDR mancanti per Cortex-A72, A73 e A75
- b829d42829: xen / arm: introduce abilitazione callback per abilitare una funzionalità su ogni CPU online
- fa23f2aaa2: xen / pvh: posiziona il trampolino alla pagina 0x1
- 79f797c3f4: firmware / shim: correzione del processo di compilazione per utilizzare le opzioni di ricerca POSIX
- 69f4d872e5: x86 / guest: usa l'area vcpu_info da shared_info
- 7cccd6f748: x86: consenti disabilitazione dell'aiuto di banda Meltdown
- 234f481337: x86: cerotto di Meltdown contro i dannosi ospiti PV a 64 bit
- 57dc197cf0: x86 / mm: imposta sempre _PAGE_ACCESSED su aggiornamenti L4e
- 7209b8bf08: x86: non utilizzare valori CPUID potenzialmente errati per le informazioni sulla topologia
- 910dd005da: x86 / entry: rimuovi il supporto per i frame cpu_user_regs parziali
- 50d24b9530: x86 / upcall: iniettare un evento spurio dopo aver impostato il vettore di upcall
- c89c622b89: x86 / E820: non eseguire l'overrun dell'array
- 3b8d88d4fa: x86 / IRQ: preservare condizionatamente l'autorizzazione di accesso sui percorsi di errore della mappa
- 6f1979c8e4: -xen-attach è necessario per l'avvio pvh con qemu-xen
- 0a515eeb96: xen / pvshim: mappa vcpu_info in precedenza per gli AP
- 0e2d64ae8f: xl: pvshim: fornisce e documenta xl config
- ab9e3854dd: libxl: pvshim: introduce pvshim_extra
- abdde49edc: libxl: pvshim: fornisce impostazioni di configurazione di prima classe per abilitare la modalità shim
- 321ef983a0: xen / shim: consenti a DomU di avere il numero di vcpus più disponibile
- c9083de0ae: xen / shim: crash invece del riavvio in modalità shim
- b5be9c817d: xen / pvshim: usa la posizione di default per i mappaggi m2p
- 9d60bc96be: xen / shim: modifica il comportamento del parametro shim_mem
- 29dd3142bf: xen / pvshim: memoria hotplug
- 5b6c3ffa1d: xen / pvshim: supporto hotplug vCPU
- 004646a1dd: xen / pvshim: imposta max_pages sul valore di tot_pages
- 7dcc20e0c8: xen / pvshim: aggiungi il parametro cmdline shim_mem
- 83c838c9f8: xen / pvshim: aggiungi il supporto per la migrazione
- cc7d96b98c: x86 / pv-shim: pagina della console PV shadow per Dom2 L2
- 7f5eb7d04e: xen / pvshim: aggiungi operazioni tabella di sovvenzione
- bbad376ab1: xen / pvshim: forward evtchn ops tra L0 Xen e L2 DomU
- da4518c559: xen / pvshim: imposta il valore domid corretto
- 1cd703979f: xen / pvshim: modifica il generatore Dom0 per costruire una DomU
- 60dd95357c: xen: contrassegna xenstore / pagine console come RAM
- 0ba5d8c275: xen / pvshim: ignora le parti del generatore di domino solo Dom0
- 4ba6447e7d: xen / pvh: non contrassegnare il basso 1 MB come IO mem
- 2b8a95a296: xen / x86: rende selezionabile il supporto VGA
- cdb1fb4921: xen / arm: bootfdt: utilizza il valore predefinito corretto per # address-cells e # size-cells
- a40186478c: xen / arm: gic-v3: scarica se gicv3_cpu_init fallisce
- 3784256866: strumenti / firmware: crea e installa xen-shim
- b5ead1fad3: x86 / shim: Kconfig e opzioni della riga di comando
- aa96a59dc2: x86 / guest: usa la console PV per Xen / Dom0 I / O
- 7477359b9a: x86 / guest: aggiungi il codice della console PV
- cb5dc94ba7: x86 / guest: configurazione del vettore di upcall del canale di eventi
- 3b058a3eab: x86: non ingoiare il primo elemento della riga di comando in modalità ospite
- 5a543c6f39: x86: leggi wallclock da Xen quando si esegue in modalità pvh
- 949eb11d58: x86: calibrazione del timer APIC durante l'esecuzione come guest
- f5ca36927e: x86: xen pv origine ora dell'orologio
- 68e7a08436: x86 / guest: mappa per-cpu area vcpu_info.
- d2df09c92b: xen / guest: recupera l'ID vCPU da Xen
- efa15c993b: x86 / guest: mappa shared_info pagina
- 83186a8e69: xen / pvshim: tieni traccia delle gamme PFN utilizzate
- 1fa5444834: xen: introduce rangeset_claim_range
- 10128f33aa: xen / console: introduce console = xen
- 2f5a012143: x86 / pvh: recupera la mappa della memoria da Xen
- 9752c7422b: x86 / shutdown: supporto per l'utilizzo di SCHEDOP_ {shutdown, reboot}
- b38cc15b2f: x86 / guest: supporto Hypercall
- 3d1afab1f6: x86 / entry: Probe per Xen all'inizio durante l'avvio
- 31b664a93f: x86 / boot: mappa più del primo 16 MB
- db65173fe7: x86 / entry: codice di avvio PVH precedente
- 51f937a39b: x86: produce un binario che può essere avviato come PVH
- 887c705600: x86: introduce la macro ELFNOTE
- f575701f3c: x86 / link: riposiziona le intestazioni del programma
- af2f50b2b6: x86 / Kconfig: opzioni per supporto Xen e PVH
- b538a13a68: x86: supporto per l'errore della cpuid comune
- 57dc22b80d: x86 / fixmap: modifica fix_to_virt () per restituire un puntatore void
- 48811d481c: tools / ocaml: estendi domain_create () per prendere arch_domainconfig
- 78898c9d1b: tools / ocaml: esponi arch_config in domaininfo
- e7c8187b91: xen / domctl: restituisci arch_config tramite getdomaininfo
- 9e46ae12ed: ACPICA: rende opzionale il timer di gestione dell'alimentazione ACPI (PM Timer).
- ff1fb8fe53: x86 / link: introduce e usa SECTION_ALIGN
- 92a6295c30: x86 / time: stampa un errore più utile quando non è possibile trovare un timer della piattaforma
- 78e9cc3488: xen / common: allarga leggermente il buffer di registrazione guest
- 667275050d: tools / libxc: supporto per più moduli
- 4621c10f48: tools / libelf: fix note elf controllare per guest PVH
- 40938b5d56: tools / libxc: rimuovi newline estraneo in xc_dom_load_acpi
- 5840f40e88: xen / x86: id dominio dominio su cpuid
- caff7f9b59: x86 / svm: offra CPUID anche agli ospiti HVM di AMD
- 69e302e59c: x86 / upcall: iniettare un evento spurio dopo aver impostato il vettore di upcall
- a87ec4833a: x86 / msr: msr_vcpu_policy gratuito durante la distruzione di vcpu
- 9dc5eda576: x86 / vmx: non utilizzare hvm_inject_hw_exception () in long_mode_do_msr_write ()
- 135b67e9bd: xen / efi: fix build con clang-5.0
- 682a9d8d37: gnttab: migliora il blocco di GNTTABOP_cache_flush
- 19dcd8e47d: gnttab: corretto GNTTABOP_cache_flush gestione batch vuota li>
- e5364c32c6: x86 / microcode: aggiungi il supporto per il caricamento del microcode fam17h
- e2dc7b584f: x86 / mm: interruzione dell'asserzione della modalità di paginazione fittizia
- c8f4f45e04: x86 / mb2: evita l'immagine Xen quando cerchi posizione modulo / crashkernel
- 4150501b71: x86 / vvmx: non abilitare vmcs in ombra per gli ospiti nidificati
- ab7be6ce4a: xen / pv: Costruisci correttamente il GDT di d0v0
Novità della versione nella versione:
- Queste versioni contengono molte correzioni di bug e miglioramenti.
Novità nella versione 4.9.0:
- Nuove funzionalità:
- Boot Xen su piattaforme EFI utilizzando GRUB2 (x86): da Xen Project 4.9 e GRUB2 2.02 in poi, Xen Project Hypervisor può essere avviato utilizzando il protocollo multiboot2 su BIOS legacy e piattaforme EFI x86. Il supporto parziale per il protocollo multiboot2 è stato introdotto anche nel firmware di avvio di rete (iPXE). Ciò rende il processo di avvio di Xen Project molto più flessibile. Le configurazioni di avvio possono essere modificate direttamente da un bootloader (senza dover utilizzare editor di testo) e le configurazioni di avvio sono più portabili su piattaforme diverse.
- Vicino alla latenza nativa per gli ambienti embedded e automotive: lo scheduler "null" abilita i casi d'uso in cui ogni CPU virtuale può essere assegnata a una CPU fisica (comunemente necessaria per ambienti embedded e automotive) rimuovendo quasi tutti i sovraccarichi dello scheduler in tali ambienti. L'utilizzo dello scheduler "null" garantisce inoltre una latenza significativamente inferiore e prestazioni più prevedibili. Il nuovo parametro vwfi per ARM (Virtual Wait For Interrupt) consente un controllo preciso di come l'hypervisor Xen Project gestisce le istruzioni WFI. L'impostazione di vwfi su "nativo" riduce la latenza dell'interrupt di circa il 60%. I benchmark su Xilinx Zynq Ultrascale + MPSoC hanno mostrato una latenza di interrupt massima inferiore a 2 microsecondi, che è estremamente vicina ai limiti dell'hardware e dovrebbe essere abbastanza piccola per la maggior parte dei casi di utilizzo embedded.
- Xen 4.9 include nuovi ABI standard per la condivisione di dispositivi tra macchine virtuali (incluse le implementazioni di riferimento) per un numero di casi d'uso di computing nativi integrati, automobilistici e cloud.
- Per embedded / automotive, è stato aggiunto un suono virtuale ABI che implementa la riproduzione e l'acquisizione audio, nonché il controllo del volume e la possibilità di attivare / disattivare l'audio delle sorgenti audio. Inoltre è stato aggiunto un nuovo display virtuale ABI per dispositivi di visualizzazione complessi che espongono più framebuffer e display. Il supporto multi-touch è stato aggiunto al protocollo tastiera / mouse virtuale per abilitare i touch screen.
- Xen 4.9 introduce anche un trasporto Xen per 9pfs, che è un protocollo di filesystem remoto originariamente scritto per il Piano 9. Durante il ciclo di rilascio di Xen 4.9, un frontend Xen 9pfs è stato upstreamed nel kernel Linux e un backend in QEMU. È ora possibile condividere un filesystem (non necessariamente un dispositivo a blocchi) da una macchina virtuale a un'altra, che è un requisito per aggiungere il supporto Xen a molti motori di contenitori, come CoreOS rkt.
- Le chiamate PV ABI sono state introdotte per consentire l'inoltro di richieste POSIX tra gli ospiti: una chiamata di funzione POSIX proveniente da un'app in una DomU può essere inoltrata e implementata in Dom0. Ad esempio, le chiamate socket di rete guest possono essere eseguite su Dom0, abilitando un nuovo modello di rete che si adatta perfettamente alle app native del cloud.
- Miglioramenti alle funzionalità esistenti:
- Ottimizzazioni Xenstored: i daemon Xenstore consentono a Dom0 e agli ospiti di accedere alle informazioni di configurazione del sistema. I limiti di scalabilità C-xtortor sono stati aumentati per consentire a host di grandi dimensioni (circa & gt; 1000 domini) di funzionare in modo efficiente. La gestione delle transazioni è stata migliorata per prestazioni migliori, minore ingombro della memoria e minori conflitti di transazione. Sono state aggiunte funzionalità di debug dinamico.
- DMOP (Device Hypercall del modello di dispositivo): In Xen 4.9 l'interfaccia tra Xen e QEMU è stata completamente rielaborata e consolidata. Ora c'è solo un singolo hypercall in Xen (l'ipercall DMOP), che è attentamente progettato per consentire al driver privcmd di controllare qualsiasi intervallo di memoria QEMU e i parametri passati a Xen via DMOP. Il driver privcmd di Linux abilita il controllo DMOP, che limita significativamente la capacità di una QEMU compromessa di attaccare l'hypervisor.
- Patching runtime alternativo e supporto GICv3 per ARM32: patching runtime alternativo che consente all'hypervisor di applicare soluzioni alternative per errori che incidono sul processore e applicare ottimizzazioni specifiche per un supporto CPU e GICv3 è stato esteso per piattaforme ARM a 32 bit, portando questa funzionalità per casi d'uso incorporati.
- Supporto delle funzioni Intel e x86: l'ultima versione dell'hypervisor Xen Project aggiunge il supporto delle istruzioni per la rete neurale AVX512_4VNNIW e Accumulazione a più corsie Precisione singola AVX512_4FMAPS come sottofamiglie dei set di istruzioni AVX512. Con queste istruzioni abilitate in Xen per i guest HVM e PV, i programmi nei SO guest possono trarre il massimo vantaggio da queste importanti istruzioni per accelerare il machine learning computing. Questa versione di Xen migliora ulteriormente l'ottimizzazione degli interrupt pubblicati (PI) di VT-d, la gestione di MCE (Machine Check Exception) e altro.
- System Error Detection (ARM): Xen su ARM ha fatto un passo avanti in termini di affidabilità e facilità di manutenzione con l'introduzione del rilevamento e della segnalazione degli errori di sistema, una funzionalità chiave per i clienti con sistemi altamente disponibili.
- Supporto GCOV: abbiamo rimosso la vecchia implementazione GCOV e l'abbiamo sostituita con una versione aggiornata che supporta più formati ed espone un'interfaccia più generica.
- Re-work e hardening del codice di emulazione x86 per la sicurezza: la virtualizzazione assistita da hardware fornisce agli hypervisor la possibilità di eseguire le istruzioni privilegiate in modo nativo e sicuro. Tuttavia, per alcuni casi limite, è ancora necessario emulare le istruzioni x86 nel software. In Xen 4.9, il progetto ha completamente rielaborato il codice di emulazione x86, aggiunto il supporto per nuove istruzioni, verificato il codice da vulnerabilità di sicurezza e creato test di fuzzing basati su AFL eseguiti regolarmente contro l'emulatore.
- Supporto aggiornato per le specifiche funzionali di alto livello dell'Hypervisor Hyper-V di Microsoft (noto anche come Enlighten Viridian): Xen implementa un sottoinsieme della versione 5.0 dell'Hypervisor TLFS Hyper-V, che consente a Xen di eseguire guest Windows a prestazioni simili a quelle di sarebbe eseguito su Hyper-V. Inoltre, questo lavoro getta le basi per permetterci di eseguire Hyper-V in Xen in futuro utilizzando la virtualizzazione nidificata.
- Sviluppo a lungo termine a più release:
- Transizione da PVHv1 a PVHv2: Xen Project 4.8 ha gettato le basi per la riprogettazione e la semplificazione di PVH, concentrandosi sul guest ABI DomU, che ha consentito agli sviluppatori del sistema operativo Guest di avviare il porting dei propri SO in questa modalità. È in corso il supporto per FreeBSD, mentre il supporto per Linux è impegnato. Xen 4.9 ha aggiunto il supporto per il costruttore Dom0 e il supporto per più controller di interrupt programmabili avanzati Intel I / O virtuali (vIO APIC). PVHv2 per l'instradamento degli interrupt e l'emulazione PCI sono attualmente sottoposti a revisione paritetica e possono essere previsti nelle prime fasi del ciclo di rilascio di Xen 4.10. Questo pone le basi per un PV0v2 Dom0. Per il supporto di DomU PVHv2, sono stati avviati PCI Passthrough e una grande rielaborazione delle interfacce utente xl / libxl e libvirt per PVH. Il supporto per PVHv1 è stato rimosso da Xen Codebase.
- Rielaborazione dell'integrazione Xen-QEMU per la protezione dalle vulnerabilità della sicurezza QEMU: In Xen Project 4.8, abbiamo intrapreso uno sforzo per rielaborare l'integrazione Xen-QEMU che equivale a sandboxing QEMU in Dom0. Significativi progressi sono stati fatti in Xen 4.9 verso questo obiettivo, con l'implementazione di DMOP. Altre modifiche come il de-privilegio QEMU in Dom0 e le modifiche al driver privcmd per Linux sono state per lo più completate in Xen 4.9. Le modifiche attualmente progettate, ma ancora implementate, sono modifiche necessarie all'utilizzo di XenStore da parte di libxl e QEMU.
Novità nella versione 4.8.1 / 4.9.0 RC5:
- aggiorna la versione di Xen alla versione 4.8.1
- oxenstored: taglia la cronologia nella funzione frequente_ops
- conflitti di transazioni ossidate: migliorare la registrazione
- oxenstored: non svegliare per non emettere crediti di conflitto
- oxenstored: non eseguire il commit di transazioni di sola lettura
- oxenstored: consenti conflitti personali
- oxenstored: incolpa la connessione che ha causato un conflitto di transazione
- oxenstored: traccia cronologia commit
- oxenstored: scarta la vecchia cronologia dei commit su txn end
- oxenstored: registra solo le operazioni con effetti collaterali nella cronologia
- oxenstored: supporta il monitoraggio della cronologia delle commit
- oxenstored: aggiungi le informazioni sulla transazione relative al tracciamento della cronologia
- oxenstored: ignora i domini senza credito di conflitto
- oxenstored: gestione del conflitto di conflitti del dominio
- oxenstored: commenti che spiegano alcune variabili
- xenstored: registra quando i morsi del limite di velocità della transazione scrutano
- xenstored: applica un limite di velocità della transazione di scrittura
- strumenti / libxenctrl: correzione del controllo degli errori dopo l'apertura di libxenforeignmemory
- libxl: correggi la voce xenstore per il cdrom vuoto
- x86: usa una maschera a 64 bit per mascherare i bit mfn
- memoria: controlla correttamente gli intervalli di memoria del guest nella gestione di XENMEM_exchange
- xen: sched: non chiamare gli hook del programmatore sbagliato tramite VCPU2OP
- x86 / EFI: evita l'immagine Xen quando cerchi modulo / posizione kexec
- x86 / EFI: evitare errori IOMMU su [_end, __ 2M_rwdata_end)
- x86 / EFI: evita di sovraccaricare mb_modules []
- build / clang: correzione dei criteri fittizi XSM quando si usa clang 4.0
- x86: elimina attributi __packed non necessari
- arm: xen_size dovrebbe essere paddr_t per consistenza
- xen / arm: alternative: registra un'area Xen rimappata come regione virtuale temporanea
- Aggiornamento QEMU_TAG
- arm: leggi / scrivi rank- & gt; vcpu atomicamente
- xen / arm: p2m: esegue l'invalidazione TLB locale sulla migrazione vCPU
- xen / arm: presenta INVALID_VCPU_ID
- xen / arm: imposta nr_cpu_ids sul numero disponibile di cpus
- xen / arm: acpi: Rileva gli attributi di mappatura del dominio hw in p2m_mmio_direct_c
- Ripristina "xen / arm: mappa i mmio-sram nodi come memoria non memorizzata"
- xen / arm: dt: Rileva gli attributi di mappatura del dominio hw in p2m_mmio_direct_c
- xen / arm: flush icache anche quando viene emesso XEN_DOMCTL_cacheflush
- xen / arm: fix GIC_INVALID_LR
- risolvi l'accesso limitato a mode_strings
- mancante vgic_unlock_rank in gic_remove_irq_from_guest
- xen / arm: fix macro per l'identificazione della funzione CPU Jazelle ARM
- xen / arm: trap: Emula ICC_SRE_EL1 come RAZ / WI
- xen / arm: correggi le parentesi errate per il controllo della versione di PSCI
- arm / irq: controlla il riordino quando l'IRQ è già utilizzato da qualcuno
- Non cancellare il bit HCR_VM durante l'aggiornamento di VTTBR.
- x86 / emul: correggi la decodifica di mov su / da cr / dr
- x86emul: decodifica corretta di vzero {all, upper}
- xen: credit2: non perdere la contabilità mentre esegui un reset del credito.
- xen: credit2: segna sempre un pCPU con il segno di spunta come ... solleticato!
- x86 / layout: correggi l'idea di Xen del proprio layout di memoria
- x86 / vmx: non perdere lo stato MSR syscall dell'host nei guest HVM
- xen / arm: risolve l'intervallo di memoria interessato dalle funzioni di pulizia di dcache
- xen / arm: introduce il parametro vwfi
- arm / p2m: rimuovi la pagina dalla lista delle pagine di p2m- & gt; prima di liberarla
- Aggiornamento QEMU_TAG
- VMX: corregge la gara VMCS sui percorsi di cambio di contesto
- xen / p2m: corregge p2m_flush_table per i casi non annidati
- x86 / ept: consenti la combinazione di scrittura sui mapping MMIO! mfn_valid () di nuovo
- IOMMU: chiama sempre callback di teardown
- x86 / emulate: non dare per scontato che addr_size == 32 implichi la modalità protetta li>
- xen: credit2: fix shutdown / suspend quando giochi con cpupools.
- xen: credit2: non considerare mai le CPU al di fuori del nostro cpupool.
- xen: credit2: usa il cpumask scratch corretto
- x86 / hvm: non impostare msr_tsc_adjust su hvm_set_guest_tsc_fixed
- x86emul: correggere i vincoli di stub asm () della FPU
- x86: aggiustamenti per la gestione degli attributi del segmento
- x86emul: LOCK controlla le regolazioni
- x86emul: VEX.B viene ignorato in modalità di compatibilità
- x86 / xstate: sovraccarico dell'array fisso su hardware con LWP
- arm / p2m: corregge la regressione durante l'arresto del dominio con mem_access attivo
- libxl: fix libxl_set_memory_target
- xen / arm: gic-v3: assicurati che la lettura da ICC_IAR1_EL1 sia visibile sul ridistributore
- x86 / cpu: non aggiornare this_cpu per get_cpu_vendor (, gcv_guest)
- x86 / emul: correggere la gestione del valore di ritorno di VMFUNC
- x86 / boot: fix build con alcune vecchie versioni di gcc
- x86emul: CMPXCHG16B richiede un operando allineato
- VT-d: correggi dma_msi_set_affinity ()
- x86emul: ignora la maggior parte delle basi di segmenti per la modalità a 64 bit in is_aligned ()
- x86emul: MOVNTI non consente i prefissi REP
- x86 / VPMU: cancella lo stato di overflow del contatore che si è verificato in overflow
- x86 / hvm: non creare incondizionatamente un server ioreq predefinito
- libelf: l'indice della sezione 0 è speciale
- x86emul: CMPXCHG {8,16} B ignora i prefissi
- xen: corregge il problema quando viene completata la creazione del dominio
- x86emul: corretto PUSHF / POPF
- init / FreeBSD: corregge l'uso errato di $ rc_pids in xendriverdomain
- init / FreeBSD: aggiungi variabili di controllo rc
- init / FreeBSD: corregge xencommons in modo che possa essere lanciato solo da Dom0
- init / FreeBSD: rimuovi xendriverdomain_precmd
- init / FreeBSD: imposta PATH corretto per xl devd
- xsm: autorizza il permesso durante la migrazione e gpu-passthrough.
- libxl: init_acpi_config dovrebbe restituire rc nel percorso di uscita e impostato su 0 in caso di successo
- x86 / emul: aggiungi probabil () / improbabile () per testare il cablaggio
- x86 / HVM: aggiungi il controllo NULL mancante prima di utilizzare il gancio VMFUNC
- x86: forzare EFLAGS.IF su quando si esce dagli ospiti PV
- x86 / emul: correggi la gestione di eflags con SYSCALL
- Aggiornamento QEMU_TAG
- aggiorna la versione di Xen alla 4.8.1-pre
- Inoltre, questa versione contiene anche le seguenti correzioni a qemu-traditional:
- cirrus / vnc: zap drop supporto bitblit dal codice della console.
- cirrus: aggiungi la chiamata blit_is_unsafe a cirrus_bitblt_cputovideo
- cirrus: correzione del problema di accesso oob (CVE-2017-2615)
- qemu: ioport_read, ioport_write: sii difensivo sugli indirizzi a 32 bit
I commenti non trovato