/linux/drivers/crypto/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 4 bool "Hardware crypto devices" 7 Say Y here to get to see options for hardware crypto devices and 39 called padlock-aes. 53 called padlock-sha. 61 Say 'Y' here to use the AMD Geode LX processor on-board AES 65 will be called geode-aes. 79 tristate "Kernel API for protected key handling" 83 for creation and handling of protected keys. Other parts of the 86 The protected key support is distributed into: [all …]
|
/linux/arch/arm64/kvm/hyp/include/nvhe/ |
H A D | fixed_config.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 25 * The approach taken for protected VMs is to allow features that are: 26 * - Needed by common Linux distributions (e.g., floating point) 27 * - Trivial to support, e.g., supporting the feature does not introduce or 29 * - Cannot be trapped or prevent the guest from using anyway 33 * Allow for protected VMs: 34 * - Floating-point and Advanced SIMD 35 * - Data Independent Timing 36 * - Spectre/Meltdown Mitigation 47 * Restrict to the following *unsigned* features for protected VMs: [all …]
|
/linux/include/drm/ |
H A D | drm_panic.h | 1 /* SPDX-License-Identifier: GPL-2.0 or MIT */ 13 #include <linux/iosys-map.h> 19 * struct drm_scanout_buffer - DRM scanout buffer 37 * sent to the display hardware. Tearing is not an issue for the panic 70 * drm_panic_trylock - try to enter the panic printing critical section 80 * - Anything protected by drm_panic_lock() and drm_panic_unlock() pairs is safe 83 * - Furthermore the panic printing code only registers in drm_dev_unregister() 92 * - It is safe to deference the drm_plane.state pointer. 94 * - Anything in struct drm_plane_state or the driver's subclass thereof which 99 * - Anything set up by &drm_plane_helper_funcs.fb_prepare and cleaned up [all …]
|
H A D | drm_device.h | 26 * enum switch_power_state - power state of drm device 44 * struct drm_device - DRM device structure 53 /** @ref: Object ref-count */ 56 /** @dev: Device structure of bus-device */ 85 * per-device structure. 95 * hardware (and not character device node) struct device @dev. 122 * Protected by &master_mutex 127 * @driver_features: per-device driver features 130 * certain features on a per-device basis while still 144 /** @anon_inode: inode for private address-space */ [all …]
|
H A D | drm_mode_config.h | 42 * struct drm_mode_config_funcs - basic driver provided mode setting functions 44 * Some global (i.e. not per-CRTC, connector, etc) mode setting functions that 59 * ie. when (@mode_cmd->flags & DRM_MODE_FB_MODIFIERS) == 0. 70 * driver-specific information (like the internal native buffer object 115 * function must reject any modeset and state changes which the hardware 119 * - Checking that the modes, framebuffers, scaling and placement 120 * requirements and so on are within the limits of the hardware. 122 * - Checking that any hidden shared resources are not oversubscribed. 127 * - Checking that virtualized resources exported to userspace are not 130 * example is dual-pipe operations (which generally should be hidden [all …]
|
H A D | gpu_scheduler.h | 28 #include <linux/dma-fence.h> 36 * DRM_SCHED_FENCE_DONT_PIPELINE - Prevent dependency pipelining 45 * DRM_SCHED_FENCE_FLAG_HAS_DEADLINE_BIT - A fence deadline hint has been set 74 /* Used to choose between FIFO and RR job-scheduling */ 81 * struct drm_sched_entity - A wrapper around a job queue (typically 84 * Entities will emit jobs in order to their corresponding hardware 95 * Protected by &drm_sched_rq.lock of @rq. 102 * Lock protecting the run-queue (@rq) to which this entity belongs, 112 * FIXME: Locking is very unclear for this. Writers are protected by 147 * drm_sched_entity_set_priority(). Protected by @lock. [all …]
|
H A D | drm_file.h | 4 * Copyright (c) 2009-2010, Code Aurora Forum. 69 * struct drm_minor - DRM device minor structure 74 * &struct drm_device, which is also where driver-private data and resources can 89 * struct drm_pending_event - Event queued up for userspace to read 92 * mechanism, which supports kernel-internal &struct completion, &struct dma_fence 93 * and also the DRM-specific &struct drm_event delivery mechanism. 127 * Optional DMA fence to unblock other hardware transactions which 143 * Double-linked list to keep track of this event. Can be used by the 145 * this list entry is owned by the core for its own book-keeping. 160 * struct drm_file - DRM file private data [all …]
|
/linux/Documentation/virt/kvm/x86/ |
H A D | mmu.rst | 1 .. SPDX-License-Identifier: GPL-2.0 13 - correctness: 18 - security: 21 - performance: 23 - scaling: 25 - hardware: 26 support the full range of x86 virtualization hardware 27 - integration: 31 - dirty tracking: 33 and framebuffer-based displays [all …]
|
/linux/drivers/net/wireless/ath/ath10k/ |
H A D | core.h | 1 /* SPDX-License-Identifier: ISC */ 3 * Copyright (c) 2005-2011 Atheros Communications Inc. 4 * Copyright (c) 2011-2017 Qualcomm Atheros, Inc. 5 * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. 46 #define ATH10K_DEFAULT_NOISE_FLOOR -95 67 /* SMBIOS type structure length (excluding strings-set) */ 142 return (struct ath10k_skb_cb *)&IEEE80211_SKB_CB(skb)->driver_data; in ATH10K_SKB_CB() 147 BUILD_BUG_ON(sizeof(struct ath10k_skb_rxcb) > sizeof(skb->cb)); in ATH10K_SKB_RXCB() 148 return (struct ath10k_skb_rxcb *)skb->cb; in ATH10K_SKB_RXCB() 207 /* Protected by data_lock */ [all …]
|
/linux/drivers/gpu/drm/xe/ |
H A D | xe_gt_types.h | 1 /* SPDX-License-Identifier: MIT */ 3 * Copyright © 2022-2023 Intel Corporation 53 * The hardware has multiple kinds of multicast register ranges that need 61 * need to explicitly re-steer reads of registers of the other type. 63 * Only the replication types that may need additional non-default steering 76 * will always return a non-terminated value at instance (0, 0). We'll 83 * it's sufficient to keep the HW-default for the selector, or only 93 const struct xe_gt * : (const struct xe_tile *)((gt__)->tile), \ 94 struct xe_gt * : (gt__)->tile) 98 const struct xe_gt * : (const struct xe_device *)(gt_to_tile(gt__)->xe), \ [all …]
|
H A D | xe_exec_queue_types.h | 1 /* SPDX-License-Identifier: MIT */ 25 XE_EXEC_QUEUE_PRIORITY_UNSET = -2, /* For execlist usage only */ 35 * struct xe_exec_queue - Execution queue 47 * @hwe: A hardware of the same class. May (physical engine) or may not 70 * @last_fence: last fence on exec queue, protected by vm->lock in write 71 * mode if bind exec queue, protected by dma resv lock if non-bind exec 82 /* child of VM queue for multi-tile VM jobs */ 94 /** @multi_gt_list: list head for VM bind engines if multi-GT */ 96 /** @multi_gt_link: link for VM bind engines if multi-GT */ 109 /** @sched_props.timeslice_us: timeslice period in micro-seconds */ [all …]
|
/linux/Documentation/RCU/ |
H A D | rcu_dereference.rst | 17 (prefix "*"), field selection ("->"), assignment ("="), address-of 27 - You must use one of the rcu_dereference() family of primitives 28 to load an RCU-protected pointer, otherwise CONFIG_PROVE_RCU 29 will complain. Worse yet, your code can see random memory-corruption 45 - In the special case where data is added but is never removed 51 - You are only permitted to use rcu_dereference() on pointer values. 57 - Set bits and clear bits down in the must-be-zero low-order 62 - XOR bits to translate pointers, as is done in some 63 classic buddy-allocator algorithms. 68 - Avoid cancellation when using the "+" and "-" infix arithmetic [all …]
|
/linux/arch/x86/kvm/mmu/ |
H A D | spte.h | 1 // SPDX-License-Identifier: GPL-2.0-only 13 * in hardware. E.g. MMIO SPTEs are not considered present. Use bit 11, as it 22 * be restricted to using write-protection (for L2 when CPU dirty logging, i.e. 28 * is guaranteed to have A/D bits and write-protection is forced only for 29 * TDP with CPU dirty logging (PML). If NPT ever gains PML-like support, it 30 * must be restricted to 64-bit KVM. 40 #define SPTE_BASE_ADDR_MASK (physical_mask & ~(u64)(PAGE_SIZE-1)) 42 #define SPTE_BASE_ADDR_MASK (((1ULL << 52) - 1) & ~(u64)(PAGE_SIZE-1)) 64 * as not-present for access tracking purposes. We do not save the W bit as the 78 * SPTE is write-protected. See is_writable_pte() for details. [all …]
|
/linux/Documentation/dev-tools/ |
H A D | kfence.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 Kernel Electric-Fence (KFENCE) 7 Kernel Electric-Fence (KFENCE) is a low-overhead sampling-based memory safety 8 error detector. KFENCE detects heap out-of-bounds access, use-after-free, and 9 invalid-free errors. 15 non-production test workloads. One way to quickly achieve a large enough total 19 ----- 26 ``kfence.sample_interval`` to non-zero value), configure the kernel with:: 46 causes CPU wake-ups when the system is completely idle. This may be undesirable 47 on power-constrained systems. The boot parameter ``kfence.deferrable=1`` [all …]
|
/linux/tools/memory-model/Documentation/ |
H A D | README | 4 Linux-kernel memory model (LKMM) audience might be anywhere from novice 12 If LKMM-specific terms lost you, glossary.txt might help you. 14 o You are new to Linux-kernel concurrency: simple.txt 16 o You have some background in Linux-kernel concurrency, and would 17 like an overview of the types of low-level concurrency primitives 22 o You are familiar with the Linux-kernel concurrency primitives 24 tests: litmus-tests.txt 26 o You would like to access lock-protected shared variables without 29 o You are familiar with Linux-kernel concurrency, and would 34 and cannot do to control dependencies: control-dependencies.txt [all …]
|
/linux/Documentation/fb/ |
H A D | uvesafb.rst | 2 uvesafb - A Generic Driver for VBE2+ compliant video cards 6 --------------- 30 -------------------------- 36 - Lack of any type of acceleration. 37 - A strict and limited set of supported video modes. Often the native 42 ratio, which is what most BIOS-es are limited to. 43 - Adjusting the refresh rate is only possible with a VBE 3.0 compliant 44 Video BIOS. Note that many nVidia Video BIOS-es claim to be VBE 3.0 48 ---------------- 54 video=uvesafb:1024x768-32,mtrr:3,ywrap (compiled into the kernel) [all …]
|
/linux/Documentation/admin-guide/mm/ |
H A D | userfaultfd.rst | 8 Userfaults allow the implementation of on-demand paging from userland 38 Vmas are not suitable for page- (or hugepage) granular fault tracking 48 is a corner case that would currently return ``-EBUSY``). 54 ---------------------- 63 - Any user can always create a userfaultfd which traps userspace page faults 67 - In order to also trap kernel page faults for the address space, either the 84 -------------------------- 101 - The ``UFFD_FEATURE_EVENT_*`` flags indicate that various other events 103 detail below in the `Non-cooperative userfaultfd`_ section. 105 - ``UFFD_FEATURE_MISSING_HUGETLBFS`` and ``UFFD_FEATURE_MISSING_SHMEM`` [all …]
|
/linux/drivers/net/ethernet/aquantia/atlantic/macsec/ |
H A D | macsec_struct.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 21 /*! The match mask is per-nibble. 0 means don't care, i.e. every value 122 /*! Mask is per-byte. 137 * For explicit SECTAG, AN is hardware controlled. For sending 142 /*! Mask is per-byte. 148 * PN number is hardware controlled. 151 /*! Mask is per-byte. 156 /*! Mask is per-byte. 171 /*! Mask is per-byte. 176 /*! Mask is per-byte. [all …]
|
/linux/drivers/gpu/drm/vmwgfx/ |
H A D | vmwgfx_so.c | 1 // SPDX-License-Identifier: GPL-2.0 OR MIT 3 * Copyright 2014-2015 VMware, Inc., Palo Alto, CA., USA 19 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 35 * destroy a hardware surface, all views pointing to it must also be destroyed, 44 * struct vmw_view - view metadata 48 * @ctx: Non-refcounted pointer to the context this view belongs to. 51 * @srf_head: List head for the surface-to-view list. 52 * @cotable_head: List head for the cotable-to_view list. 54 * @view_id: User-space per context view id. Currently used also as per 68 struct list_head srf_head; /* Protected by binding_mutex */ [all …]
|
H A D | vmwgfx_cmdbuf.c | 1 // SPDX-License-Identifier: GPL-2.0 OR MIT 4 * Copyright 2015-2023 VMware, Inc., Palo Alto, CA., USA 20 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 42 (1024 - ALIGN(sizeof(SVGACBHeader), VMW_CMDBUF_INLINE_ALIGN)) 45 * struct vmw_cmdbuf_context - Command buffer context queues 48 * manager but not yet submitted to hardware. 49 * @hw_submitted: List of command buffers submitted to hardware. 51 * @num_hw_submitted: Number of buffers currently being processed by hardware 63 * struct vmw_cmdbuf_man - Command buffer manager 76 * data is protected by @lock. [all …]
|
/linux/arch/x86/kernel/ |
H A D | umip.c | 2 * umip.c Emulation for instruction protected by the User-Mode Instruction 6 * Ricardo Neri <ricardo.neri-calderon@linux.intel.com> 13 #include <asm/insn-eval.h> 19 /** DOC: Emulation for User-Mode Instruction Prevention (UMIP) 21 * User-Mode Instruction Prevention is a security feature present in recent 27 * the UMIP-protected instructions (in the form of a SIGSEGV signal), it can be 38 * The instructions protected by UMIP can be split in two groups. Those which 44 * not the actual location of the table. The result is emulated as a hard-coded 52 * - SLDT returns (GDT_ENTRY_LDT * 8) if an LDT has been set, 0 if not. 53 * - STR returns (GDT_ENTRY_TSS * 8). [all …]
|
/linux/Documentation/admin-guide/hw-vuln/ |
H A D | spectre.rst | 1 .. SPDX-License-Identifier: GPL-2.0 14 ------------------- 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 30 - Apple CPUs 32 - Higher end MIPS CPUs 34 - Likely most other high performance CPUs. Contact your CPU vendor for details. 40 ------------ [all …]
|
/linux/arch/m68k/mm/ |
H A D | hwtest.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Tests for presence or absence of hardware registers. 8 * The test is for use when trying to read a hardware register 12 * There is a test-by-reading and a test-by-writing; I present 15 * -- PMM <pmaydell@chiark.greenend.org.uk>, 05/1998 19 * hardware register address. It is called very early in the kernel 60 /* Basically the same, but writes a value into a word register, protected
|
/linux/Documentation/ABI/stable/ |
H A D | sysfs-devices-system-cpu | 2 Date: 13-May-2014 9 all per-CPU defaults at the same time. 12 What: /sys/devices/system/cpu/cpu[0-9]+/dscr 13 Date: 13-May-2014 34 Description: the CPU die ID of cpuX. Typically it is the hardware platform's 40 Description: the CPU core ID of cpuX. Typically it is the hardware platform's 46 Description: the cluster ID of cpuX. Typically it is the hardware platform's 52 Description: the book ID of cpuX. Typically it is the hardware platform's 58 Description: the drawer ID of cpuX. Typically it is the hardware platform's 69 Description: human-readable list of CPUs within the same core. [all …]
|
/linux/include/linux/ |
H A D | blk-crypto-profile.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 10 #include <linux/blk-crypto.h> 15 * struct blk_crypto_ll_ops - functions to control inline encryption hardware 17 * Low-level operations for controlling inline encryption hardware. This 19 * encryption. All functions may sleep, are serialized by profile->lock, and 20 * are never called while profile->dev (if set) is runtime-suspended. 25 * @keyslot_program: Program a key into the inline encryption hardware. 28 * hardware, overwriting any key that the keyslot may already contain. 29 * The keyslot is guaranteed to not be in-use by any I/O. 32 * device is a layered device, or if the device is real hardware that [all …]
|