Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
otzone
src
arch
arm
armv7
include
cpu_data.h
Go to the documentation of this file.
1
/*
2
* OpenVirtualization:
3
* For additional details and support contact
[email protected]
.
4
* Additional documentation can be found at www.openvirtualization.org
5
*
6
* Copyright (C) 2011 SierraWare
7
*
8
* This library is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU General Public License
10
* as published by the Free Software Foundation; either version 2
11
* of the License, or (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program; if not, write to the Free Software
20
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21
*
22
* declaration of .data and .bss section variables
23
*
24
*/
25
26
#ifndef __TZ_CPU_DATA_H__
27
#define __TZ_CPU_DATA_H__
28
29
#include <
page_table.h
>
30
#include <
cpu_asm.h
>
31
#include <
sw_board.h
>
32
#include <
sw_mcore.h
>
33
34
#define TASK_STACK_SIZE 2048
35
36
#define SW_PRIMARY_CORE 0x1
37
#define SW_SECONDARY_CORE 0x0
38
39
40
41
45
struct
swi_temp_regs
{
47
u32
spsr
;
49
u32
regs
[13];
51
u32
lr
;
52
};
53
54
55
extern
u32
_SW_KSYMTAB
;
56
extern
u32
_SW_KSYMTAB_END
;
57
61
extern
u32
secure_page_table
[
PAGE_TABLE_ENTRIES
];
62
66
extern
u32
user_stack
[MAX_CORES][
STACK_SIZE
/4];
67
71
extern
u32
service_stack
[MAX_CORES][
STACK_SIZE
/4];
72
76
extern
u32
abort_stack
[MAX_CORES][
STACK_SIZE
/4];
77
81
extern
u32
undefined_stack
[MAX_CORES][
STACK_SIZE
/4];
82
86
extern
u32
irq_stack
[MAX_CORES][
STACK_SIZE
/4];
87
91
extern
u32
fiq_stack
[MAX_CORES][
STACK_SIZE
/4];
92
96
extern
u32
monitor_stack
[MAX_CORES][
STACK_SIZE
/4];
97
101
extern
u32
params_stack
[
PARAM_STACK_SIZE
];
102
106
extern
u32
params_smp_stack
[MAX_CORES][
PARAM_STACK_SIZE
];
107
111
extern
u32
secure_interrupt_set
;
112
116
extern
u32
temp_regs
[32];
117
121
extern
u32
params_out_stack
[
PARAM_OUT_STACK_SIZE
];
122
127
extern
u32
params_out_smp_stack
[MAX_CORES][
PARAM_OUT_STACK_SIZE
];
128
132
extern
struct
swi_temp_regs
*
temp_swi_regs
;
133
134
138
extern
u32
valid_params_flag
;
139
143
extern
u32
valid_return_params_flag
[MAX_CORES];
144
148
extern
u32
multi_core_mode
;
149
156
va_t
*
get_sw_code_start
(
void
);
157
165
va_t
*
get_sw_code_end
(
void
);
166
173
va_t
*
get_sw_text_start
(
void
);
174
182
int
get_sw_text_size
(
void
);
183
190
va_t
*
get_sw_fs_start
(
void
);
191
198
va_t
*
get_sw_data_start
(
void
);
199
207
int
get_sw_data_size
(
void
);
208
215
va_t
*
get_sw_bss_start
(
void
);
216
224
int
get_sw_bss_size
(
void
);
225
233
va_t
*
get_mod_init_start_addr
(
void
);
234
242
va_t
*
get_mod_init_end_addr
(
void
);
243
244
#endif
/* __TZ_CPU_DATA_H__ */
Generated on Thu Jan 3 2013 00:33:51 by
1.8.2