| /kernel/linux/linux-5.10/include/linux/ |
| D | tee_drv.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (c) 2015-2016, Linaro Limited 23 #define TEE_SHM_MAPPED BIT(0) /* Memory mapped by the kernel */ 24 #define TEE_SHM_DMA_BUF BIT(1) /* Memory with dma-buf handle */ 25 #define TEE_SHM_EXT_DMA_BUF BIT(2) /* Memory with dma-buf handle */ 26 #define TEE_SHM_REGISTER BIT(3) /* Memory registered in secure world */ 27 #define TEE_SHM_USER_MAPPED BIT(4) /* Memory mapped in user space */ 28 #define TEE_SHM_POOL BIT(5) /* Memory allocated from pool */ 29 #define TEE_SHM_KERNEL_MAPPED BIT(6) /* Memory mapped in kernel space */ 30 #define TEE_SHM_PRIV BIT(7) /* Memory private to TEE driver */ [all …]
|
| /kernel/linux/linux-6.6/include/linux/ |
| D | tee_drv.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (c) 2015-2022 Linaro Limited 23 #define TEE_SHM_DYNAMIC BIT(0) /* Dynamic shared memory registered */ 25 #define TEE_SHM_USER_MAPPED BIT(1) /* Memory mapped in user space */ 26 #define TEE_SHM_POOL BIT(2) /* Memory allocated from pool */ 27 #define TEE_SHM_PRIV BIT(3) /* Memory private to TEE driver */ 35 * struct tee_context - driver specific context on file pointer data 37 * @list_shm: List of shared memory object owned by this context 42 * shared memory release. 44 * wait for tee-supplicant daemon to be started if not present [all …]
|
| /kernel/linux/linux-6.6/Documentation/admin-guide/mm/ |
| D | numa_memory_policy.rst | 2 NUMA Memory Policy 5 What is NUMA Memory Policy? 8 In the Linux kernel, "memory policy" determines from which node the kernel will 9 allocate memory in a NUMA system or in an emulated NUMA system. Linux has 10 supported platforms with Non-Uniform Memory Access architectures since 2.4.?. 11 The current memory policy support was added to Linux 2.6 around May 2004. This 12 document attempts to describe the concepts and APIs of the 2.6 memory policy 15 Memory policies should not be confused with cpusets 16 (``Documentation/admin-guide/cgroup-v1/cpusets.rst``) 18 memory may be allocated by a set of processes. Memory policies are a [all …]
|
| D | nommu-mmap.rst | 2 No-MMU memory mapping support 5 The kernel has limited support for memory mapping under no-MMU conditions, such 6 as are used in uClinux environments. From the userspace point of view, memory 12 Memory mapping behaviour also involves the way fork(), vfork(), clone() and 16 The behaviour is similar between the MMU and no-MMU cases, but not identical; 21 In the MMU case: VM regions backed by arbitrary pages; copy-on-write 24 In the no-MMU case: VM regions backed by arbitrary contiguous runs of 30 shared across fork() or clone() without CLONE_VM in the MMU case. Since 31 the no-MMU case doesn't support these, behaviour is identical to 39 In the no-MMU case: [all …]
|
| /kernel/linux/linux-5.10/Documentation/admin-guide/mm/ |
| D | numa_memory_policy.rst | 4 NUMA Memory Policy 7 What is NUMA Memory Policy? 10 In the Linux kernel, "memory policy" determines from which node the kernel will 11 allocate memory in a NUMA system or in an emulated NUMA system. Linux has 12 supported platforms with Non-Uniform Memory Access architectures since 2.4.?. 13 The current memory policy support was added to Linux 2.6 around May 2004. This 14 document attempts to describe the concepts and APIs of the 2.6 memory policy 17 Memory policies should not be confused with cpusets 18 (``Documentation/admin-guide/cgroup-v1/cpusets.rst``) 20 memory may be allocated by a set of processes. Memory policies are a [all …]
|
| D | nommu-mmap.rst | 2 No-MMU memory mapping support 5 The kernel has limited support for memory mapping under no-MMU conditions, such 6 as are used in uClinux environments. From the userspace point of view, memory 12 Memory mapping behaviour also involves the way fork(), vfork(), clone() and 16 The behaviour is similar between the MMU and no-MMU cases, but not identical; 21 In the MMU case: VM regions backed by arbitrary pages; copy-on-write 24 In the no-MMU case: VM regions backed by arbitrary contiguous runs of 30 shared across fork() or clone() without CLONE_VM in the MMU case. Since 31 the no-MMU case doesn't support these, behaviour is identical to 39 In the no-MMU case: [all …]
|
| /kernel/linux/linux-6.6/drivers/tee/ |
| D | tee_shm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2015-2017, 2019-2021 Linaro Limited 33 return -EINVAL; in shm_get_kernel_pages() 46 if (shm->pages) { in release_registered_pages() 47 if (shm->flags & TEE_SHM_USER_MAPPED) in release_registered_pages() 48 unpin_user_pages(shm->pages, shm->num_pages); in release_registered_pages() 50 shm_put_kernel_pages(shm->pages, shm->num_pages); in release_registered_pages() 52 kfree(shm->pages); in release_registered_pages() 58 if (shm->flags & TEE_SHM_POOL) { in tee_shm_release() 59 teedev->pool->ops->free(teedev->pool, shm); in tee_shm_release() [all …]
|
| /kernel/linux/linux-5.10/include/uapi/linux/ |
| D | tee.h | 2 * Copyright (c) 2015-2016, Linaro Limited 45 /* Flags relating to shared memory */ 46 #define TEE_IOCTL_SHM_MAPPED 0x1 /* memory mapped in normal world */ 47 #define TEE_IOCTL_SHM_DMA_BUF 0x2 /* dma-buf handle on shared memory */ 53 #define TEE_GEN_CAP_REG_MEM (1 << 2)/* Supports registering shared memory */ 56 #define TEE_MEMREF_NULL (__u64)(-1) /* NULL MemRef Buffer */ 65 * OP-TEE specific capabilities 70 * struct tee_ioctl_version_data - TEE version 86 * TEE_IOC_VERSION - query version of TEE 95 * struct tee_ioctl_shm_alloc_data - Shared memory allocate argument [all …]
|
| /kernel/linux/linux-6.6/include/uapi/linux/ |
| D | tee.h | 2 * Copyright (c) 2015-2016, Linaro Limited 49 #define TEE_GEN_CAP_REG_MEM (1 << 2)/* Supports registering shared memory */ 52 #define TEE_MEMREF_NULL (__u64)(-1) /* NULL MemRef Buffer */ 61 * OP-TEE specific capabilities 66 * struct tee_ioctl_version_data - TEE version 82 * TEE_IOC_VERSION - query version of TEE 91 * struct tee_ioctl_shm_alloc_data - Shared memory allocate argument 92 * @size: [in/out] Size of shared memory to allocate 94 * @id: [out] Identifier of the shared memory 107 * TEE_IOC_SHM_ALLOC - allocate shared memory [all …]
|
| /kernel/linux/linux-5.10/drivers/tee/optee/ |
| D | optee_smc.h | 1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */ 3 * Copyright (c) 2015-2019, Linaro Limited 8 #include <linux/arm-smccc.h> 28 * Normal cached memory (write-back), shareable for SMP systems and not 36 * 32-bit registers. 44 * 65cb6b93-af0c-4617-8ed6-644a8d1140f8 75 * Used by non-secure world to figure out which Trusted OS is installed. 78 * Returns UUID in a0-4 in the same way as OPTEE_SMC_CALLS_UID 88 * Used by non-secure world to figure out which version of the Trusted OS 92 * Returns revision in a0-1 in the same way as OPTEE_SMC_CALLS_REVISION [all …]
|
| D | optee_msg.h | 1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */ 3 * Copyright (c) 2015-2019, Linaro Limited 12 * This file defines the OP-TEE message protocol (ABI) used to communicate 13 * with an instance of OP-TEE running in secure world. 19 * tee-supplicant. 23 * Part 1 - formatting of messages 48 * Pointer to a list of pages used to register user-defined SHM buffer. 51 * list of page addresses. OP-TEE core can reconstruct contiguous buffer from 63 * uint64_t pages_array[OPTEE_MSG_NONCONTIG_PAGE_SIZE/sizeof(uint64_t) - 1]; 76 * Memory attributes for caching passed with temp memrefs. The actual value [all …]
|
| /kernel/linux/linux-5.10/drivers/soc/qcom/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 15 the low-power state for resources related to the remoteproc 24 Command DB queries shared memory by key string for shared system 25 resources. Platform drivers that require to set state of a shared 26 resource on a RPM-hardened platform must use this database to get 27 SoC specific identifier and information for the shared resources. 43 be called qcom-cpr 82 tristate "Qualcomm On Chip Memory (OCMEM) driver" 86 The On Chip Memory (OCMEM) allocator allows various clients to 87 allocate memory from OCMEM based on performance, latency and power [all …]
|
| /kernel/linux/linux-6.6/Documentation/arch/x86/ |
| D | tdx.rst | 1 .. SPDX-License-Identifier: GPL-2.0 9 encrypting the guest memory. In TDX, a special module running in a special 13 Since the host cannot directly access guest registers or memory, much 19 TDX includes new hypercall-like mechanisms for communicating from the 25 TDX guests behave differently from bare-metal and traditional VMX guests. 26 In TDX guests, otherwise normal instructions or memory accesses can cause 32 Instruction-based #VE 33 --------------------- 35 - Port I/O (INS, OUTS, IN, OUT) 36 - HLT [all …]
|
| /kernel/linux/linux-5.10/drivers/tee/ |
| D | tee_shm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2015-2017, 2019-2021 Linaro Limited 18 if (shm->pages) { in release_registered_pages() 19 if (shm->flags & TEE_SHM_USER_MAPPED) { in release_registered_pages() 20 unpin_user_pages(shm->pages, shm->num_pages); in release_registered_pages() 24 for (n = 0; n < shm->num_pages; n++) in release_registered_pages() 25 put_page(shm->pages[n]); in release_registered_pages() 28 kfree(shm->pages); in release_registered_pages() 34 if (shm->flags & TEE_SHM_POOL) { in tee_shm_release() 37 if (shm->flags & TEE_SHM_DMA_BUF) in tee_shm_release() [all …]
|
| D | tee_shm_pool.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 #include <linux/dma-buf.h> 16 struct gen_pool *genpool = poolm->private_data; in pool_op_gen_alloc() 17 size_t s = roundup(size, 1 << genpool->min_alloc_order); in pool_op_gen_alloc() 21 return -ENOMEM; in pool_op_gen_alloc() 24 shm->kaddr = (void *)va; in pool_op_gen_alloc() 25 shm->paddr = gen_pool_virt_to_phys(genpool, va); in pool_op_gen_alloc() 26 shm->size = s; in pool_op_gen_alloc() 33 gen_pool_free(poolm->private_data, (unsigned long)shm->kaddr, in pool_op_gen_free() 34 shm->size); in pool_op_gen_free() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/reserved-memory/ |
| D | xen,shared-memory.txt | 1 * Xen hypervisor reserved-memory binding 3 Expose one or more memory regions as reserved-memory to the guest 5 to be a shared memory area across multiple virtual machines for 8 For each of these pre-shared memory regions, a range is exposed under 9 the /reserved-memory node as a child node. Each range sub-node is named 10 xen-shmem@<address> and has the following properties: 12 - compatible: 13 compatible = "xen,shared-memory-v1" 15 - reg: 16 the base guest physical address and size of the shared memory region [all …]
|
| D | shared-dma-pool.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/reserved-memory/shared-dma-pool.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: /reserved-memory DMA pool 10 - devicetree-spec@vger.kernel.org 13 - $ref: reserved-memory.yaml 18 - const: shared-dma-pool 20 This indicates a region of memory meant to be used as a shared 25 - const: restricted-dma-pool [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/reserved-memory/ |
| D | xen,shared-memory.txt | 1 * Xen hypervisor reserved-memory binding 3 Expose one or more memory regions as reserved-memory to the guest 5 to be a shared memory area across multiple virtual machines for 8 For each of these pre-shared memory regions, a range is exposed under 9 the /reserved-memory node as a child node. Each range sub-node is named 10 xen-shmem@<address> and has the following properties: 12 - compatible: 13 compatible = "xen,shared-memory-v1" 15 - reg: 16 the base guest physical address and size of the shared memory region [all …]
|
| /kernel/linux/linux-6.6/drivers/soc/qcom/ |
| D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 15 the low-power state for resources related to the remoteproc 24 Command DB queries shared memory by key string for shared system 25 resources. Platform drivers that require to set state of a shared 26 resource on a RPM-hardened platform must use this database to get 27 SoC specific identifier and information for the shared resources. 43 be called qcom-cpr 82 tristate "Qualcomm On Chip Memory (OCMEM) driver" 86 The On Chip Memory (OCMEM) allocator allows various clients to 87 allocate memory from OCMEM based on performance, latency and power [all …]
|
| /kernel/linux/linux-6.6/drivers/tee/optee/ |
| D | optee_smc.h | 1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */ 3 * Copyright (c) 2015-2021, Linaro Limited 8 #include <linux/arm-smccc.h> 28 * Normal cached memory (write-back), shareable for SMP systems and not 36 * 32-bit registers. 44 * 384fb3e0-e7f8-11e3-af63-0002a5d5c51b. 75 * Used by non-secure world to figure out which Trusted OS is installed. 78 * Returns UUID in a0-4 in the same way as OPTEE_SMC_CALLS_UID 88 * Used by non-secure world to figure out which version of the Trusted OS 92 * Returns revision in a0-1 in the same way as OPTEE_SMC_CALLS_REVISION [all …]
|
| D | optee_ffa.h | 1 /* SPDX-License-Identifier: BSD-2-Clause */ 3 * Copyright (c) 2019-2021, Linaro Limited 7 * This file is exported by OP-TEE and is kept in sync between secure world 8 * and normal world drivers. We're using ARM FF-A 1.0 specification. 23 * defined in FF-A specification: 27 * w3-w7: Implementation defined, free to be used below 38 * Returns the API version implemented, currently follows the FF-A version. 41 * w4-w7: Not used (MBZ) 46 * w5-w7: Not used (MBZ) 51 * Returns the revision of OP-TEE. [all …]
|
| /kernel/linux/linux-6.6/arch/arm64/boot/dts/ti/ |
| D | k3-j721e-som-p0.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2019-2020 Texas Instruments Incorporated - https://www.ti.com/ 8 /dts-v1/; 10 #include "k3-j721e.dtsi" 13 memory@80000000 { 14 device_type = "memory"; 20 reserved_memory: reserved-memory { 21 #address-cells = <2>; 22 #size-cells = <2>; 28 no-map; [all …]
|
| D | k3-j784s4-evm.dts | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2022 Texas Instruments Incorporated - https://www.ti.com/ 8 /dts-v1/; 10 #include <dt-bindings/net/ti-dp83867.h> 11 #include <dt-bindings/gpio/gpio.h> 12 #include "k3-j784s4.dtsi" 15 compatible = "ti,j784s4-evm", "ti,j784s4"; 19 stdout-path = "serial2:115200n8"; 32 memory@80000000 { 33 device_type = "memory"; [all …]
|
| /kernel/linux/common_modules/tzdriver/core/ |
| D | ffa_abi.h | 27 * defined in FF-A specification: 31 * w3-w7: Implementation defined, free to be used below 42 * Returns the API version implemented, currently follows the FF-A version. 45 * w4-w7: Not used (MBZ) 50 * w5-w7: Not used (MBZ) 57 * Used by non-secure world to figure out which version of the Trusted OS 63 * w4-w7: Unused (MBZ) 80 * w4-w7: Not used (MBZ) 88 * w5-w7: Not used (MBZ) 93 * Unregister shared memory [all …]
|
| /kernel/linux/linux-6.6/Documentation/virt/hyperv/ |
| D | overview.rst | 1 .. SPDX-License-Identifier: GPL-2.0 6 enlightened guest on Microsoft's Hyper-V hypervisor. Hyper-V 7 consists primarily of a bare-metal hypervisor plus a virtual machine 10 partitions. In this documentation, references to Hyper-V usually 15 Hyper-V runs on x86/x64 and arm64 architectures, and Linux guests 16 are supported on both. The functionality and behavior of Hyper-V is 19 Linux Guest Communication with Hyper-V 20 -------------------------------------- 21 Linux guests communicate with Hyper-V in four different ways: 24 some guest actions trap to Hyper-V. Hyper-V emulates the action and [all …]
|