/Linux-v6.1/arch/s390/kvm/ |
D | gaccess.h | 3 * access guest memory 20 * kvm_s390_real_to_abs - convert guest real address to guest absolute address 21 * @prefix - guest prefix 22 * @gra - guest real address 24 * Returns the guest absolute address that corresponds to the passed guest real 37 * kvm_s390_real_to_abs - convert guest real address to guest absolute address 38 * @vcpu - guest virtual cpu 39 * @gra - guest real address 41 * Returns the guest absolute address that corresponds to the passed guest real 42 * address @gra of a virtual guest cpu by applying its prefix. [all …]
|
/Linux-v6.1/Documentation/virt/kvm/x86/ |
D | mmu.rst | 8 for presenting a standard x86 mmu to the guest, while translating guest 14 the guest should not be able to determine that it is running 19 the guest must not be able to touch host memory not assigned 28 Linux memory management code must be in control of guest memory 32 report writes to guest memory to enable live migration 47 gfn guest frame number 48 gpa guest physical address 49 gva guest virtual address 50 ngpa nested guest physical address 51 ngva nested guest virtual address [all …]
|
D | running-nested-guests.rst | 7 A nested guest is the ability to run a guest inside another guest (it 9 example is a KVM guest that in turn runs on a KVM guest (the rest of 15 | (Nested Guest) | | (Nested Guest) | 19 | L1 (Guest Hypervisor) | 33 - L1 – level-1 guest; a VM running on L0; also called the "guest 36 - L2 – level-2 guest; a VM running on L1, this is the "nested guest" 46 (guest hypervisor), L3 (nested guest). 61 Provider, using nested KVM lets you rent a large enough "guest 62 hypervisor" (level-1 guest). This in turn allows you to create 66 - Live migration of "guest hypervisors" and their nested guests, for [all …]
|
D | amd-memory-encryption.rst | 52 The SEV guest key management is handled by a separate processor called the AMD 55 encrypting bootstrap code, snapshot, migrating and debugging the guest. For more 101 context. To create the encryption context, user must provide a guest policy, 112 __u32 policy; /* guest's policy */ 114 … __u64 dh_uaddr; /* userspace address pointing to the guest owner's PDH key */ 117 … __u64 session_addr; /* userspace address which points to the guest session information */ 132 of the memory contents that can be sent to the guest owner as an attestation 152 data encrypted by the KVM_SEV_LAUNCH_UPDATE_DATA command. The guest owner may 153 wait to provide the guest with confidential information until it can verify the 154 measurement. Since the guest owner knows the initial contents of the guest at [all …]
|
D | msr.rst | 25 in guest RAM. This memory is expected to hold a copy of the following 40 guest has to check version before and after grabbing 64 guest RAM, plus an enable bit in bit 0. This memory is expected to hold 87 guest has to check version before and after grabbing 127 coordinated between the guest and the hypervisor. Availability 139 | | | guest vcpu has been paused by | 196 which must be in guest RAM and must be zeroed. This memory is expected 221 a token that will be used to notify the guest when missing page becomes 225 is currently supported, when set, it indicates that the guest is dealing 227 'flags' is '0' it means that this is regular page fault. Guest is [all …]
|
/Linux-v6.1/Documentation/x86/ |
D | tdx.rst | 7 Intel's Trust Domain Extensions (TDX) protect confidential guest VMs from 8 the host and physical attacks by isolating the guest register state and by 9 encrypting the guest memory. In TDX, a special module running in a special 10 mode sits between the host and the guest and manages the guest/host 13 Since the host cannot directly access guest registers or memory, much 14 normal functionality of a hypervisor must be moved into the guest. This is 16 guest kernel. A #VE is handled entirely inside the guest kernel, but some 20 guest to the hypervisor or the TDX module. 64 indicates a bug in the guest. The guest may try to handle the #GP with a 70 The "just works" MSRs do not need any special guest handling. They might [all …]
|
/Linux-v6.1/Documentation/virt/hyperv/ |
D | vmbus.rst | 5 VMbus is a software construct provided by Hyper-V to guest VMs. It 7 devices that Hyper-V presents to guest VMs. The control path is 8 used to offer synthetic devices to the guest VM and, in some cases, 10 channels for communicating between the device driver in the guest VM 12 signaling primitives to allow Hyper-V and the guest to interrupt 16 entry in a running Linux guest. The VMbus driver (drivers/hv/vmbus_drv.c) 37 Guest VMs may have multiple instances of the synthetic SCSI 47 the device in the guest VM. For example, the Linux driver for the 65 guest, and the "out" ring buffer is for messages from the guest to 67 viewed by the guest side. The ring buffers are memory that is [all …]
|
D | overview.rst | 6 enlightened guest on Microsoft's Hyper-V hypervisor. Hyper-V 9 equivalent to KVM and QEMU, for example). Guest VMs run in child 19 Linux Guest Communication with Hyper-V 24 some guest actions trap to Hyper-V. Hyper-V emulates the action and 25 returns control to the guest. This behavior is generally invisible 31 processor registers or in memory shared between the Linux guest and 38 the guest, and the Linux kernel can read or write these MSRs using 45 the Hyper-V host and the Linux guest. It uses memory that is shared 46 between Hyper-V and the guest, along with various signaling 70 * Linux tells Hyper-V the guest physical address (GPA) of the [all …]
|
/Linux-v6.1/tools/virtio/ringtest/ |
D | virtio_ring_0_9.c | 41 struct guest { struct 52 } guest; argument 78 guest.avail_idx = 0; in alloc_ring() 79 guest.kicked_avail_idx = -1; in alloc_ring() 80 guest.last_used_idx = 0; in alloc_ring() 83 guest.free_head = 0; in alloc_ring() 89 guest.num_free = ring_size; in alloc_ring() 98 /* guest side */ 107 if (!guest.num_free) in add_inbuf() 111 head = (ring_size - 1) & (guest.avail_idx++); in add_inbuf() [all …]
|
D | ring.c | 27 * Guest adds descriptors with unique index values and DESC_HW in flags. 59 struct guest { struct 65 } guest; argument 92 guest.avail_idx = 0; in alloc_ring() 93 guest.kicked_avail_idx = -1; in alloc_ring() 94 guest.last_used_idx = 0; in alloc_ring() 103 guest.num_free = ring_size; in alloc_ring() 111 /* guest side */ 116 if (!guest.num_free) in add_inbuf() 119 guest.num_free--; in add_inbuf() [all …]
|
/Linux-v6.1/arch/mips/kvm/ |
D | tlb.c | 92 * Sets the root GuestID to match the current guest GuestID, for TLB operation 121 /* Set root GuestID for root probe and write of guest TLB entry */ in kvm_vz_host_tlb_inv() 153 * kvm_vz_guest_tlb_lookup() - Lookup a guest VZ TLB mapping. 155 * @gpa: Guest virtual address in a TLB mapped guest segment. 156 * @gpa: Pointer to output guest physical address it maps to. 158 * Converts a guest virtual address in a guest TLB mapped segment to a guest 159 * physical address, by probing the guest TLB. 161 * Returns: 0 if guest TLB mapping exists for @gva. *@gpa will have been 163 * -EFAULT if no guest TLB mapping exists for @gva. *@gpa may not 175 /* Probe the guest TLB for a mapping */ in kvm_vz_guest_tlb_lookup() [all …]
|
D | vz.c | 44 * Number of guest VTLB entries to use, so we can catch inconsistency between 75 * These Config bits may be writable by the guest: 119 * Permit guest FPU mode changes if FPU is enabled and the relevant in kvm_vz_config5_guest_wrmask() 199 /* VZ guest has already converted gva to gpa */ in kvm_vz_gva_to_gpa_cb() 218 * timer expiry is asynchronous to vcpu execution therefore defer guest in kvm_vz_queue_timer_int_cb() 227 * timer expiry is asynchronous to vcpu execution therefore defer guest in kvm_vz_dequeue_timer_int_cb() 239 * interrupts are asynchronous to vcpu execution therefore defer guest in kvm_vz_queue_io_int_cb() 251 * interrupts are asynchronous to vcpu execution therefore defer guest in kvm_vz_dequeue_io_int_cb() 329 * VZ guest timer handling. 333 * kvm_vz_should_use_htimer() - Find whether to use the VZ hard guest timer. [all …]
|
/Linux-v6.1/drivers/gpu/drm/vboxvideo/ |
D | vboxvideo.h | 10 * The last 4096 bytes of the guest VRAM contains the generic info for all 24 * The Virtual Graphics Adapter information in the guest VRAM is stored by the 25 * guest video driver using structures prepended by VBOXVIDEOINFOHDR. 27 * When the guest driver writes dword 0 to the VBE_DISPI_INDEX_VBOX_VIDEO 30 * actual information chain. That way the guest driver can have some 40 * The guest driver writes dword 0xffffffff to the VBE_DISPI_INDEX_VBOX_VIDEO 46 * The guest writes the VBE_DISPI_INDEX_VBOX_VIDEO index register, the 67 * Guest starts writing to the buffer by initializing a record entry in the 69 * written. As data is written to the ring buffer, the guest increases 146 /* guest->host commands */ [all …]
|
/Linux-v6.1/Documentation/virt/kvm/s390/ |
D | s390-pv.rst | 10 access VM state like guest memory or guest registers. Instead, the 15 Each guest starts in non-protected mode and then may make a request to 16 transition into protected mode. On transition, KVM registers the guest 20 The Ultravisor will secure and decrypt the guest's boot memory 22 starts/stops and injected interrupts while the guest is running. 24 As access to the guest's state, such as the SIE state description, is 29 reduce exposed guest state. 40 field (offset 0x54). If the guest cpu is not enabled for the interrupt 50 access to the guest memory. 72 Secure Interception General Register Save Area. Guest GRs and most of [all …]
|
/Linux-v6.1/tools/perf/Documentation/ |
D | guest-files.txt | 4 Guest OS /proc/kallsyms file copy. perf reads it to get guest 5 kernel symbols. Users copy it out from guest OS. 8 Guest OS /proc/modules file copy. perf reads it to get guest 9 kernel module information. Users copy it out from guest OS. 12 Guest OS kernel vmlinux. 14 --guest-code:: 15 Indicate that guest code can be found in the hypervisor process,
|
D | perf-kvm.txt | 6 perf-kvm - Tool to trace/measure kvm guest os 11 'perf kvm' [--host] [--guest] [--guestmount=<path> 14 'perf kvm' [--host] [--guest] [--guestkallsyms=<path> --guestmodules=<path> 23 a performance counter profile of guest os in realtime 28 default behavior of perf kvm as --guest, so if neither --host nor --guest 29 is input, the perf data file name is perf.data.guest. If --host is input, 31 perf.data.host, please input --host --no-guest. The behaviors are shown as 33 Default('') -> perf.data.guest 35 --guest -> perf.data.guest 36 --host --guest -> perf.data.kvm [all …]
|
/Linux-v6.1/drivers/misc/vmw_vmci/ |
D | vmci_route.c | 34 * guest. in vmci_route() 49 * If this message already came from a guest then we in vmci_route() 57 * We must be acting as a guest in order to send to in vmci_route() 87 * If it is not from a guest but we are acting as a in vmci_route() 88 * guest, then we need to send it down to the host. in vmci_route() 100 * an "outer host" through the guest device. in vmci_route() 122 * Otherwise we already received it from a guest and in vmci_route() 132 * If it came from a guest then it must have a in vmci_route() 149 * a guest. in vmci_route() 152 /* It will have a context if it is meant for a guest. */ in vmci_route() [all …]
|
/Linux-v6.1/arch/arm64/kvm/ |
D | debug.c | 3 * Debug and Guest Debug support 29 * For some debug operations we need to tweak some guest registers. As 33 * Guest access to MDSCR_EL1 is trapped by the hypervisor and handled 37 * guest entry. Preserve PSTATE.SS so we can restore the original value 100 * to disable guest access to the profiling and trace buffers in kvm_arm_setup_mdcr_el2() 117 * - Userspace is using the hardware to debug the guest in kvm_arm_setup_mdcr_el2() 119 * - The guest is not using debug (DEBUG_DIRTY clear). in kvm_arm_setup_mdcr_el2() 120 * - The guest has enabled the OS Lock (debug exceptions are blocked). in kvm_arm_setup_mdcr_el2() 161 * Additionally, KVM only traps guest accesses to the debug registers if 162 * the guest is not actively using them (see the DEBUG_DIRTY [all …]
|
/Linux-v6.1/Documentation/s390/ |
D | vfio-ap.rst | 122 Let's now take a look at how AP instructions executed on a guest are interpreted 128 control domains assigned to the KVM guest: 131 to the KVM guest. Each bit in the mask, from left to right, corresponds to 133 use by the KVM guest. 136 assigned to the KVM guest. Each bit in the mask, from left to right, 138 corresponding queue is valid for use by the KVM guest. 141 assigned to the KVM guest. The ADM bit mask controls which domains can be 143 guest. Each bit in the mask, from left to right, corresponds to a domain from 153 adapters 1 and 2 and usage domains 5 and 6 are assigned to a guest, the APQNs 154 (1,5), (1,6), (2,5) and (2,6) will be valid for the guest. [all …]
|
/Linux-v6.1/Documentation/arm64/ |
D | perf.rst | 28 The kernel runs at EL2 with VHE and EL1 without. Guest kernels always run 34 For the guest this attribute will exclude EL1. Please note that EL2 is 35 never counted within a guest. 48 guest/host transitions. 50 For the guest this attribute has no effect. Please note that EL2 is 51 never counted within a guest. 57 These attributes exclude the KVM host and guest, respectively. 62 The KVM guest may run at EL0 (userspace) and EL1 (kernel). 66 must enable/disable counting on the entry and exit to the guest. This is 70 exiting the guest we disable/enable the event as appropriate based on the [all …]
|
/Linux-v6.1/drivers/misc/cxl/ |
D | guest.c | 117 rc = cxl_h_collect_vpd_adapter(adapter->guest->handle, in guest_collect_vpd() 120 rc = cxl_h_collect_vpd(afu->guest->handle, 0, in guest_collect_vpd() 158 return cxl_h_collect_int_info(ctx->afu->guest->handle, ctx->process_token, info); in guest_get_irq_info() 186 rc = cxl_h_read_error_state(afu->guest->handle, &state); in afu_read_error_state() 203 rc = cxl_h_get_fn_error_interrupt(afu->guest->handle, &serr); in guest_slice_irq_err() 214 rc = cxl_h_ack_fn_error_interrupt(afu->guest->handle, serr); in guest_slice_irq_err() 228 for (i = 0; i < adapter->guest->irq_nranges; i++) { in irq_alloc_range() 229 cur = &adapter->guest->irq_avail[i]; in irq_alloc_range() 235 pr_devel("guest: allocate IRQs %#x->%#x\n", in irq_alloc_range() 252 for (i = 0; i < adapter->guest->irq_nranges; i++) { in irq_free_range() [all …]
|
/Linux-v6.1/arch/powerpc/kvm/ |
D | book3s_segment.S | 54 * R4 = guest shadow MSR 57 * LR = highmem guest exit code 59 * SVCPU[CR] = guest CR 60 * SVCPU[XER] = guest XER 61 * SVCPU[CTR] = guest CTR 62 * SVCPU[LR] = guest LR 68 /* Save guest exit handler address and MSR */ 77 /* Activate guest mode, so faults get handled by KVM */ 81 /* Switch to guest segment. This is subarch specific. */ 89 /* Set FSCR during guest execution */ [all …]
|
D | book3s_64_entry.S | 25 * reflected to the PR guest kernel, so registers may be set up for 28 * and CR0, so PR-KVM can not support a guest kernel that preserves 53 * guest R9-R13, CTR, CFAR, PPR saved in PACA EX_xxx save area 54 * guest (H)DAR, (H)DSISR are also in the save area for relevant interrupts 55 * guest R13 also saved in SCRATCH0 59 * R9 = guest CR 105 * R12 = (guest CR << 32) | interrupt vector 107 * guest R12 saved in shadow HSTATE_SCRATCH0 108 * guest R13 saved in SPRN_SCRATCH0 127 * the faulting instruction in guest memory from the hypervisor without [all …]
|
/Linux-v6.1/Documentation/virt/kvm/ |
D | vcpu-requests.rst | 48 The goal of a VCPU kick is to bring a VCPU thread out of guest mode in 50 a guest mode exit. However, a VCPU thread may not be in guest mode at the 55 1) Send an IPI. This forces a guest mode exit. 56 2) Waking a sleeping VCPU. Sleeping VCPUs are VCPU threads outside guest 60 3) Nothing. When the VCPU is not in guest mode and the VCPU thread is not 67 guest is running in guest mode or not, as well as some specific 68 outside guest mode states. The architecture may use ``vcpu->mode`` to 76 The VCPU thread is outside guest mode. 80 The VCPU thread is in guest mode. 89 The VCPU thread is outside guest mode, but it wants the sender of [all …]
|
/Linux-v6.1/drivers/virt/vboxguest/ |
D | vmmdev.h | 3 * Virtual Device for Guest <-> VMM/Host communication interface 19 /** Layout of VMMDEV RAM region that contains information for guest. */ 37 /** Mask of events the guest wants, set by guest. */ 57 /* The guest has been restored. */ 123 /* The guest can (== wants to) handle absolute coordinates. */ 131 * The guest can *NOT* switch to software cursor and therefore depends on the 134 * When guest additions are installed and the host has promised to display the 135 * cursor itself, the guest installs a hardware mouse driver. Don't ask the 136 * guest to switch to a software cursor then. 141 /* The guest can read VMMDev events to find out about pointer movement */ [all …]
|