My Project
 All Classes 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_t * get_sw_code_start (void)
 This function returns the start of the virtual address of the secure world from the linker script. More...
 
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. More...
 
va_t * get_sw_text_start (void)
 Function returns the starting address of the text section which is given in the Linker script. More...
 
int get_sw_text_size (void)
 Function returns the size of text section which is given in the Linker script. More...
 
va_t * get_sw_fs_start (void)
 Function returns the start of the file system which is given in the Linker script. More...
 
u32 get_sw_fs_size (void)
 
va_t * get_sw_data_start (void)
 Function returns the starting address of the data section which is given in the Linker script. More...
 
int get_sw_data_size (void)
 Function returns the size of data section which is given in the Linker script. More...
 
va_t * get_sw_bss_start (void)
 Function returns the starting address of the bss section which is given in the Linker script. More...
 
int get_sw_bss_size (void)
 Function returns the size of bss section which is given in the Linker script. More...
 
va_t * get_mod_init_start_addr (void)
 This function returns the start address of the region which has the module initialization codes. More...
 
va_t * get_mod_init_end_addr (void)
 This function returns the end address of the region which has the module initialization codes. More...
 
va_t * get_init_start_addr (void)
 This function returns the start address of the region which has the initialization codes. More...
 
int get_init_size (void)
 This function returns the size of the region which has the initialization codes and module initialization lies. More...
 

Variables

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

Macro Definition Documentation

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

Function Documentation

int get_init_size ( void  )

This function returns the size of the region which has the initialization codes and module initialization lies.

Returns
va_t* get_init_start_addr ( void  )

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

Returns
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
va_t* get_sw_bss_start ( void  )

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

Returns
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
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
va_t* get_sw_data_start ( void  )

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

Returns
u32 get_sw_fs_size ( void  )
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
va_t* get_sw_text_start ( void  )

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

Returns

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.