/linux/include/linux/ |
H A D | tee_drv.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (c) 2015-2024 Linaro Limited 24 * struct tee_context - driver specific context on file pointer data 30 * shared memory release. 32 * wait for tee-supplicant daemon to be started if not present 35 * non-blocking in nature. 36 * @cap_memref_null: flag indicating if the TEE Client support shared 37 * memory buffer with a NULL pointer. 49 * struct tee_shm - shared memory object 51 * @paddr: physical address of the shared memory [all …]
|
H A D | tee_core.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 24 #define TEE_SHM_DYNAMIC BIT(0) /* Dynamic shared memory registered */ 26 #define TEE_SHM_USER_MAPPED BIT(1) /* Memory mapped in user space */ 27 #define TEE_SHM_POOL BIT(2) /* Memory allocated from pool */ 28 #define TEE_SHM_PRIV BIT(3) /* Memory private to TEE driver */ 34 * struct tee_device - TEE Device representation 44 * @idr: register of user space shared memory objects allocated or 46 * @pool: shared memory pool 66 * struct tee_driver_ops - driver operations vtable 77 * @shm_register: register shared memory buffer in TEE [all …]
|
/linux/Documentation/admin-guide/mm/ |
H A 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 …]
|
H A 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 …]
|
/linux/drivers/tee/ |
H A D | tee_shm.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2015-2017, 2019-2021 Linaro Limited 36 if (shm->pages) { in release_registered_pages() 37 if (shm->flags & TEE_SHM_USER_MAPPED) in release_registered_pages() 38 unpin_user_pages(shm->pages, shm->num_pages); in release_registered_pages() 40 shm_put_kernel_pages(shm->pages, shm->num_pages); in release_registered_pages() 42 kfree(shm->pages); in release_registered_pages() 48 if (shm->flags & TEE_SHM_POOL) { in tee_shm_release() 49 teedev->pool->ops->free(teedev->pool, shm); in tee_shm_release() 50 } else if (shm->flags & TEE_SHM_DYNAMIC) { in tee_shm_release() [all …]
|
/linux/include/uapi/linux/ |
H A 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 */ 62 * OP-TEE specific capabilities 67 * struct tee_ioctl_version_data - TEE version 83 * TEE_IOC_VERSION - query version of TEE 92 * struct tee_ioctl_shm_alloc_data - Shared memory allocate argument 93 * @size: [in/out] Size of shared memory to allocate 95 * @id: [out] Identifier of the shared memory 108 * TEE_IOC_SHM_ALLOC - allocate shared memory [all …]
|
H A D | um_timetravel.h | 1 /* SPDX-License-Identifier: BSD-3-Clause */ 3 * Copyright (C) 2019 - 2023 Intel Corporation 10 * struct um_timetravel_msg - UM time travel message 14 * This is the message passed between the host (user-mode Linux instance) 30 * @seq: sequence number for the message - shall be reflected in 46 * enum um_timetravel_shared_mem_fds - fds sent in ACK message for START message 50 * @UM_TIMETRAVEL_SHARED_MEMFD: Index of the shared memory file 63 * enum um_timetravel_start_ack - ack-time mask for start message 73 * enum um_timetravel_ops - Operation codes 79 * unless otherwise specified below, note: while using shared [all …]
|
/linux/drivers/tee/optee/ |
H A 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 …]
|
H A D | optee_ffa.h | 1 /* SPDX-License-Identifier: BSD-2-Clause */ 3 * Copyright (c) 2019-2021, 2023 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 …]
|
H A D | optee_msg.h | 1 /* SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) */ 3 * Copyright (c) 2015-2021, 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. 21 * Part 1 - formatting of messages 49 * Pointer to a list of pages used to register user-defined SHM buffer. 52 * list of page addresses. OP-TEE core can reconstruct contiguous buffer from 64 * uint64_t pages_array[OPTEE_MSG_NONCONTIG_PAGE_SIZE/sizeof(uint64_t) - 1]; 77 * Memory attributes for caching passed with temp memrefs. The actual value 80 * defined for the memory range should be used. If optee_smc.h is used as [all …]
|
H A D | optee_rpc_cmd.h | 1 /* SPDX-License-Identifier: BSD-2-Clause */ 3 * Copyright (c) 2016-2021, Linaro Limited 14 * RPC communication with tee-supplicant is reversed compared to normal 23 * 1970-01-01 00:00:00 +0000 (UTC). 39 * which instead is sent via a non-secure interrupt. 62 * Allocate a piece of shared memory 64 * [in] value[0].a Type of memory one of 71 /* Memory that can be shared with a non-secure user space application */ 73 /* Memory only shared with non-secure kernel */ 77 * Free shared memory previously allocated with OPTEE_RPC_CMD_SHM_ALLOC [all …]
|
/linux/arch/arm64/boot/dts/ti/ |
H A D | k3-am68-sk-som.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 3 * Copyright (C) 2023-2024 Texas Instruments Incorporated - https://www.ti.com/ 6 /dts-v1/; 8 #include "k3-j721s2.dtsi" 9 #include <dt-bindings/gpio/gpio.h> 12 memory@80000000 { 13 device_type = "memory"; 14 bootph-all; 20 reserved_memory: reserved-memory { 21 #address-cells = <2>; [all …]
|
H A D | k3-j721e-som-p0.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 3 * Copyright (C) 2019-2024 Texas Instruments Incorporated - https://www.ti.com/ 8 /dts-v1/; 10 #include "k3-j721e.dtsi" 13 memory@80000000 { 14 device_type = "memory"; 15 bootph-all; 21 reserved_memory: reserved-memory { 22 #address-cells = <2>; 23 #size-cells = <2>; [all …]
|
H A D | k3-j721s2-som-p0.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 5 * Copyright (C) 2021-2024 Texas Instruments Incorporated - https://www.ti.com/ 8 /dts-v1/; 10 #include "k3-j721s2.dtsi" 11 #include <dt-bindings/gpio/gpio.h> 14 memory@80000000 { 15 device_type = "memory"; 16 bootph-all; 22 /* Reserving memory regions still pending */ 23 reserved_memory: reserved-memory { [all …]
|
H A D | k3-am642-tqma64xxl.dtsi | 1 // SPDX-License-Identifier: GPL-2.0-only OR MIT 3 * Copyright (C) 2021 Texas Instruments Incorporated - https://www.ti.com/ 4 * Copyright (c) 2022-2024 TQ-Systems GmbH <linux@ew.tq-group.com>, D-82229 Seefeld, Germany. 7 #include "k3-am642.dtsi" 16 memory@80000000 { 17 device_type = "memory"; 18 /* 1G RAM - default variant */ 23 reserved-memory { 24 #address-cells = <2>; 25 #size-cells = <2>; [all …]
|
/linux/Documentation/devicetree/bindings/reserved-memory/ |
H A 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 …]
|
H A D | qcom,cmd-db.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/reserved-memory/qcom,cmd-db.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 12 is stored in a shared memory region and is loaded by the remote processor. 15 controlling shared resources. Depending on the board configuration the shared 17 remote processor and made available in the shared memory. 20 - Bjorn Andersson <bjorn.andersson@linaro.org> 23 - $ref: reserved-memory.yaml 27 const: qcom,cmd-db [all …]
|
/linux/Documentation/arch/x86/ |
H A D | tdx.rst | 1 .. SPDX-License-Identifier: GPL-2.0 9 encrypting the guest memory. In TDX, a special module running in a special 18 CPU-attested software module called 'the TDX module' runs inside the new 22 TDX also leverages Intel Multi-Key Total Memory Encryption (MKTME) to 23 provide crypto-protection to the VMs. TDX reserves part of MKTME KeyIDs 32 TDX boot-time detection 33 ----------------------- 41 --------------------------------------- 54 use it as 'metadata' for the TDX memory. It also takes additional CPU 59 Besides initializing the TDX module, a per-cpu initialization SEAMCALL [all …]
|
/linux/tools/testing/selftests/kvm/x86_64/ |
H A D | private_mem_conversions_test.c |
|
/linux/Documentation/userspace-api/ |
H A D | unshare.rst | 10 ---------- 14 -------- 26 ----------- 37 outside the confinement of all-or-nothing shared resources of legacy 44 shared at the time of their creation. unshare() was conceptualized by 45 Al Viro in the August of 2000, on the Linux-Kernel mailing list, as part 48 shared resources without creating a new process. unshare() is a natural 53 ----------- 57 resources is not possible. Since namespaces are shared by default 59 even non-threaded applications if they have a need to disassociate [all …]
|
/linux/drivers/net/ipa/ |
H A D | ipa_qmi_msg.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 4 * Copyright (C) 2018-2024 Linaro Ltd. 18 #define IPA_QMI_INDICATION_REGISTER 0x20 /* modem -> AP request */ 19 #define IPA_QMI_INIT_DRIVER 0x21 /* AP -> modem request */ 20 #define IPA_QMI_INIT_COMPLETE 0x22 /* AP -> modem indication */ 21 #define IPA_QMI_DRIVER_INIT_COMPLETE 0x35 /* modem -> AP request */ 28 #define IPA_QMI_INDICATION_REGISTER_REQ_SZ 20 /* -> server handle */ 29 #define IPA_QMI_INDICATION_REGISTER_RSP_SZ 7 /* <- server handle */ 30 #define IPA_QMI_INIT_DRIVER_REQ_SZ 162 /* client handle -> */ 31 #define IPA_QMI_INIT_DRIVER_RSP_SZ 25 /* client handle <- */ [all …]
|
/linux/tools/testing/selftests/arm64/mte/ |
H A D | check_mmap_options.c | 1 // SPDX-License-Identifier: GPL-2.0 29 1, 537, 989, 1269, MT_GRANULE_SIZE - 1, MT_GRANULE_SIZE, 30 /* page size - 1*/ 0, /* page_size */ 0, /* page size + 1 */ 0 41 mte_initialize_current_context(mode, (uintptr_t)ptr, -UNDERFLOW); in check_mte_memory() 42 memset(ptr - UNDERFLOW, '2', UNDERFLOW); in check_mte_memory() 75 /* Only mte enabled memory will allow tag insertion */ in check_anonymous_memory_mapping() 78 ksft_print_msg("FAIL: Insert tags on anonymous mmap memory\n"); in check_anonymous_memory_mapping() 101 if (fd == -1) in check_file_memory_mapping() 112 /* Only mte enabled memory will allow tag insertion */ in check_file_memory_mapping() 115 ksft_print_msg("FAIL: Insert tags on file based memory\n"); in check_file_memory_mapping() [all …]
|
H A D | check_child_memory.c | 1 // SPDX-License-Identifier: GPL-2.0 25 1, 537, 989, 1269, MT_GRANULE_SIZE - 1, MT_GRANULE_SIZE, 26 /* page size - 1*/ 0, /* page_size */ 0, /* page size + 1 */ 0 38 if (child == -1) { in check_child_tag_inheritance() 58 mte_initialize_current_context(mode, (uintptr_t)ptr, -UNDERFLOW); in check_child_tag_inheritance() 59 memset(ptr - UNDERFLOW, '2', UNDERFLOW); in check_child_tag_inheritance() 115 if (fd == -1) in check_child_file_mapping() 126 /* Only mte enabled memory will allow tag insertion */ in check_child_file_mapping() 129 ksft_print_msg("FAIL: Insert tags on file based memory\n"); in check_child_file_mapping() 154 sizes[item - 3] = page_size - 1; in main() [all …]
|
/linux/Documentation/devicetree/bindings/sound/ |
H A D | google,cros-ec-codec.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only 3 --- 4 $id: http://devicetree.org/schemas/sound/google,cros-ec-codec.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Cheng-Yi Chiang <cychiang@chromium.org> 11 - Tzung-Bi Shih <tzungbi@kernel.org> 15 Embedded Controller (EC) and is controlled via a host-command 17 subnode of a cros-ec node. 18 (see Documentation/devicetree/bindings/mfd/google,cros-ec.yaml). 21 - $ref: dai-common.yaml# [all …]
|
/linux/tools/testing/selftests/mm/ |
H A D | hugepage-shm.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * hugepage-shm: 5 * Example of using huge page memory in a user application using Sys V shared 6 * memory system calls. In this example the app is requesting 256MB of 7 * memory that is backed by huge pages. The application uses the flag 11 * Note: The default shared memory limit is quite low on many kernels, 16 * This will increase the maximum size per shared memory segment to 256MB. 18 * total amount of shared memory in pages. To set it to 16GB on a system 49 if (shmaddr == (char *)-1) { in main() 50 perror("Shared memory attach failure"); in main()
|