/linux/Documentation/security/ |
H A D | snp-tdx-threat-model.rst | 17 the kernel through various networking or limited HW-specific exposed 46 integrity for the VM's guest memory and execution state (vCPU registers), 47 more tightly controlled guest interrupt injection, as well as some 48 additional mechanisms to control guest-host page mapping. More details on 49 the x86-specific solutions can be found in 51 …https://www.amd.com/system/files/techdocs/sev-snp-strengthening-vm-isolation-with-integrity-protec… 53 The basic CoCo guest layout includes the host, guest, the interfaces that 54 communicate guest and host, a platform capable of supporting CoCo VMs, and 55 a trusted intermediary between the guest VM and the underlying platform 56 that acts as a security manager. The host-side virtual machine monitor [all …]
|
/linux/tools/testing/selftests/kvm/x86_64/ |
H A D | tsc_msrs_test.c | 1 // SPDX-License-Identifier: GPL-2.0 15 #define ROUND(x) ((x + UNITY / 2) & -UNITY) 26 /* Guest: writes to MSR_IA32_TSC affect both MSRs. */ in guest_code() 32 /* Guest: writes to MSR_IA32_TSC_ADJUST affect both MSRs. */ in guest_code() 45 * Guest: writes to MSR_IA32_TSC_ADJUST do not destroy the in guest_code() 46 * host-side offset and affect both MSRs. in guest_code() 55 * Guest: writes to MSR_IA32_TSC affect both MSRs, so the host-side in guest_code() 62 GUEST_ASSERT_EQ(rounded_rdmsr(MSR_IA32_TSC_ADJUST), val - HOST_ADJUST); in guest_code() 90 exit_reason_str(vcpu->run->exit_reason)); in run_vcpu() 109 /* Guest: writes to MSR_IA32_TSC affect both MSRs. */ in main() [all …]
|
/linux/Documentation/admin-guide/hw-vuln/ |
H A D | spectre.rst | 1 .. SPDX-License-Identifier: GPL-2.0 3 Spectre Side Channels 6 Spectre is a class of side channel attacks that exploit branch prediction 8 bypassing access controls. Speculative execution side channel exploits 14 ------------------- 16 Speculative execution side channel methods affect a wide range of modern 22 - Intel Core, Atom, Pentium, and Xeon processors 24 - AMD Phenom, EPYC, and Zen processors 26 - IBM POWER and zSeries processors 28 - Higher end ARM processors [all …]
|
/linux/fs/vboxsf/ |
H A D | file.c | 1 // SPDX-License-Identifier: MIT 3 * VirtualBox Guest Shared Folders support: Regular file inode and file ops. 5 * Copyright (C) 2006-2018 Oracle Corporation 9 #include <linux/page-flags.h> 31 return ERR_PTR(-ENOMEM); in vboxsf_create_sf_handle() 34 sf_i->force_restat = 1; in vboxsf_create_sf_handle() 37 sf_handle->handle = handle; in vboxsf_create_sf_handle() 38 sf_handle->root = VBOXSF_SBI(inode->i_sb)->root; in vboxsf_create_sf_handle() 39 sf_handle->access_flags = access_flags; in vboxsf_create_sf_handle() 40 kref_init(&sf_handle->refcount); in vboxsf_create_sf_handle() [all …]
|
H A D | Kconfig | 2 tristate "VirtualBox guest shared folder (vboxsf) support" 7 implements the Linux-guest side of this allowing folders exported
|
/linux/Documentation/virt/kvm/x86/ |
H A D | cpuid.rst | 1 .. SPDX-License-Identifier: GPL-2.0 9 A guest running on a kvm host, can check some of its features using 11 mask-out some, or even all KVM-related cpuid features before launching 12 a guest. 65 KVM_FEATURE_PV_UNHALT 7 guest checks this feature bit 69 KVM_FEATURE_PV_TLB_FLUSH 9 guest checks this feature bit 77 KVM_FEATURE_PV_SEND_IPI 11 guest checks this feature bit 81 KVM_FEATURE_POLL_CONTROL 12 host-side polling on HLT can 85 KVM_FEATURE_PV_SCHED_YIELD 13 guest checks this feature bit 89 KVM_FEATURE_ASYNC_PF_INT 14 guest checks this feature bit [all …]
|
H A D | msr.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 KVM-specific MSRs 16 --------------- 24 4-byte alignment physical address of a memory area which must be 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 42 An odd version indicates an in-progress update. 53 Note that although MSRs are per-CPU entities, the effect of this 63 4-byte aligned physical address of a memory area which must be in 64 guest RAM, plus an enable bit in bit 0. This memory is expected to hold [all …]
|
H A D | errata.rst | 1 .. SPDX-License-Identifier: GPL-2.0 18 ---------------------------------- 27 Clearing these bits in CPUID has no effect on the operation of the guest; 31 **Workaround:** It is recommended to always set these bits in guest CPUID. 37 ------------------------------ 42 ------ 45 vCPU has legacy xAPIC enabled, e.g. to bring up hotplugged vCPUs via INIT-SIPI 46 on VMs with > 255 vCPUs. A side effect of the quirk is that, if multiple vCPUs 53 ----- 54 KVM does not virtualize guest MTRR memory types. KVM emulates accesses to MTRR [all …]
|
/linux/tools/perf/Documentation/ |
H A D | perf-kvm.txt | 1 perf-kvm(1) 5 ---- 6 perf-kvm - Tool to trace/measure kvm guest os 9 -------- 11 'perf kvm' [--host] [--guest] [--guestmount=<path> 12 [--guestkallsyms=<path> --guestmodules=<path> | --guestvmlinux=<path>]] 13 {top|record|report|diff|buildid-list} [<options>] 14 'perf kvm' [--host] [--guest] [--guestkallsyms=<path> --guestmodules=<path> 15 | --guestvmlinux=<path>] {top|record|report|diff|buildid-list|stat} [<options>] 19 ----------- [all …]
|
/linux/tools/virtio/ringtest/ |
H A D | ring.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * Simple descriptor-based ring. virtio 0.9 compatible event index is used for 15 /* Next - Where next entry will be written. 16 * Prev - "Next" value when event triggered previously. 17 * Event - Peer requested event after writing this entry. 23 return (unsigned short)(next - event - 1) < (unsigned short)(next - prev); in need_event() 27 * Guest adds descriptors with unique index values and DESC_HW in flags. 46 unsigned char reserved0[HOST_GUEST_PADDING - 2]; 48 unsigned char reserved1[HOST_GUEST_PADDING - 2]; 59 struct guest { struct [all …]
|
H A D | virtio_ring_0_9.c | 1 // SPDX-License-Identifier: GPL-2.0-only 29 /* enabling the below activates experimental in-order code 41 struct guest { struct 51 unsigned char reserved[HOST_GUEST_PADDING - 10]; 52 } guest; argument 60 unsigned char reserved[HOST_GUEST_PADDING - 4]; 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() [all …]
|
/linux/arch/arm64/kvm/hyp/ |
H A D | entry.S | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (C) 2015 - ARM Ltd 26 // x1-x17: clobbered by macros 27 // x29: guest context 39 // defer the guest entry. The DSB isn't necessary before v8.2 as any 59 // ptrauth_switch_to_guest(guest cxt, tmp1, tmp2, tmp3) 60 // The below macro to restore guest keys is not implemented in C code 65 // Restore the guest's sp_el0 68 // Restore guest regs x0-x17 79 // Restore guest regs x18-x29, lr [all …]
|
/linux/arch/x86/boot/compressed/ |
H A D | sev.c | 1 // SPDX-License-Identifier: GPL-2.0 10 * headers in the pre-decompression code in a way that does not break 20 #include <asm/msr-index.h> 33 * Copy a version of this function here - insn-eval.c can't be used in 34 * pre-decompression code. 52 * Only a dummy for insn_get_seg_base() - Early boot-code is 64bit only and 82 memcpy(buffer, (unsigned char *)ctxt->regs->ip, MAX_INSN_SIZE); in vc_decode_insn() 84 ret = insn_decode(&ctxt->insn, buffer, MAX_INSN_SIZE, INSN_MODE_64); in vc_decode_insn() 155 } while (ret == -EAGAIN); in svsm_perform_call_protocol() 173 * If private -> shared then invalidate the page before requesting the in __page_state_change() [all …]
|
/linux/kernel/ |
H A D | context_tracking.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * userspace, guest or idle. 7 * runs in idle, userspace or guest mode. 9 * User/guest tracking started by Frederic Weisbecker: 13 * Many thanks to Gilad Ben-Yossef, Paul McKenney, Ingo Molnar, Andrew Morton, 41 /* Record the current task on exiting RCU-tasks (dyntick-idle entry). */ 45 WRITE_ONCE(current->rcu_tasks_idle_cpu, smp_processor_id()); in rcu_task_exit() 49 /* Record no current task on entering RCU-tasks (dyntick-idle exit). */ 53 WRITE_ONCE(current->rcu_tasks_idle_cpu, -1); in rcu_task_enter() 62 current->trc_reader_special.b.need_mb = true; in rcu_task_trace_heavyweight_enter() [all …]
|
/linux/Documentation/virt/ |
H A D | guest-halt-polling.rst | 2 Guest halt polling 6 the guest vcpus to poll for a specified amount of time before 9 This provides the following benefits to host side polling: 15 2) The VM-exit cost can be avoided. 17 The downside of guest side polling is that polling is performed 25 ("per-cpu guest_halt_poll_ns"), which is adjusted by the algorithm 42 Division factor used to shrink per-cpu guest_halt_poll_ns when 49 Multiplication factor used to grow per-cpu guest_halt_poll_ns 50 when event occurs after per-cpu guest_halt_poll_ns 57 The per-cpu guest_halt_poll_ns eventually reaches zero [all …]
|
/linux/drivers/gpu/drm/vmwgfx/device_include/ |
H A D | vm_basic_types.h | 1 /* SPDX-License-Identifier: GPL-2.0 OR MIT */ 3 * Copyright 2015-2021 VMware, Inc. 62 * MKS Guest Stats types 116 * communicate guest stats back to the host code. The guest must 124 * beginning of these sections allowing the host side code to correctly 127 * Because the host side code never acknowledges anything back to the 128 * guest there is no strict requirement to maintain compatability 130 * able to log stats, but the guest will continue to run normally.
|
/linux/drivers/misc/vmw_vmci/ |
H A D | vmci_queue_pair.c | 1 // SPDX-License-Identifier: GPL-2.0-only 34 * In the following, we will distinguish between two kinds of VMX processes - 37 * newer ones that use the guest memory directly. We will in the following 38 * refer to the older VMX versions as old-style VMX'en, and the newer ones as 39 * new-style VMX'en. 42 * removed for readability) - see below for more details on the transtions: 44 * -------------- NEW ------------- 47 * CREATED_NO_MEM <-----------------> CREATED_MEM 49 * | o-----------------------o | 52 * ATTACHED_NO_MEM <----------------> ATTACHED_MEM [all …]
|
/linux/Documentation/networking/device_drivers/ethernet/microsoft/ |
H A D | netvsc.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 Hyper-V network driver 17 ---------------- 19 Hyper-V host version does. Windows Server 2016 and Azure 23 Receive Side Scaling 24 -------------------- 25 Hyper-V supports receive side scaling. For TCP & UDP, packets can 41 ethtool -N eth0 rx-flow-hash udp4 sdfn 45 ethtool -N eth0 rx-flow-hash udp4 sd 49 ethtool -n eth0 rx-flow-hash udp4 [all …]
|
/linux/drivers/xen/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 32 2) control domain: xl mem-max <target-domain> <maxmem> 35 3) control domain: xl mem-set <target-domain> <memory> 51 …SUBSYSTEM=="memory", ACTION=="add", RUN+="/bin/sh -c '[ -f /sys$devpath/state ] && echo online > /… 54 int "Hotplugged memory limit (in GiB) for a PV guest" 59 Maximum amount of memory (in GiB) that a PV guest can be 62 A PV guest can have more memory than this limit if is 145 bool "Add support for dma-buf grant access device driver extension" 150 dma-buf implementation. With this extension grant references to 151 the pages of an imported dma-buf can be exported for other domain [all …]
|
/linux/Documentation/arch/sparc/oradax/ |
H A D | dax-hv-api.txt | 3 Publication date 2017-09-25 08:21 5 Extracted via "pdftotext -f 547 -l 572 -layout sun4v_20170925.pdf" 16 live-migration and other system management activities. 20 …high speed processoring of database-centric operations. The coprocessors may support one or more of 28 …e Completion Area and, unless execution order is specifically restricted through the use of serial- 32 …Guest software may implement a software timeout on CCB operations, and if the timeout is exceeded,… 33 …tion may be cancelled or killed via the ccb_kill API function. It is recommended for guest software 38 …There is no fixed limit on the number of outstanding CCBs guest software may have queued in the vi… 45 …device node in the guest MD (Section 8.24.17, “Database Analytics Accelerators (DAX) virtual-device 51 36.1.1.1. "ORCL,sun4v-dax" Device Compatibility [all …]
|
/linux/Documentation/devicetree/bindings/firmware/ |
H A D | qemu,fw-cfg-mmio.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/firmware/qemu,fw-cfg-mmio.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Rob Herring <robh@kernel.org> 16 - A write-only, 16-bit wide selector (or control) register, 17 - a read-write, 64-bit wide data register. 20 registers; their location is communicated to the guest's UEFI firmware in the 21 DTB that QEMU places at the bottom of the guest's DRAM. 23 The authoritative guest-side hardware interface documentation to the fw_cfg [all …]
|
/linux/arch/powerpc/kvm/ |
H A D | book3s_hv_builtin.c | 1 // SPDX-License-Identifier: GPL-2.0-only 53 return -EINVAL; in early_parse_kvm_cma_resv() 60 VM_BUG_ON(order_base_2(nr_pages) < KVM_CMA_CHUNK_ORDER - PAGE_SHIFT); in kvm_alloc_hpt_cma() 74 * kvm_cma_reserve() - reserve area for kvm hash pagetable 98 KVM_CMA_CHUNK_ORDER - PAGE_SHIFT, false, "kvm_cma", in kvm_cma_reserve() 104 * Real-mode H_CONFER implementation. 106 * still running in the guest and not ceded. If so, we pop up 107 * to the virtual-mode implementation; if not, just return to 108 * the guest. 113 struct kvmppc_vcore *vc = local_paca->kvm_hstate.kvm_vcore; in kvmppc_rm_h_confer() [all …]
|
/linux/drivers/vhost/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 14 the host side of a virtio ring. 40 guest networking with virtio_net. Not to be confused with virtio_net 41 module itself which needs to be loaded in guest kernel. 53 for use with virtio-scsi guests 56 tristate "vhost virtio-vsock driver" 64 virtio_transport.ko driver loaded to use the virtio-vsock device. 70 tristate "Vhost driver for vDPA-based backend" 77 guest virtio devices with the vDPA-based backends. 83 bool "Cross-endian support for vhost"
|
/linux/drivers/irqchip/ |
H A D | irq-gic-v4.c | 1 // SPDX-License-Identifier: GPL-2.0-only 14 #include <linux/irqchip/arm-gic-v4.h> 18 * intricacies of GICv3, GICv4, and how a guest's view of a GICv3 gets 26 * agnostic actually means KVM-specific - what were you thinking?). 31 * - Any guest-visible VLPI is backed by a Linux interrupt (and a 32 * physical LPI which gets unmapped when the guest maps the 34 * mapped to the LPI (host) or the VLPI (guest). Note that this is 37 * - Enabling/disabling a VLPI is done by issuing mask/unmask calls. 39 * - Guest INT/CLEAR commands are implemented through 42 * - The *bizarre* stuff (mapping/unmapping an interrupt to a VLPI, or [all …]
|
/linux/Documentation/arch/s390/ |
H A D | vfio-ccw.rst | 2 vfio-ccw: the basic infrastructure 6 ------------ 9 Linux/s390. Motivation for vfio-ccw is to passthrough subchannels to a 16 - Channel programs run asynchronously on a separate (co)processor. 17 - The channel subsystem will access any memory designated by the caller 31 - A good start to know Channel I/O in general: 33 - s390 architecture: 34 s390 Principles of Operation manual (IBM Form. No. SA22-7832) 35 - The existing QEMU code which implements a simple emulated channel 41 - Documentation/driver-api/vfio-mediated-device.rst [all …]
|