| /linux/include/linux/ |
| H A D | tee_drv.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright (c) 2015-2024 Linaro Limited 12 #include <linux/device-id/tee_client.h> 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 [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 */ 53 #define TEE_MEMREF_NULL ((__u64)(-1)) /* NULL MemRef Buffer */ 54 #define TEE_OBJREF_NULL ((__u64)(-1)) /* NULL ObjRef Object */ 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 96 * @size: [in/out] Size of shared memory to allocate 98 * @id: [out] Identifier of the shared memory [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 7 #include <linux/dma-buf.h> 8 #include <linux/dma-mapping.h> 28 if (shm->pages) { in release_registered_pages() 29 if (shm->flags & TEE_SHM_USER_MAPPED) in release_registered_pages() 30 unpin_user_pages(shm->pages, shm->num_pages); in release_registered_pages() 32 kfree(shm->pages); in release_registered_pages() 40 if (shm->flags & TEE_SHM_DMA_MEM) { in tee_shm_release() 46 dma_free_pages(&teedev->dev, shm->size, dma_mem->page, in tee_shm_release() [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/tools/testing/selftests/kvm/x86/ |
| H A D | private_mem_conversions_test.c | 1 // SPDX-License-Identifier: GPL-2.0 29 /* Horrific macro so that the line info is captured accurately :-( */ 52 * Run memory conversion tests with explicit conversion: 54 * to back/unback private memory. Subsequent accesses by guest to the gpa range 57 * Test memory conversion scenarios with following steps: 58 * 1) Access private memory using private access and verify that memory contents 60 * 2) Convert memory t [all...] |
| /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/mm/ |
| H A D | hugepage-shm.c | |
| /linux/drivers/tee/optee/ |
| 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 …]
|
| H A D | smc_abi.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (c) 2015-2021, 2023 Linaro Limited 9 #include <linux/arm-smccc.h> 39 * OP-TEE OS via raw SMCs. 42 * 2. Low level support functions to register shared memory in secure world 43 * 3. Dynamic shared memory pool based on alloc_pages() 50 * A typical OP-TEE private shm allocation is 224 bytes (argument struct 53 * have a handful of these structs allocated at a time. Most memory will 90 p->attr = TEE_IOCTL_PARAM_ATTR_TYPE_MEMREF_INPUT + in from_msg_param_tmp_mem() 91 attr - OPTEE_MSG_ATTR_TYPE_TMEM_INPUT; in from_msg_param_tmp_mem() [all …]
|
| /linux/tools/testing/selftests/arm64/mte/ |
| 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 wil in check_child_file_mapping() [all...] |
| /linux/Documentation/core-api/ |
| H A D | dma-attributes.rst | 6 defined in linux/dma-mapping.h. 9 ---------------------- 19 ---------------------- 29 -------------------------- 33 such mapping is non-trivial task and consumes very limited resources 47 ---------------------- 71 ------------------------- 73 By default DMA-mapping subsystem is allowed to assemble the buffer 77 also in physical memory. 80 --------------------------- [all …]
|
| /linux/arch/arm/boot/dts/st/ |
| H A D | stm32mp157a-microgea-stm32mp1.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 3 * Copyright (c) STMicroelectronics 2019 - All Rights Reserved 9 compatible = "engicam,microgea-stm32mp1", "st,stm32mp157"; 11 memory@c0000000 { 12 device_type = "memory"; 16 reserved-memory { 17 #address-cells = <1>; 18 #size-cells = <1>; 22 compatible = "shared-dma-pool"; 24 no-map; [all …]
|
| H A D | stm32mp157a-icore-stm32mp1.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 3 * Copyright (c) STMicroelectronics 2019 - All Rights Reserved 9 compatible = "engicam,icore-stm32mp1", "st,stm32mp157"; 11 memory@c0000000 { 12 device_type = "memory"; 16 reserved-memory { 17 #address-cells = <1>; 18 #size-cells = <1>; 22 compatible = "shared-dma-pool"; 24 no-map; [all …]
|
| /linux/arch/arm/boot/dts/ti/omap/ |
| H A D | am572x-idk-common.dtsi | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright (C) 2017 Texas Instruments Incorporated - https://www.ti.com/ 6 #include <dt-bindings/gpio/gpio.h> 7 #include <dt-bindings/interrupt-controller/irq.h> 8 #include "am57xx-idk-common.dtsi" 9 #include "dra74-ipu-dsp-common.dtsi" 12 memory@0 { 13 device_type = "memory"; 17 reserved-memory { 18 #address-cells = <2>; [all …]
|
| H A D | dra72-evm.dts | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright (C) 2014-2016 Texas Instruments Incorporated - https://www.ti.com/ 5 #include "dra72-evm-common.dtsi" 6 #include "dra72x-mmc-iodelay.dtsi" 10 memory@0 { 11 device_type = "memory"; 15 reserved-memory { 16 #address-cells = <2>; 17 #size-cells = <2>; 20 ipu2_memory_region: ipu2-memory@95800000 { [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 need to locklessly access shared variables that are otherwise 30 recipes.txt, but is self-contained. 32 o You are familiar with Linux-kernel concurrency, and would [all …]
|
| /linux/tools/testing/selftests/powerpc/ptrace/ |
| H A D | ptrace-tm-spr.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 10 /* Tracee and tracer shared data */ 11 struct shared { struct 18 struct shared *cptr, *pptr; argument 26 FAIL_IF(regs->tm_tfhar != tfhar); in validate_tm_spr() 27 FAIL_IF((regs->tm_texasr == TM_KVM_SCHED) && (regs->tm_tfiar != 0)); in validate_tm_spr() 37 cptr = (struct shared *)shmat(shm_id, NULL, 0); in tm_spr() 46 "bl 4f;" /* $ = TFHAR - 12 */ in tm_spr() 75 : "memory", "r0", "r8", "r31" in tm_spr() 82 if (!cptr->flag) in tm_spr() [all …]
|
| /linux/Documentation/devicetree/bindings/mailbox/ |
| H A D | mailbox.txt | 9 - #mbox-cells: Must be at least 1. Number of cells in a mailbox 15 #mbox-cells = <1>; 22 - mboxes: List of phandle and mailbox channel specifiers. 25 - mbox-names: List of identifier strings for each mailbox channel. 26 - shmem : List of phandle pointing to the shared memory(SHM) area between the 27 users of these mailboxes for IPC, one for each mailbox. This shared 28 memory can be part of any memory reserved for the purpose of this 35 mbox-names = "pwr-ctrl", "rpc"; 39 Example with shared memory(shmem): 42 compatible = "mmio-sram"; [all …]
|
| /linux/drivers/net/ethernet/microsoft/mana/ |
| H A D | shm_channel.c | 1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause 17 #define SHMEM_VF_RESET_STATE ((u32)-1) 32 /* Shared memory channel protocol header 38 * direction: 0 for request, VF->PF; 1 for response, PF->VF. 88 return -ETIMEDOUT; in mana_smc_poll_register() 94 void __iomem *base = sc->base; in mana_smc_read_response() 111 dev_err(sc->dev, "Wrong SMC response 0x%x, type=%d, ver=%d\n", in mana_smc_read_response() 113 return -EPROTO; in mana_smc_read_response() 118 dev_err(sc->dev, "SMC operation failed: 0x%x\n", hdr.status); in mana_smc_read_response() 119 return -EPROTO; in mana_smc_read_response() [all …]
|
| /linux/Documentation/driver-api/ |
| H A D | ntb.rst | 5 NTB (Non-Transparent Bridge) is a type of PCI-Express bridge chip that connects 6 the separate memory systems of two or more computers to the same PCI-Express 8 registers and memory translation windows, as well as non common features like 9 scratchpad and message registers. Scratchpad registers are read-and-writable 15 Memory windows allow translated read and write access to the peer memory. 36 ---------------------------------------- 38 Primary purpose of NTB is to share some piece of memory between at least two 40 mainly used to perform the proper memory window initialization. Typically 41 there are two types of memory window interfaces supported by the NTB API: 48 Memory: Local NTB Port: Peer NTB Port: Peer MMIO: [all …]
|
| /linux/arch/powerpc/platforms/pseries/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 4 bool "IBM pSeries & new (POWER5-based) iSeries" 41 bool "Support for shared-processor logical partitions" 48 on logically-partitioned pSeries systems which use shared 81 to return information about hardware error and non-error events 111 bool "Support for shared-memory logical partitions" 115 Select this option to enable shared memory partition support. 117 memory than physically available and will allow firmware to 118 balance memory across many LPARs. 121 tristate "Collaborative memory management" [all …]
|
| /linux/tools/perf/pmu-events/arch/powerpc/power9/ |
| H A D | marked.json | 10 …eyond the core's L3 data cache. The source could be local/remote/distant memory or another core's … 20 …"BriefDescription": "A Page Table Entry was loaded into the TLB with Shared (S) data from another … 25 …"BriefDescription": "The processor's data cache was reloaded from another chip's memory on the sam… 30 …efDescription": "Completion stall by Dcache miss which resolved from remote chip (cache or memory)" 70 …"BriefDescription": "A Page Table Entry was loaded into the TLB with Shared (S) data from another … 100 …"BriefDescription": "A Page Table Entry was loaded into the TLB with Shared (S) data from another … 120 …"BriefDescription": "The processor's Instruction cache was reloaded from another chip's memory on … 130 …"BriefDescription": "The processor's data cache was reloaded from the local chip's Memory due to a… 180 …"BriefDescription": "The processor's data cache was reloaded with Shared (S) data from another cor… 210 …"BriefDescription": "A Page Table Entry was loaded into the TLB from the local chip's Memory due t… [all …]
|
| /linux/Documentation/arch/powerpc/ |
| H A D | ultravisor.rst | 1 .. SPDX-License-Identifier: GPL-2.0 16 (PVR=0x004e1203) or greater will be PEF-capable. A new ISA release 25 +------------------+ 29 +------------------+ 31 +------------------+ 33 +------------------+ 35 +------------------+ 75 +---+---+---+---------------+ 79 +---+---+---+---------------+ 81 +---+---+---+---------------+ [all …]
|