qtiseclib_interface_stub.c 2.47 KB
Newer Older
Saurabh Gorecha's avatar
Saurabh Gorecha committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/*
 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 */

#include <stdbool.h>
#include <stdint.h>

#include <common/debug.h>

#include <qtiseclib_defs.h>
#include <qtiseclib_interface.h>

/*
 * This file contains dummy implementation of QTISECLIB Published API's.
 * which will be used to compile PLATFORM successfully when
 * qtiseclib is not available
 */

/*
 * CPUSS common reset handler for all CPU wake up (both cold & warm boot).
 * Executes on all core. This API assume serialization across CPU
 * already taken care before invoking.
 *
 * Clobbers: x0 - x17, x30
 */
void qtiseclib_cpuss_reset_asm(uint32_t bl31_cold_boot_state)
{
}

/*
 * Execute CPU (Kryo4 gold) specific reset handler / system initialization.
 * This takes care of executing required CPU errata's.
 *
 * Clobbers: x0 - x16
 */
void qtiseclib_kryo4_gold_reset_asm(void)
{
}

/*
 * Execute CPU (Kryo4 silver) specific reset handler / system initialization.
 * This takes care of executing required CPU errata's.
 *
 * Clobbers: x0 - x16
 */
void qtiseclib_kryo4_silver_reset_asm(void)
{
}

/*
 * C Api's
 */
void qtiseclib_bl31_platform_setup(void)
{
	ERROR("Please use QTISECLIB_PATH while building TF-A\n");
	ERROR("Please refer docs/plat/qti.rst for more details.\n");
	panic();
}

void qtiseclib_invoke_isr(uint32_t irq, void *handle)
{
}

void qtiseclib_panic(void)
{
}

int qtiseclib_prng_get_data(uint8_t *out, uint32_t out_len)
{
	/* fill dummy data to avoid assert and print
	 * stub implementation in setup call
	 */
	for (int i = 0; i < out_len; i++) {
		out[i] = 0x11;
	}
	return 0;
}

int
qtiseclib_mem_assign(const memprot_info_t *mem_info,
		     uint32_t mem_info_list_cnt,
		     const uint32_t *source_vm_list,
		     uint32_t src_vm_list_cnt,
		     const memprot_dst_vm_perm_info_t *dest_vm_list,
		     uint32_t dst_vm_list_cnt)
{
	return 0;
}

int qtiseclib_psci_init(uintptr_t warmboot_entry)
{
	return 0;
}

int qtiseclib_psci_node_power_on(u_register_t mpidr)
{
	return 0;
}

void qtiseclib_psci_node_on_finish(const uint8_t *states)
{
}

void qtiseclib_psci_cpu_standby(uint8_t pwr_state)
{
}

void qtiseclib_psci_node_power_off(const uint8_t *states)
{
}

void qtiseclib_psci_node_suspend(const uint8_t *states)
{
}

void qtiseclib_psci_node_suspend_finish(const uint8_t *states)
{
}

void qtiseclib_psci_system_off(void)
{
	while (1) {
	};
}

void qtiseclib_psci_system_reset(void)
{
	while (1) {
	};
}

void qtiseclib_disable_cluster_coherency(uint8_t state)
{
}