/linux/include/uapi/linux/ |
H A D | virtio_ring.h | 42 /* This marks a buffer as write-only (otherwise read-only). */ 54 /* The Host uses this in used->flags to advise the Guest: don't kick me when 55 * you add a buffer. It's unreliable, so it's simply an optimization. Guest 58 /* The Guest uses this in avail->flags to advise the Host: don't interrupt me 83 /* The Guest publishes the used index for which it expects an interrupt 84 * at the end of the avail ring. Host should ignore the avail->flags field. */ 86 * at the end of the used ring. Guest should ignore the used->flags field. */ 90 * When using pre-virtio 1.0 layout, these fall out naturally. 97 * struct vring_desc - Virtio ring descriptors, 100 * @addr: buffer address (guest-physical) [all …]
|
H A D | vhost.h | 1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 4 /* Userspace interface for in-kernel virtio accelerators. */ 8 * Existing virtio net code is used in the guest without modification. 18 #define VHOST_FILE_UNBIND -1 76 /* Get accessor: reads index, writes value in num */ 79 /* Set the vring byte order in num. Valid values are VHOST_VRING_LITTLE_ENDIAN 80 * or VHOST_VRING_BIG_ENDIAN (other values return -EINVAL). 82 * returns -EBUSY. 130 * used for transmit. Pass fd -1 to unbind from the socket and the transmit 151 /* Get the device id. The device ids follow the same definition of [all …]
|
/linux/drivers/irqchip/ |
H A D | irq-riscv-imsic-state.c | 1 // SPDX-License-Identifier: GPL-2.0 7 #define pr_fmt(fmt) "riscv-imsic: " fmt 22 #include "irq-riscv-imsic-state.h" 63 return imsic ? &imsic->global : NULL; in imsic_get_global_config() 74 imask = BIT(id & (__riscv_xlen - 1)); in __imsic_eix_read_clear() 102 * are XLEN-wide and we must not touch IDs which in __imsic_eix_update() 106 for (i = id & (__riscv_xlen - 1); id < last_id && i < __riscv_xlen; i++) { in __imsic_eix_update() 133 lockdep_assert_held(&lpriv->lock); in __imsic_local_sync() 135 for_each_set_bit(i, lpriv->dirty_bitmap, imsic->global.nr_ids + 1) { in __imsic_local_sync() 138 vec = &lpriv->vectors[i]; in __imsic_local_sync() [all …]
|
/linux/arch/x86/kernel/cpu/ |
H A D | topology.c | 1 // SPDX-License-Identifier: GPL-2.0-only 5 * The APIC IDs describe the system topology in multiple domain levels. 11 * The root space contains the package (socket) IDs. 49 u32 cpuid_to_apicid[] __ro_after_init = { [0 ... NR_CPUS - 1] = BAD_APICID, }; 80 if (!(apicid & (__max_threads_per_core - 1))) in cpu_mark_primary_thread() 95 return apicid & (UINT_MAX << x86_topo_system.dom_shifts[dom - 1]); in topo_apicid() 107 return -ENODEV; in topo_lookup_cpuid() 231 * of the APICs via firmware parsers or VM guest in topo_register_apic() 246 * on bare metal. Allow the bogosity in a guest. in topo_register_apic() 250 pr_info_once("Ignoring hot-pluggable APIC ID %x in present package.\n", in topo_register_apic() [all …]
|
/linux/tools/include/uapi/linux/ |
H A D | vhost.h |
|
/linux/Documentation/networking/device_drivers/ethernet/intel/ |
H A D | iavf.rst | 1 .. SPDX-License-Identifier: GPL-2.0+ 8 Copyright(c) 2013-2018 Intel Corporation. 13 - Overview 14 - Identifying Your Adapter 15 - Additional Configurations 16 - Known Issues/Troubleshooting 17 - Support 30 The guest OS loading the iavf driver must support MSI-X interrupts. 53 --------------------- 58 # dmesg -n 8 [all …]
|
/linux/Documentation/arch/powerpc/ |
H A D | kvm-nested.rst | 1 .. SPDX-License-Identifier: GPL-2.0 10 This document explains how a guest operating system can act as a 15 guest virtual machine that is directly run under L0 and is initiated 16 and controlled by L0. L2 is a guest virtual machine that is initiated 36 KVM: PPC: Book3S HV: Nested guest entry via hypercall 44 vCPU (except in the short sequence in the L0 on L1 -> L2 entry and L2 45 -> L1 exit). 74 - L1 and L0 negotiate capabilities with H_GUEST_{G,S}ET_CAPABILITIES() 77 - L1 requests the L0 create an L2 with H_GUEST_CREATE() and receives a token 79 - L1 requests the L0 create an L2 vCPU with H_GUEST_CREATE_VCPU() [all …]
|
/linux/arch/um/drivers/ |
H A D | virtio_uml.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * Virtio vhost-user driver 7 * This driver allows virtio devices to be used over a vhost-user socket. 9 * Guest devices can be instantiated by kernel module or command line 14 * <socket> := vhost-user socket path to connect 21 * Based on Virtio MMIO driver by Pawel Moll, copyright 2011-2014, ARM Ltd. 30 #include <linux/time-internal.h> 31 #include <linux/virtio-uml.h> 32 #include <shared/as-layout.h> 76 #define vu_err(vu_dev, ...) dev_err(&(vu_dev)->pdev->dev, ##__VA_ARGS__) [all …]
|
/linux/arch/mips/include/asm/ |
H A D | kvm_host.h | 29 /* MIPS KVM register ids */ 102 #define KVM_HVA_ERR_BAD (-1UL) 103 #define KVM_HVA_ERR_RO_BAD (-2UL) 176 /* Guest physical mm */ 247 #define RESUME_FLAG_DR (1<<0) /* Reload guest nonvolatile state? */ 260 EMULATE_EXCEPT, /* A guest exception has been generated */ 265 #define VPN2_MASK GENMASK(cpu_vmbits - 1, 13) 294 /* Host registers preserved across guest mode execution */ 300 /* Host CP0 registers used when handling exits from guest */ 353 /* wired guest TLB entries */ [all …]
|
/linux/tools/kvm/kvm_stat/ |
H A D | kvm_stat | 2 # SPDX-License-Identifier: GPL-2.0-only 4 # top-like utility for displaying kvm statistics 6 # Copyright 2006-2008 Qumranet Technologies 7 # Copyright 2008-2011 Red Hat, Inc. 15 - as a top-like text ui 16 - in a key -> value format 17 - in an all keys, all values format 493 Used to set up performance events, returns a file descriptor or -1 497 - syscall number 498 - struct perf_event_attr * [all …]
|
/linux/arch/loongarch/kvm/ |
H A D | vcpu.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2020-2023 Loongson Technology Corporation Limited 7 #include <linux/entry-kvm.h> 39 context = this_cpu_ptr(vcpu->kvm->arch.vmcs); in kvm_save_host_pmu() 40 context->perf_cntr[0] = read_csr_perfcntr0(); in kvm_save_host_pmu() 41 context->perf_cntr[1] = read_csr_perfcntr1(); in kvm_save_host_pmu() 42 context->perf_cntr[2] = read_csr_perfcntr2(); in kvm_save_host_pmu() 43 context->perf_cntr[3] = read_csr_perfcntr3(); in kvm_save_host_pmu() 44 context->perf_ctrl[0] = write_csr_perfctrl0(0); in kvm_save_host_pmu() 45 context->perf_ctrl[1] = write_csr_perfctrl1(0); in kvm_save_host_pmu() [all …]
|
/linux/include/linux/ |
H A D | remoteproc.h | 47 * struct resource_table - firmware resource table header 49 * @num: number of resource entries 75 u32 num; member 81 * struct fw_rsc_hdr - firmware resource entry header 95 * enum fw_resource_type - types of resource entries 99 * @RSC_DEVMEM: request to iommu_map a memory-based peripheral. 126 #define FW_RSC_ADDR_ANY (-1) 129 * struct fw_rsc_carveout - physically contiguous memory request 135 * @name: human-readable name of the requested memory region 181 * struct fw_rsc_devmem - iommu mapping request [all …]
|
/linux/arch/riscv/kvm/ |
H A D | aia_imsic.c | 1 // SPDX-License-Identifier: GPL-2.0 12 #include <linux/irqchip/riscv-imsic.h> 44 * 1) Hardware: IMSIC VS-file (vsfile_cpu >= 0) 45 * 2) Software: IMSIC SW-file (vsfile_cpu < 0) 48 /* IMSIC VS-file */ 55 /* IMSIC SW-file */ 243 imsic_mrif_atomic_rmw(__mrif, __ptr, __new_val, -1UL) 253 &mrif->eithreshold); in imsic_mrif_topei() 258 eix = &mrif->eix[ei]; in imsic_mrif_topei() 259 eipend[0] = imsic_mrif_atomic_read(mrif, &eix->eie[0]) & in imsic_mrif_topei() [all …]
|
/linux/tools/arch/x86/kcpuid/ |
H A D | cpuid.csv | 1 # SPDX-License-Identifier: CC0-1.0 2 # Generator: x86-cpuid-db v1.0 5 # Auto-generated file. 6 # Please submit all updates and bugfixes to https://x86-cpuid.org 16 0, 0, ebx, 31:0, cpu_vendorid_0 , CPU vendor ID string bytes 0 - 3 17 0, 0, ecx, 31:0, cpu_vendorid_2 , CPU vendor ID string bytes 8 - 11 18 0, 0, edx, 31:0, cpu_vendorid_1 , CPU vendor ID string bytes 4 - 7 35 1, 0, ecx, 2, dtes64 , 64-bit DS save area 49 1, 0, ecx, 17, pcid , Process-context identifiers 56 1, 0, ecx, 24, tsc_deadline_timer , APIC timer one-shot operation [all …]
|
/linux/arch/x86/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 4 bool "64-bit kernel" if "$(ARCH)" = "x86" 7 Say yes to build a 64-bit kernel - formerly known as x86_64 8 Say no to build a 32-bit kernel - formerly known as i386 13 # Options that are inherently 32-bit kernel only: 27 # Options that are inherently 64-bit kernel only: 55 # ported to 32-bit as well. ) 154 # Word-size accesses may read uninitialized data past the trailing \0 336 default "elf32-i386" if X86_32 337 default "elf64-x86-64" if X86_64 [all …]
|
/linux/drivers/net/xen-netback/ |
H A D | xenbus.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 28 struct xenvif_queue *queue = m->private; in xenvif_read_io_ring() 29 struct xen_netif_tx_back_ring *tx_ring = &queue->tx; in xenvif_read_io_ring() 30 struct xen_netif_rx_back_ring *rx_ring = &queue->rx; in xenvif_read_io_ring() 33 if (tx_ring->sring) { in xenvif_read_io_ring() 34 struct xen_netif_tx_sring *sring = tx_ring->sring; in xenvif_read_io_ring() 36 seq_printf(m, "Queue %d\nTX: nr_ents %u\n", queue->id, in xenvif_read_io_ring() 37 tx_ring->nr_ents); in xenvif_read_io_ring() 39 sring->req_prod, in xenvif_read_io_ring() 40 sring->req_prod - sring->rsp_prod, in xenvif_read_io_ring() [all …]
|
/linux/drivers/block/xen-blkback/ |
H A D | xenbus.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 9 #define pr_fmt(fmt) "xen-blkback: " fmt 18 /* On the XenBus the max length of 'ring-ref%u'. */ 40 return be->dev; in xen_blkbk_xenbus() 58 struct xenbus_device *dev = blkif->be->dev; in blkback_name() 60 devpath = xenbus_read(XBT_NIL, dev->nodename, "dev", NULL); in blkback_name() 70 snprintf(buf, TASK_COMM_LEN, "%d.%s", blkif->domid, devname); in blkback_name() 84 if (!blkif->rings || !blkif->rings[0].irq || !blkif->vbd.bdev_file) in xen_update_blkif_status() 88 if (blkif->be->dev->state == XenbusStateConnected) in xen_update_blkif_status() 92 connect(blkif->be); in xen_update_blkif_status() [all …]
|
/linux/Documentation/admin-guide/ |
H A D | kernel-parameters.txt | 16 force -- enable ACPI if default was off 17 on -- enable ACPI but allow fallback to DT [arm64,riscv64] 18 off -- disable ACPI if default was on 19 noirq -- do not use ACPI for IRQ routing 20 strict -- Be less tolerant of platforms that are not 22 rsdt -- prefer RSDT over (default) XSDT 23 copy_dsdt -- copy DSDT to memory 24 nocmcff -- Disable firmware first mode for corrected 28 nospcr -- disable console in ACPI SPCR table as 45 If set to vendor, prefer vendor-specific driver [all …]
|
/linux/drivers/iommu/arm/arm-smmu-v3/ |
H A D | arm-smmu-v3.c | 1 // SPDX-License-Identifier: GPL-2.0 19 #include <linux/io-pgtable.h> 27 #include <linux/pci-ats.h> 33 #include "arm-smmu-v3.h" 34 #include "../../dma-iommu.h" 39 "Disable MSI-based polling for CMD_SYNC completion."); 82 { ARM_SMMU_OPT_SKIP_PREFETCH, "hisilicon,broken-prefetch-cmd" }, 83 { ARM_SMMU_OPT_PAGE0_REGS_ONLY, "cavium,cn9900-broken-page1-regspace"}, 116 if (of_property_read_bool(smmu->dev->of_node, in parse_driver_options() 118 smmu->options |= arm_smmu_options[i].opt; in parse_driver_options() [all …]
|
/linux/drivers/iommu/intel/ |
H A D | iommu.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright © 2006-2014 Intel Corporation. 17 #include <linux/dma-direct.h> 21 #include <linux/pci-ats.h> 28 #include "../dma-iommu.h" 30 #include "../iommu-pages.h" 37 #define IS_GFX_DEVICE(pdev) ((pdev->class >> 16) == PCI_BASE_CLASS_DISPLAY) 38 #define IS_USB_DEVICE(pdev) ((pdev->class >> 8) == PCI_CLASS_SERIAL_USB) 39 #define IS_ISA_DEVICE(pdev) ((pdev->class >> 8) == PCI_CLASS_BRIDGE_ISA) 40 #define IS_AZALIA(pdev) ((pdev)->vendor == 0x8086 && (pdev)->device == 0x3a3e) [all …]
|
/linux/drivers/gpu/drm/imagination/ |
H A D | pvr_rogue_fwif_sf.h | 1 /* SPDX-License-Identifier: GPL-2.0-only OR MIT */ 47 * - --- ---- ---- ---- ---- ---- ---- ---- 48 * 0-11: id number 49 * 12-15: group id number 50 * 16-19: number of parameters 51 * 20-27: unused 52 * 28-30: active: identify SF packet, otherwise regular int32 55 * The following macro assigns those values to the enum generated SF ids list. 114 "UFO PR-Check: [0x%08.8x] is 0x%08.8x requires >= 0x%08.8x" }, 116 "UFO SPM PR-Checks for FWCtx 0x%08.8x" }, [all …]
|
/linux/drivers/gpu/drm/amd/amdgpu/ |
H A D | gfx_v10_0.c | 3681 struct amdgpu_device *adev = kiq_ring->adev; in gfx10_kiq_set_resources() 3685 shader_mc_addr = adev->gfx.cleaner_shader_gpu_addr >> 8; in gfx10_kiq_set_resources() 3701 uint64_t mqd_addr = amdgpu_bo_gpu_offset(ring->mqd_obj); in gfx10_kiq_map_queues() 3702 uint64_t wptr_addr = ring->wptr_gpu_addr; in gfx10_kiq_map_queues() 3705 switch (ring->funcs->type) { in gfx10_kiq_map_queues() 3724 PACKET3_MAP_QUEUES_QUEUE(ring->queue) | in gfx10_kiq_map_queues() 3725 PACKET3_MAP_QUEUES_PIPE(ring->pipe) | in gfx10_kiq_map_queues() 3726 PACKET3_MAP_QUEUES_ME((ring->me == 1 ? 0 : 1)) | in gfx10_kiq_map_queues() 3731 amdgpu_ring_write(kiq_ring, PACKET3_MAP_QUEUES_DOORBELL_OFFSET(ring->doorbell_index)); in gfx10_kiq_map_queues() 3743 uint32_t eng_sel = ring->funcs->type == AMDGPU_RING_TYPE_GFX ? 4 : 0; in gfx10_kiq_unmap_queues() [all …]
|