diff options
| author | isiora <none@example.com> | 2018-01-24 06:58:40 +0000 | 
|---|---|---|
| committer | isiora <none@example.com> | 2018-01-24 06:58:40 +0000 | 
| commit | 5c5fb3ee69a6f58d1110edc15dfc7464b49dfdd9 (patch) | |
| tree | c2b7b46f06e697b9459d719e4f30b9525816d62d /os/common | |
| parent | e72780b902ae0812ee9350d36fefdf61cf293eed (diff) | |
| download | ChibiOS-5c5fb3ee69a6f58d1110edc15dfc7464b49dfdd9.tar.gz ChibiOS-5c5fb3ee69a6f58d1110edc15dfc7464b49dfdd9.tar.bz2 ChibiOS-5c5fb3ee69a6f58d1110edc15dfc7464b49dfdd9.zip  | |
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11398 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/common')
| -rw-r--r-- | os/common/ports/ARMCAx-TZ/chsmc.h | 17 | 
1 files changed, 13 insertions, 4 deletions
diff --git a/os/common/ports/ARMCAx-TZ/chsmc.h b/os/common/ports/ARMCAx-TZ/chsmc.h index 170ead317..37c1e30b1 100644 --- a/os/common/ports/ARMCAx-TZ/chsmc.h +++ b/os/common/ports/ARMCAx-TZ/chsmc.h @@ -46,7 +46,7 @@   * Special service handles
   */
  #define SMC_HND_TRAMP             ((smc_service_t *)0)
 -#define SMC_HND_GET               ((smc_service_t *)1)
 +#define SMC_HND_DISCOVERY         ((smc_service_t *)1)
  /*
   * Non secure memory address space
 @@ -55,6 +55,12 @@  #define NSEC_MEMORY_START         ((uint8_t *)0x20000000)
  #define NSEC_MEMORY_END           ((uint8_t *)0x20100000)
 +/*
 + * Services table cardinality
 + */
 +#define SMC_SVC_MAX_N             32
 +#define SMC_SVC_MAX_NAME_LEN      16
 +
  /*===========================================================================*/
  /* Module pre-compile time settings.                                         */
  /*===========================================================================*/
 @@ -70,8 +76,10 @@ typedef uint8_t * smc_params_area_t;  typedef struct ch_smc_service {
    thread_reference_t  svct;
 +  uint32_t  register_order;
    smc_params_area_t svc_data;
    uint32_t  svc_datalen;
 +  char      svc_name[SMC_SVC_MAX_NAME_LEN];
  } smc_service_t;
  /*===========================================================================*/
 @@ -86,10 +94,11 @@ typedef struct ch_smc_service {  extern "C" {
  #endif
  extern thread_reference_t _ns_thread;
 -CC_NO_RETURN void _ns_trampoline(uint8_t *addr);
 +void _ns_trampoline(uint8_t *addr);
  void smcInit(void);
 -registered_object_t * smcRegisterMeAsService(const char *svc_name);
 -msg_t smcServiceWaitRequest(smc_service_t *svcp);
 +void smcWaitServicesStarted(uint32_t n_services);
 +smc_service_t *smcRegisterMeAsService(const char *svc_name);
 +msg_t smcServiceWaitRequest(smc_service_t *svcp, msg_t msg);
  msg_t smcServiceWaitRequestS(smc_service_t *svcp);
  #ifdef __cplusplus
  }
  | 
