TF-M Reference Manual  1.2.0
TrustedFirmware-M
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
arch.c File Reference
#include "arch.h"
#include "tfm_secure_api.h"
#include "tfm/tfm_spm_services.h"
Include dependency graph for arch.c:

Go to the source code of this file.

Functions

void jump_to_ns_code (void)
 Jump to non-secure code. More...
 
int32_t tfm_core_get_caller_client_id (int32_t *caller_client_id)
 
int32_t tfm_spm_request_reset_vote (void)
 Request a vote from SPM on a system reset. More...
 
void tfm_enable_irq (psa_signal_t irq_signal)
 
void tfm_disable_irq (psa_signal_t irq_signal)
 
psa_signal_t psa_wait (psa_signal_t signal_mask, uint32_t timeout)
 Return the Secure Partition interrupt signals that have been asserted from a subset of signals provided by the caller. More...
 
void psa_eoi (psa_signal_t irq_signal)
 Inform the SPM that an interrupt has been handled (end of interrupt). More...
 
void tfm_arch_configure_coprocessors (void)
 Configure coprocessors. More...
 
void HardFault_Handler (void)
 
void MemManage_Handler (void)
 
void BusFault_Handler (void)
 
void SecureFault_Handler (void)
 

Variables

nsfptr_t ns_entry
 

Function Documentation

void BusFault_Handler ( void  )

Definition at line 384 of file arch.c.

void HardFault_Handler ( void  )

Definition at line 364 of file arch.c.

void jump_to_ns_code ( void  )

Jump to non-secure code.

Definition at line 19 of file arch.c.

Here is the call graph for this function:

Here is the caller graph for this function:

void MemManage_Handler ( void  )

Definition at line 374 of file arch.c.

void psa_eoi ( psa_signal_t  irq_signal)

Inform the SPM that an interrupt has been handled (end of interrupt).

Parameters
[in]irq_signalThe interrupt signal that has been processed.
Return values
voidSuccess.
PROGRAMMER ERRORThe call is invalid, one or more of the following are true:
  • irq_signal is not an interrupt signal.
  • irq_signal indicates more than one signal.
  • irq_signal is not currently asserted.

Definition at line 94 of file arch.c.

Here is the caller graph for this function:

psa_signal_t psa_wait ( psa_signal_t  signal_mask,
uint32_t  timeout 
)

Return the Secure Partition interrupt signals that have been asserted from a subset of signals provided by the caller.

Parameters
[in]signal_maskA set of signals to query. Signals that are not in this set will be ignored.
[in]timeoutSpecify either blocking PSA_BLOCK or polling PSA_POLL operation.
Return values
>0At least one signal is asserted.
0No signals are asserted. This is only seen when a polling timeout is used.

Definition at line 75 of file arch.c.

Here is the caller graph for this function:

void SecureFault_Handler ( void  )

Definition at line 394 of file arch.c.

void tfm_arch_configure_coprocessors ( void  )

Configure coprocessors.

Definition at line 271 of file arch.c.

int32_t tfm_core_get_caller_client_id ( int32_t *  caller_client_id)

Definition at line 28 of file arch.c.

Here is the caller graph for this function:

void tfm_disable_irq ( psa_signal_t  irq_signal)

Definition at line 59 of file arch.c.

void tfm_enable_irq ( psa_signal_t  irq_signal)

Definition at line 51 of file arch.c.

int32_t tfm_spm_request_reset_vote ( void  )

Request a vote from SPM on a system reset.

Returns
Returns 0 if request is accepted, any other value means reject

Definition at line 45 of file arch.c.

Variable Documentation

nsfptr_t ns_entry

Definition at line 17 of file arch.c.