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

Commit bf0c0917 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

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

parents 3d240c26 aacebd91
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2011 Google, Inc
 * Copyright (c) 2011-2019, The Linux Foundation. All rights reserved.
 * Copyright (c) 2011-2020, The Linux Foundation. All rights reserved.
 */

#include <linux/highmem.h>
@@ -280,6 +280,8 @@ const char *msm_secure_vmid_to_string(int secure_vmid)
		return "VMID_CP_SPSS_SP_SHARED";
	case VMID_CP_SPSS_HLOS_SHARED:
		return "VMID_CP_SPSS_HLOS_SHARED";
	case VMID_TRUSTED_UI:
		return "VMID_TRUSTED_UI";
	case VMID_INVAL:
		return "VMID_INVAL";
	default:
+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);
+2 −1
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (c) 2015-2019, The Linux Foundation. All rights reserved.
 * Copyright (c) 2015-2020, The Linux Foundation. All rights reserved.
 */

#ifndef __QCOM_SECURE_BUFFER_H__
@@ -33,6 +33,7 @@ enum vmid {
	VMID_CP_SPSS_SP_SHARED = 0x22,
	VMID_CP_SPSS_HLOS_SHARED = 0x24,
	VMID_CP_CDSP = 0x2A,
	VMID_TRUSTED_UI = 0x31,
	VMID_LAST,
	VMID_INVAL = -1
};
+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