| /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 to shared using explicit conversions and ensure that 61 * userspace is able to access the shared regions. 62 * 3) Convert memory back to private using explicit conversions and ensure that 129 /* Memory should be shared by default. */ in guest_test_explicit_conversion() [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/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/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 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/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/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/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/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/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/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/tools/testing/selftests/futex/functional/ |
| H A D | futex_wait.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 71 /* Testing an anon page shared memory */ in TEST() 85 ksft_print_dbg_msg("Calling shared (page anon) futex_wait on futex: %p\n", futex); in TEST() 91 ksft_print_dbg_msg("Calling shared (page anon) futex_wake on futex: %p\n", futex); in TEST() 94 ksft_test_result_fail("futex_wake shared (page anon) returned: %d %s\n", in TEST() 97 ksft_test_result_pass("futex_wake shared (page anon) succeeds\n"); in TEST() 110 /* Testing a file backed shared memory */ in TEST() 126 ksft_print_dbg_msg("Calling shared (file backed) futex_wait on futex: %p\n", futex); in TEST() 132 ksft_print_dbg_msg("Calling shared (file backed) futex_wake on futex: %p\n", futex); in TEST() 135 ksft_test_result_fail("futex_wake shared (file backed) returned: %d %s\n", in TEST() [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/Documentation/devicetree/bindings/soc/qcom/ |
| H A D | qcom,smem.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Qualcomm Shared Memory Manager 10 - Andy Gross <agross@kernel.org> 11 - Bjorn Andersson <bjorn.andersson@linaro.org> 14 This binding describes the Qualcomm Shared Memory Manager, a region of 15 reserved-memory used to share data between various subsystems and OSes in 25 memory-region: 27 description: handle to memory reservation for main SMEM memory region. [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/x86/ |
| H A D | sva.rst | 1 .. SPDX-License-Identifier: GPL-2.0 4 Shared Virtual Addressing (SVA) with ENQCMD 10 Shared Virtual Addressing (SVA) allows the processor and device to use the 12 addresses to physical addresses. SVA is what PCIe calls Shared Virtual 13 Memory (SVM). 19 application page-faults. For more information please refer to the PCIe 31 Shared Hardware Workqueues 34 Unlike Single Root I/O Virtualization (SR-IOV), Scalable IOV (SIOV) permits 35 the use of Shared Work Queues (SWQ) by both applications and Virtual 40 ID (PASID), which is a 20-bit number defined by the PCIe SIG. [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 …]
|