Home
last modified time | relevance | path

Searched +full:iommu +full:- +full:secure +full:- +full:id (Results 1 – 25 of 62) sorted by relevance

123

/openbmc/linux/Documentation/devicetree/bindings/iommu/
H A Dqcom,iommu.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/iommu/qcom,iommu.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm Technologies legacy IOMMU implementations
10 - Konrad Dybcio <konrad.dybcio@linaro.org>
13 Qualcomm "B" family devices which are not compatible with arm-smmu have
14 a similar looking IOMMU, but without access to the global register space
16 to non-secure vs secure interrupt line.
21 - items:
[all …]
H A Dmsm,iommu-v0.txt1 * QCOM IOMMU
3 The MSM IOMMU is an implementation compatible with the ARM VMSA short
5 of the CPU, each connected to the IOMMU through a port called micro-TLB.
9 - compatible: Must contain "qcom,apq8064-iommu".
10 - reg: Base address and size of the IOMMU registers.
11 - interrupts: Specifiers for the MMU fault interrupts. For instances that
12 support secure mode two interrupts must be specified, for non-secure and
13 secure mode, in that order. For instances that don't support secure mode a
15 - #iommu-cells: The number of cells needed to specify the stream id. This
17 - qcom,ncb: The total number of context banks in the IOMMU.
[all …]
H A Darm,smmu.yaml1 # SPDX-License-Identifier: GPL-2.0-only
3 ---
4 $id: http://devicetree.org/schemas/iommu/arm,smmu.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
10 - Will Deacon <will@kernel.org>
11 - Robin Murphy <Robin.Murphy@arm.com>
23 pattern: "^iommu@[0-9a-f]*"
26 - description: Qcom SoCs implementing "arm,smmu-v2"
28 - enum:
29 - qcom,msm8996-smmu-v2
[all …]
H A Drenesas,ipmmu-vmsa.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/iommu/renesas,ipmmu-vmsa.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Renesas VMSA-Compatible IOMMU
10 - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
13 The IPMMU is an IOMMU implementation compatible with the ARM VMSA page tables.
15 connected to the IPMMU through a port called micro-TLB.
20 - items:
21 - enum:
[all …]
/openbmc/qemu/docs/devel/
H A Dvfio-iommufd.rst9 for assigned devices. While the legacy kernel interface is group-centric,
10 the new iommufd interface is device-centric, relying on device fd and iommufd.
19 secure context and dma management interface. The below diagram shows how it
25 +-------+ +----------+ +-----+ +-----+
27 +---+---+ +----+-----+ +--+--+ +--+--+ +----------------------+
29 | | | | +------------+---------+
30 +---V-----------V-----------V--------V----+ /
31 | VFIOAddressSpace | <------------+
34 +-------+----------------------------+----+
37 +-------V------+ +--------V----------+
[all …]
/openbmc/linux/drivers/iommu/arm/arm-smmu/
H A Dqcom_iommu.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * IOMMU API for QCOM secure IOMMUs. Somewhat based on arm-smmu.c
13 #include <linux/dma-mapping.h>
17 #include <linux/io-64-nonatomic-hi-lo.h>
18 #include <linux/io-pgtable.h>
19 #include <linux/iommu.h>
33 #include "arm-smmu.h"
47 /* IOMMU core code handle */
48 struct iommu_device iommu; member
69 struct mutex init_mutex; /* Protects iommu pointer */
[all …]
/openbmc/qemu/hw/misc/
H A Dtz-mpc.c21 #include "hw/misc/tz-mpc.h"
22 #include "hw/qdev-properties.h"
24 /* Our IOMMU has two IOMMU indexes, one for secure transactions and one for
25 * non-secure transactions.
76 qemu_set_irq(s->irq, s->int_stat && s->int_en); in tz_mpc_irq_update()
83 * must call the IOMMU notifiers for the changed blocks. in tz_mpc_iommu_notify()
87 .addr_mask = s->blocksize - 1, in tz_mpc_iommu_notify()
90 hwaddr addr = lutidx * s->blocksize * 32; in tz_mpc_iommu_notify()
93 for (i = 0; i < 32; i++, addr += s->blocksize) { in tz_mpc_iommu_notify()
110 memory_region_notify_iommu(&s->upstream, IOMMU_IDX_S, event); in tz_mpc_iommu_notify()
[all …]
H A Dtrace-events3 # allwinner-cpucfg.c
4 allwinner_cpucfg_cpu_reset(uint8_t cpu_id, uint32_t reset_addr) "id %u, reset_addr 0x%" PRIx32
8 # allwinner-h3-dramc.c
18 # allwinner-r40-dramc.c
32 # allwinner-sid.c
36 # allwinner-sramc.c
108 # mps2-scc.c
115 # mps2-fpgaio.c
120 # msf2-sysreg.c
121 msf2_sysreg_write(uint64_t offset, uint32_t val, uint32_t prev) "msf2-sysreg write: addr 0x%08" PRI…
[all …]
/openbmc/linux/Documentation/admin-guide/
H A Dthunderbolt.rst1 .. SPDX-License-Identifier: GPL-2.0
22 is expected to be accompanied with an IOMMU based DMA protection.
25 -----------------------------------
27 should be a userspace tool that handles all the low-level details, keeps
31 found in ``Documentation/ABI/testing/sysfs-bus-thunderbolt``.
35 ``/etc/udev/rules.d/99-local.rules``::
47 knowing about it. There are ways to prevent this by setting up an IOMMU but
64 In BIOS settings this is typically called *Unique ID*.
66 secure
68 addition to UUID the device (if it supports secure connect) is sent
[all …]
/openbmc/qemu/docs/system/s390x/
H A Dprotvirt.rst12 -------------
26 -----------------------------------
32 -object s390-pv-guest,id=pv0 \
33 -machine confidential-guest-support=pv0
38 * Enable the IOMMU by default for all I/O devices
48 ------------
50 A secure guest image can either be loaded from disk or supplied on the
52 s390-ccw BIOS. I.e., the bootmap is interpreted, multiple components
56 the OS kernel. The secure image has another component prepended
58 transition into secure mode.
[all …]
H A Dvfio-ap.rst7 ------------
19 -------------------------
47 example, to set a secure private key for the domain.
51 An AP queue is the means by which an AP command-request message is sent to an
53 comprised of an AP adapter ID (APID) and an AP queue index (APQI). The
57 which the AP command-request message is to be sent for processing.
63 * NQAP: to enqueue an AP command-request message to a queue
64 * DQAP: to dequeue an AP command-reply message from a queue
73 ----------------------------------------------
84 an APID from 0-255. If a bit is set, the corresponding adapter is valid for
[all …]
/openbmc/linux/Documentation/driver-api/
H A Dvfio.rst2 VFIO - "Virtual Function I/O" [1]_
7 allotted. This includes x86 hardware with AMD-Vi and Intel VT-d,
9 systems such as Freescale PAMU. The VFIO driver is an IOMMU/device
11 a secure, IOMMU protected environment. In other words, this allows
12 safe [2]_, non-privileged, userspace drivers.
19 bare-metal device drivers [3]_.
22 field, also benefit from low-overhead, direct device access from
23 userspace. Examples include network adapters (often non-TCP/IP based)
27 which has no notion of IOMMU protection, limited interrupt support,
33 secure, more featureful userspace driver environment than UIO.
[all …]
H A Dvfio-mediated-device.rst1 .. SPDX-License-Identifier: GPL-2.0-only
17 The number of use cases for virtualizing DMA devices that do not have built-in
25 an IOMMU/device-agnostic framework for exposing direct device access to user
26 space in a secure, IOMMU-protected environment. This framework is used for
37 * Add a mediated device to and remove it from an IOMMU group
44 The following high-level block diagram shows the main components and interfaces
48 +---------------+
50 | +-----------+ | mdev_register_driver() +--------------+
51 | | | +<------------------------+ |
53 | | bus | +------------------------>+ vfio_mdev.ko |<-> VFIO user
[all …]
/openbmc/qemu/hw/arm/
H A Dvirt.c2 * ARM mach-virt emulation
23 * + we want to present a very stripped-down minimalist platform,
41 #include "hw/vfio/vfio-calxeda-xgmac.h"
42 #include "hw/vfio/vfio-amd-xgbe.h"
56 #include "qemu/error-report.h"
58 #include "hw/pci-host/gpex.h"
59 #include "hw/virtio/virtio-pci.h"
60 #include "hw/core/sysbus-fdt.h"
61 #include "hw/platform-bus.h"
62 #include "hw/qdev-properties.h"
[all …]
H A Dvirt-acpi-build.c5 * Copyright (C) 2008-2010 Kevin O'Connor <kevin@koconnor.net>
32 #include "qemu/error-report.h"
35 #include "hw/acpi/acpi-defs.h"
38 #include "hw/acpi/bios-linker-loader.h"
39 #include "hw/acpi/aml-build.h"
49 #include "hw/pci-host/gpex.h"
53 #include "hw/platform-bus.h"
60 #include "hw/virtio/virtio-acpi.h"
72 for (i = 0; i < ms->smp.cpus; i++) { in acpi_dsdt_add_cpus()
88 aml_append(crs, aml_memory32_fixed(uart_memmap->base, in acpi_dsdt_add_uart()
[all …]
/openbmc/linux/drivers/iommu/
H A Dmsm_iommu.c1 // SPDX-License-Identifier: GPL-2.0-only
2 /* Copyright (c) 2010-2011, Code Aurora Forum. All rights reserved.
13 #include <linux/io-pgtable.h>
18 #include <linux/iommu.h>
25 #include "msm_iommu_hw-8xxx.h"
54 static int __enable_clocks(struct msm_iommu_dev *iommu) in __enable_clocks() argument
58 ret = clk_enable(iommu->pclk); in __enable_clocks()
62 if (iommu->clk) { in __enable_clocks()
63 ret = clk_enable(iommu->clk); in __enable_clocks()
65 clk_disable(iommu->pclk); in __enable_clocks()
[all …]
/openbmc/linux/Documentation/arch/x86/
H A Dsva.rst1 .. SPDX-License-Identifier: GPL-2.0
19 application page-faults. For more information please refer to the PCIe
22 Use of SVA requires IOMMU support in the platform. IOMMU is also
24 to cache translations for virtual addresses. The IOMMU driver uses the
34 Unlike Single Root I/O Virtualization (SR-IOV), Scalable IOV (SIOV) permits
40 ID (PASID), which is a 20-bit number defined by the PCIe SIG.
43 IOMMU to track I/O on a per-PASID granularity in addition to using the PCIe
53 record, and the PASID (process address space ID) of the current process.
55 ENQCMD works with non-posted semantics and carries a status back if the
67 A new thread-scoped MSR (IA32_PASID) provides the connection between
[all …]
/openbmc/linux/Documentation/arch/s390/
H A Dvfio-ap.rst13 The AP adapter cards are exposed via the AP bus. The motivation for vfio-ap
45 sub-directory::
57 domain can be configured with a secure private key used for clear key
65 usage domain; for example, to set the secure private key for the control
76 significant bit, correspond to domains 0-255.
82 comprised of an AP adapter ID (APID) and an AP queue index (APQI). The
111 * NQAP: to enqueue an AP command-request message to a queue
112 * DQAP: to dequeue an AP command-reply message from a queue
132 an APID from 0-255. If a bit is set, the corresponding adapter is valid for
137 corresponds to an AP queue index (APQI) from 0-255. If a bit is set, the
[all …]
/openbmc/linux/Documentation/ABI/testing/
H A Dsysfs-bus-thunderbolt29 de-authorization of devices. Value of 1 means user can
30 de-authorize PCIe tunnel by writing 0 to authorized
37 Description: This attribute tells whether the system uses IOMMU
38 for DMA protection. Value of 1 means IOMMU is used 0 means
53 secure Require devices that support secure connect at
78 0 The device will be de-authorized (only supported if
87 0 The device will be de-authorized (only supported if
117 Description: When a devices supports Thunderbolt secure connect it will
119 authorization to use the secure connection method instead.
127 Description: This attribute contains id of this device extracted from
[all …]
/openbmc/linux/arch/arm/mach-omap2/
H A DMakefile1 # SPDX-License-Identifier: GPL-2.0
7 obj-y := id.o io.o control.o devices.o fb.o pm.o \
8 common.o dma.o omap-headsmp.o sram.o
10 hwmod-common = omap_hwmod.o \
15 clock-common = clock.o
16 secure-common = omap-smc.o omap-secure.o
18 obj-$(CONFIG_ARCH_OMAP2) += $(omap-2-3-common) $(hwmod-common)
19 obj-$(CONFIG_ARCH_OMAP3) += $(omap-2-3-common) $(hwmod-common) $(secure-common)
20 obj-$(CONFIG_ARCH_OMAP4) += $(secure-common)
21 obj-$(CONFIG_SOC_AM33XX) += $(secure-common)
[all …]
H A Dpdata-quirks.c1 // SPDX-License-Identifier: GPL-2.0-only
20 #include <linux/platform_data/pinctrl-single.h>
21 #include <linux/platform_data/hsmmc-omap.h>
22 #include <linux/platform_data/iommu-omap.h>
23 #include <linux/platform_data/ti-sysc.h>
25 #include <linux/platform_data/asoc-ti-mcbsp.h>
26 #include <linux/platform_data/ti-prm.h>
30 #include "common-board-devices.h"
33 #include "omap-secure.h"
58 * Note that if the pins are used for MMC1, pbias-regulator
[all …]
/openbmc/linux/drivers/iommu/iommufd/
H A Ddevice.c1 // SPDX-License-Identifier: GPL-2.0-only
2 /* Copyright (c) 2021-2022, NVIDIA CORPORATION & AFFILIATES
6 #include <linux/iommu.h>
8 #include "../iommu-priv.h"
25 WARN_ON(igroup->hwpt || !list_empty(&igroup->device_list)); in iommufd_group_release()
27 xa_cmpxchg(&igroup->ictx->groups, iommu_group_id(igroup->group), igroup, in iommufd_group_release()
29 iommu_group_put(igroup->group); in iommufd_group_release()
30 mutex_destroy(&igroup->lock); in iommufd_group_release()
36 kref_put(&group->ref, iommufd_group_release); in iommufd_put_group()
45 * group ID's cannot be re-used until the group is put back which does in iommufd_group_try_get()
[all …]
/openbmc/openbmc/meta-arm/meta-arm-bsp/recipes-bsp/u-boot/u-boot/corstone1000/
H A D0004-FF-A-v15-arm_ffa-introduce-Arm-FF-A-support.patch4 Subject: [PATCH] FF-A v15: arm_ffa: introduce Arm FF-A support
6 Add Arm FF-A support implementing Arm Firmware Framework for Armv8-A v1.0
8 The Firmware Framework for Arm A-profile processors (FF-A v1.0) [1]
10 between the Secure World and Normal World leveraging TrustZone
13 This driver uses 64-bit registers as per SMCCCv1.2 spec and comes
14 on top of the SMCCC layer. The driver provides the FF-A ABIs needed for
15 querying the FF-A framework from the secure world.
18 32-bit data of the Xn registers.
20 All supported ABIs come with their 32-bit version except FFA_RXTX_MAP
21 which has 64-bit version supported.
[all …]
/openbmc/linux/arch/arm64/boot/dts/qcom/
H A Dmsm8916.dtsi1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
6 #include <dt-bindings/arm/coresight-cti-dt.h>
7 #include <dt-bindings/clock/qcom,gcc-msm8916.h>
8 #include <dt-bindings/clock/qcom,rpmcc.h>
9 #include <dt-bindings/interconnect/qcom,msm8916.h>
10 #include <dt-bindings/interrupt-controller/arm-gic.h>
11 #include <dt-bindings/power/qcom-rpmpd.h>
12 #include <dt-bindings/reset/qcom,gcc-msm8916.h>
13 #include <dt-bindings/thermal/thermal.h>
[all …]
/openbmc/libcper/specification/document/
H A Dcper-json-specification.tex7 \title{CPER-JSON Specification}
47 in a human-readable JSON format, intended to be interoperable with standard CPER binary.
50 …ive JSON schema\footnote{As defined by \href{https://json-schema.org/draft/2020-12/json-schema-cor…
178 …ypes of sectoin body are defined in UEFI specification section N.2.2 Table N-5 and section N.2.4.\\
180 fruID & string (\textbf{optional}) & If validation field set, the FRU ID of the section reporting t…
197 reset & boolean & If true, indicates the component has been reset and must be re-initialised or re-
212 This section describes generic CPER structures that are re-used throughout the specification.
217 This structure describes the revision of a single CPER record or sub-structure.
284 requestorID & uint64 & ID of the requestor associated with the error.\\
286 responderID & uint64 & ID of the responder associated with the error.\\
[all …]

123