Newer
Older
mbed-os / components / TARGET_PSA / TARGET_TFM / COMPONENT_SPE / secure_fw / core / tfm_svc.h
@Devaraj Ranganna Devaraj Ranganna on 6 Jun 2019 1 KB [trusted-firmware-m]: Updated to e7efdc6
/*
 * Copyright (c) 2017-2019, Arm Limited. All rights reserved.
 *
 * SPDX-License-Identifier: BSD-3-Clause
 *
 */

#ifndef __TFM_SVC_H__
#define __TFM_SVC_H__

#include "cmsis.h"

typedef enum {
    TFM_SVC_SFN_REQUEST = 0,
    TFM_SVC_SFN_RETURN,
    TFM_SVC_VALIDATE_SECURE_CALLER,
    TFM_SVC_GET_CALLER_CLIENT_ID,
    TFM_SVC_MEMORY_CHECK,
    TFM_SVC_SET_SHARE_AREA,
    TFM_SVC_SPM_REQUEST,
    TFM_SVC_PRINT,
    TFM_SVC_GET_BOOT_DATA,
#ifdef TFM_PSA_API
    TFM_SVC_IPC_REQUEST,
    TFM_SVC_SCHEDULE,
    TFM_SVC_EXIT_THRD,
    /* PSA Client SVC */
    TFM_SVC_PSA_FRAMEWORK_VERSION,
    TFM_SVC_PSA_VERSION,
    TFM_SVC_PSA_CONNECT,
    TFM_SVC_PSA_CALL,
    TFM_SVC_PSA_CLOSE,
    /* PSA Service SVC */
    TFM_SVC_PSA_WAIT,
    TFM_SVC_PSA_GET,
    TFM_SVC_PSA_SET_RHANDLE,
    TFM_SVC_PSA_READ,
    TFM_SVC_PSA_SKIP,
    TFM_SVC_PSA_WRITE,
    TFM_SVC_PSA_REPLY,
    TFM_SVC_PSA_NOTIFY,
    TFM_SVC_PSA_CLEAR,
    TFM_SVC_PSA_EOI,
#endif
} tfm_svc_number_t;

#define SVC(code) __ASM volatile("svc %0" : : "I" (code))

#endif /* __TFM_SVC_H__ */