/openbmc/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 …]
|
/openbmc/qemu/docs/ |
H A D | multiseat.txt | 6 ------------ 12 ./configure --enable-sdl 16 ./configure --enable-gtk 21 qemu -accel kvm -usb $memory $disk $whatever \ 22 -display [ sdl | gtk ] \ 23 -vga std \ 24 -device usb-tablet 27 standard ps/2 keyboard (implicitly there) and the usb-tablet. Now the 30 -device pci-bridge,addr=12.0,chassis_nr=2,id=head.2 \ 31 -device secondary-vga,bus=head.2,addr=02.0,id=video.2 \ [all …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/qemu/docs/devel/migration/ |
H A D | CPR.rst | 8 cpr-reboot is the only available mode. 13 guest block devices between quitting old QEMU and starting new QEMU. 18 cpr-reboot mode 19 --------------- 23 resumes by running QEMU with the ``-incoming`` option. Because the 27 Guest RAM can be saved in place if backed by shared memory, or can be 37 guest in the suspended runstate, such as by issuing the 38 ``guest-suspend-ram`` command to the QEMU guest agent. The agent 39 must be pre-installed in the guest, and the guest must support 47 It is recommended that guest RAM be backed with some type of shared [all …]
|
H A D | main.rst | 5 QEMU has code to load/save the state of the guest that it is running. 7 that, saves the state for each device that the guest is running. 8 Restoring a guest is just the opposite operation: we need to load the 12 two times. I.e. it can only restore the state in one guest that has 17 Once that we are able to save/restore a guest, a new functionality is 25 migration allows the guest to continue running while the state is 27 the guest to be stopped. Typically the time that the guest is 39 - tcp migration: do the migration using tcp sockets 40 - unix migration: do the migration using unix sockets 41 - exec migration: do the migration using the stdin/stdout through a process. [all …]
|
H A D | postcopy.rst | 8 (or take too long to converge) its plus side is that there is an upper bound on 9 the amount of migration traffic and time it takes, the down side is that during 10 the postcopy phase, a failure of *either* side causes the guest to be lost. 25 ``migrate_set_capability postcopy-ram on`` 40 side. To enable postcopy blocktime calculation, enter following 43 ``migrate_set_capability postcopy-blocktime on`` 45 Postcopy blocktime can be retrieved by query-migrate qmp command. 46 postcopy-blocktime value of qmp command will show overlapped blocking 47 time for all vCPU, postcopy-vcpu-blocktime will show list of blocking 59 ------------- [all …]
|
/openbmc/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 …]
|
/openbmc/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 …]
|
/openbmc/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; variable 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 …]
|
/openbmc/linux/Documentation/virt/hyperv/ |
H A D | vmbus.rst | 1 .. SPDX-License-Identifier: GPL-2.0 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 11 and the synthetic device implementation that is part of Hyper-V, and 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) 17 establishes the VMbus control path with the Hyper-V host, then 21 Most synthetic devices offered by Hyper-V have a corresponding Linux [all …]
|
/openbmc/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 …]
|
/openbmc/qemu/qapi/ |
H A D | machine.json | 1 # -*- Mode: Python -*- 5 # See the COPYING file in the top-level directory. 12 { 'include': 'machine-common.json' } 18 # targets. Run "./configure --help" in the project root directory, 19 # and look for the \*-softmmu targets near the "--target-list" option. 30 # "qemu-system-" prefix to produce the corresponding QEMU 31 # executable name. This is true even for "qemu-system-x86_64". 52 'data': [ 'uninitialized', 'stopped', 'check-stop', 'operating', 'load' ] } 59 # @cpu-state: the virtual CPU's state 68 'data': { 'cpu-state': 'S390CpuState', [all …]
|
/openbmc/qemu/net/ |
H A D | filter-rewriter.c | 9 * later. See the COPYING file in the top-level directory. 17 #include "qemu/error-report.h" 19 #include "qemu/main-loop.h" 26 #define TYPE_FILTER_REWRITER "filter-rewriter" 43 s->failover_mode = FAILOVER_MODE_ON; in filter_rewriter_failover_mode() 50 if (!qemu_net_queue_flush(s->incoming_queue)) { in filter_rewriter_flush() 52 qemu_net_queue_purge(s->incoming_queue, nf->netdev); in filter_rewriter_flush() 63 pkt->ip->ip_p == IPPROTO_TCP) { in is_tcp_packet() 70 /* handle tcp packet from primary guest */ 77 tcp_pkt = (struct tcp_hdr *)pkt->transport_header; in handle_primary_tcp_pkt() [all …]
|
/openbmc/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 19 #include <asm/msr-index.h> 32 * Copy a version of this function here - insn-eval.c can't be used in 33 * pre-decompression code. 51 * Only a dummy for insn_get_seg_base() - Early boot-code is 64bit only and 81 memcpy(buffer, (unsigned char *)ctxt->regs->ip, MAX_INSN_SIZE); in vc_decode_insn() 83 ret = insn_decode(&ctxt->insn, buffer, MAX_INSN_SIZE, INSN_MODE_64); in vc_decode_insn() 129 #include "../../kernel/sev-shared.c" 144 * If private -> shared then invalidate the page before requesting the in __page_state_change() [all …]
|
/openbmc/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.
|
/openbmc/qemu/docs/specs/ |
H A D | fw_cfg.rst | 5 Guest-side Hardware Interface 8 This hardware interface allows the guest to retrieve various data items 10 contain tables to be installed for the guest OS. Examples include device 15 --------------------------- 19 * Width: 16-bit 20 * Endianness: little-endian (if IOport), or big-endian (if MMIO) 34 the selector value is between 0x4000-0x7fff or 0xc000-0xffff. 38 longer supported, and will be ignored (treated as no-ops)! 49 items are accessed with a selector value between 0x0000-0x7fff, and 51 value between 0x8000-0xffff. [all …]
|
/openbmc/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 dyntick-idle entry. */ 45 WRITE_ONCE(current->rcu_tasks_idle_cpu, smp_processor_id()); in rcu_dynticks_task_enter() 49 /* Record no current task on dyntick-idle exit. */ 53 WRITE_ONCE(current->rcu_tasks_idle_cpu, -1); in rcu_dynticks_task_exit() 62 current->trc_reader_special.b.need_mb = true; in rcu_dynticks_task_trace_enter() [all …]
|
/openbmc/qemu/include/exec/ |
H A D | ramblock.h | 10 * later. See the COPYING file in the top-level directory. 23 #include "cpu-common.h" 39 /* RCU-enabled, writes protected by the ramlist lock */ 50 * Below fields are only used by mapped-ram migration 61 /* Bitmap of already received pages. Only used on destination side. */ 66 * set, it means the corresponding memory chunk needs a log-clear. 67 * Set this up to non-NULL to enable the capability to postpone 71 * It is only used during src side of ram migration, and it is 75 * in that one bit can represent multiple guest pages (which is 77 * destination side, this should always be NULL, and the variable [all …]
|
/openbmc/qemu/include/hw/hyperv/ |
H A D | vmbus.h | 2 * QEMU Hyper-V VMBus 4 * Copyright (c) 2017-2018 Virtuozzo International GmbH. 7 * See the COPYING file in the top-level directory. 15 #include "hw/qdev-core.h" 17 #include "hw/hyperv/vmbus-proto.h" 21 #define TYPE_VMBUS_DEVICE "vmbus-dev" 30 * Object wrapping a GPADL -- GPA Descriptor List -- an array of guest physical 31 * pages, to be used for various buffers shared between the host and the guest. 35 * VMBus channel -- a pair of ring buffers for either direction, placed within 64 * Device-specific actions to complete the otherwise successful process of [all …]
|
/openbmc/u-boot/include/ |
H A D | virtio_ring.h | 1 /* SPDX-License-Identifier: BSD-3-Clause */ 16 /* This marks a buffer as write-only (otherwise read-only) */ 22 * The Host uses this in used->flags to advise the Guest: don't kick me when 23 * you add a buffer. It's unreliable, so it's simply an optimization. Guest 29 * The Guest uses this in avail->flags to advise the Host: don't interrupt me 38 * The Guest publishes the used index for which it expects an interrupt 39 * at the end of the avail ring. Host should ignore the avail->flags field. 42 * at the end of the used ring. Guest should ignore the used->flags field. 48 /* Address (guest-physical) */ 85 * virtqueue - a queue to register buffers for sending or receiving. [all …]
|
/openbmc/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 …]
|
/openbmc/qemu/docs/devel/ |
H A D | multi-process.rst | 1 Multi-process QEMU 6 This is the design document for multi-process QEMU. It does not 18 infrastructure, a guest that compromised its hypervisor could 25 configuration QEMU has a large amount of code a guest can potentially 31 ------------- 34 VM control point, where VMs can be created, migrated, re-configured, and 40 A multi-process QEMU 43 A multi-process QEMU involves separating QEMU services into separate 51 A QEMU control process would remain, but in multi-process mode, will 53 provide the user interface to hot-plug devices or live migrate the VM. [all …]
|