Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aacebd91 authored by Isaac J. Manjarres's avatar Isaac J. Manjarres
Browse files

ion: msm: Add support for secure allocations for the Trusted UI(TUI) VMID



Add the support necessary to allow secure allocations for the
TUI VMID with R/W permissions.

Change-Id: I7486d75b3d9d3f7fa29a8d4972cca671d55b3569
Signed-off-by: default avatarIsaac J. Manjarres <isaacm@codeaurora.org>
parent ff1cd8f5
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -21,7 +21,8 @@ bool is_secure_vmid_valid(int vmid)
		vmid == VMID_CP_SPSS_SP ||
		vmid == VMID_CP_SPSS_SP_SHARED ||
		vmid == VMID_CP_SPSS_HLOS_SHARED ||
		vmid == VMID_CP_CDSP);
		vmid == VMID_CP_CDSP ||
		vmid == VMID_TRUSTED_UI);
}

int get_secure_vmid(unsigned long flags)
@@ -50,6 +51,8 @@ int get_secure_vmid(unsigned long flags)
		return VMID_CP_SPSS_HLOS_SHARED;
	if (flags & ION_FLAG_CP_CDSP)
		return VMID_CP_CDSP;
	if (flags & ION_FLAG_CP_TRUSTED_UI)
		return VMID_TRUSTED_UI;
	return -EINVAL;
}

@@ -79,6 +82,8 @@ int get_ion_flags(u32 vmid)
		return ION_FLAG_CP_SPSS_HLOS_SHARED;
	if (vmid == VMID_CP_CDSP)
		return ION_FLAG_CP_CDSP;
	if (vmid == VMID_TRUSTED_UI)
		return ION_FLAG_CP_TRUSTED_UI;
	return -EINVAL;
}
EXPORT_SYMBOL(get_ion_flags);
+4 −2
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
/*
 * Copyright (c) 2018-2019, The Linux Foundation. All rights reserved.
 * Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
 */
#ifndef _UAPI_LINUX_MSM_ION_H
#define _UAPI_LINUX_MSM_ION_H
@@ -27,6 +27,8 @@ enum msm_ion_heap_types {
 * Flags to be used when allocating from the secure heap for
 * content protection
 */
#define ION_FLAG_CP_TRUSTED_UI		ION_BIT(15)
/* ION_FLAG_POOL_FORCE_ALLOC uses ION_BIT(16) */
#define ION_FLAG_CP_TOUCH		ION_BIT(17)
#define ION_FLAG_CP_BITSTREAM		ION_BIT(18)
#define ION_FLAG_CP_PIXEL		ION_BIT(19)
@@ -42,7 +44,7 @@ enum msm_ion_heap_types {
#define ION_FLAG_CP_CDSP		ION_BIT(29)
#define ION_FLAG_CP_SPSS_HLOS_SHARED	ION_BIT(30)

#define ION_FLAGS_CP_MASK	0x6FFE0000
#define ION_FLAGS_CP_MASK	0x6FFE8000

/**
 * Flag to allow non continguous allocation of memory from secure