All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Classes | Macros | Functions | Variables
cpu_data.h File Reference
#include <page_table.h>
#include <cpu_asm.h>
#include <sw_board.h>
#include <sw_mcore.h>

Go to the source code of this file.

Classes

struct  swi_temp_regs
 Structure to store register in SWI handler. More...
 

Macros

#define TASK_STACK_SIZE   2048
 
#define SW_PRIMARY_CORE   0x1
 
#define SW_SECONDARY_CORE   0x0
 

Functions

va_tget_sw_code_start (void)
 This function returns the start of the virtual address of the secure world from the linker script.
 
va_tget_sw_code_end (void)
 This function returns the end address(virtual) of the secure world code with the help of the linker script.
 
va_tget_sw_text_start (void)
 Function returns the starting address of the text section which is given in the Linker script.
 
int get_sw_text_size (void)
 Function returns the size of text section which is given in the Linker script.
 
va_tget_sw_fs_start (void)
 Function returns the start of the file system which is given in the Linker script.
 
va_tget_sw_data_start (void)
 Function returns the starting address of the data section which is given in the Linker script.
 
int get_sw_data_size (void)
 Function returns the size of data section which is given in the Linker script.
 
va_tget_sw_bss_start (void)
 Function returns the starting address of the bss section which is given in the Linker script.
 
int get_sw_bss_size (void)
 Function returns the size of bss section which is given in the Linker script.
 
va_tget_mod_init_start_addr (void)
 This function returns the start address of the region which has the module initialization codes.
 
va_tget_mod_init_end_addr (void)
 This function returns the end address of the region which has the module initialization codes.
 

Variables

u32 _SW_KSYMTAB
 
u32 _SW_KSYMTAB_END
 
u32 secure_page_table [PAGE_TABLE_ENTRIES]
 Secure page table.
 
u32 user_stack [MAX_CORES][STACK_SIZE/4]
 User stack.
 
u32 service_stack [MAX_CORES][STACK_SIZE/4]
 Supervisor stack.
 
u32 abort_stack [MAX_CORES][STACK_SIZE/4]
 Abort stack.
 
u32 undefined_stack [MAX_CORES][STACK_SIZE/4]
 Undefined stack.
 
u32 irq_stack [MAX_CORES][STACK_SIZE/4]
 IRQ stack.
 
u32 fiq_stack [MAX_CORES][STACK_SIZE/4]
 FIQ stack.
 
u32 monitor_stack [MAX_CORES][STACK_SIZE/4]
 Monitor stack.
 
u32 params_stack [PARAM_STACK_SIZE]
 Parameters stack which is used to SMC call parameters.
 
u32 params_smp_stack [MAX_CORES][PARAM_STACK_SIZE]
 
u32 secure_interrupt_set
 Helps in emulating secure interrupts.
 
u32 temp_regs [32]
 Temporary register storage.
 
u32 params_out_stack [PARAM_OUT_STACK_SIZE]
 Parameters out stack which is used store the return value of SMC call.
 
u32 params_out_smp_stack [MAX_CORES][PARAM_OUT_STACK_SIZE]
 Parameters out stack which is used store the return value of SMC call One Per CPU.
 
struct swi_temp_regstemp_swi_regs
 Temp registers used in SWI handler.
 
u32 valid_params_flag
 Valid params flag.
 
u32 valid_return_params_flag [MAX_CORES]
 Valid return params flag.
 
u32 multi_core_mode
 multi core mode
 

Macro Definition Documentation

#define SW_PRIMARY_CORE   0x1

Definition at line 36 of file cpu_data.h.

#define SW_SECONDARY_CORE   0x0

Definition at line 37 of file cpu_data.h.

#define TASK_STACK_SIZE   2048

Definition at line 34 of file cpu_data.h.

Function Documentation

va_t* get_mod_init_end_addr ( void  )

This function returns the end address of the region which has the module initialization codes.

Returns
va_t* get_mod_init_start_addr ( void  )

This function returns the start address of the region which has the module initialization codes.

Returns
int get_sw_bss_size ( void  )

Function returns the size of bss section which is given in the Linker script.

Returns

Definition at line 244 of file cpu_data.c.

{
return (int)&_bss_size;
}
va_t* get_sw_bss_start ( void  )

Function returns the starting address of the bss section which is given in the Linker script.

Returns

Definition at line 232 of file cpu_data.c.

{
return (va_t*)&_SW_BSS_START;
}
va_t* get_sw_code_end ( void  )

This function returns the end address(virtual) of the secure world code with the help of the linker script.

Returns

This function returns the end address(virtual) of the secure world code with the help of the linker script.

Returns

Definition at line 162 of file cpu_data.c.

{
return (va_t*)&_SW_CODE_END;
}
va_t* get_sw_code_start ( void  )

This function returns the start of the virtual address of the secure world from the linker script.

Returns
int get_sw_data_size ( void  )

Function returns the size of data section which is given in the Linker script.

Returns

Definition at line 221 of file cpu_data.c.

{
return (int)&_data_size;
}
va_t* get_sw_data_start ( void  )

Function returns the starting address of the data section which is given in the Linker script.

Returns

Definition at line 209 of file cpu_data.c.

{
return (va_t*)&_MOD_INIT_PADDING_END;
}
va_t* get_sw_fs_start ( void  )

Function returns the start of the file system which is given in the Linker script.

Returns
int get_sw_text_size ( void  )

Function returns the size of text section which is given in the Linker script.

Returns

Definition at line 198 of file cpu_data.c.

{
return (int)&_text_size;
}
va_t* get_sw_text_start ( void  )

Function returns the starting address of the text section which is given in the Linker script.

Returns

Definition at line 173 of file cpu_data.c.

{
return (va_t*)&_SW_CODE_START;
}

Variable Documentation

u32 _SW_KSYMTAB
u32 _SW_KSYMTAB_END
u32 abort_stack[MAX_CORES][STACK_SIZE/4]

Abort stack.

u32 fiq_stack[MAX_CORES][STACK_SIZE/4]

FIQ stack.

u32 irq_stack[MAX_CORES][STACK_SIZE/4]

IRQ stack.

u32 monitor_stack[MAX_CORES][STACK_SIZE/4]

Monitor stack.

u32 multi_core_mode

multi core mode

u32 params_out_smp_stack[MAX_CORES][PARAM_OUT_STACK_SIZE]

Parameters out stack which is used store the return value of SMC call One Per CPU.

u32 params_out_stack[PARAM_OUT_STACK_SIZE]

Parameters out stack which is used store the return value of SMC call.

u32 params_smp_stack[MAX_CORES][PARAM_STACK_SIZE]
u32 params_stack[PARAM_STACK_SIZE]

Parameters stack which is used to SMC call parameters.

u32 secure_interrupt_set

Helps in emulating secure interrupts.

u32 secure_page_table[PAGE_TABLE_ENTRIES]

Secure page table.

u32 service_stack[MAX_CORES][STACK_SIZE/4]

Supervisor stack.

u32 temp_regs[32]

Temporary register storage.

struct swi_temp_regs* temp_swi_regs

Temp registers used in SWI handler.

u32 undefined_stack[MAX_CORES][STACK_SIZE/4]

Undefined stack.

u32 user_stack[MAX_CORES][STACK_SIZE/4]

User stack.

u32 valid_params_flag

Valid params flag.

u32 valid_return_params_flag[MAX_CORES]

Valid return params flag.