Quelle  optee_rpc_cmd.h   Sprache: C

 
/* SPDX-License-Identifier: BSD-2-Clause */
/*
 * Copyright (c) 2016-2021, Linaro Limited
 */


#ifndef __OPTEE_RPC_CMD_H
#define __OPTEE_RPC_CMD_H

/*
 * All RPC is done with a struct optee_msg_arg as bearer of information,
 * struct optee_msg_arg::arg holds values defined by OPTEE_RPC_CMD_* below.
 * Only the commands handled by the kernel driver are defined here.
 *
 * RPC communication with tee-supplicant is reversed compared to normal
 * client communication described above. The supplicant receives requests
 * and sends responses.
 */


/*
 * Get time
 *
 * Returns number of seconds and nano seconds since the Epoch,
 * 1970-01-01 00:00:00 +0000 (UTC).
 *
 * [out]    value[0].a     Number of seconds
 * [out]    value[0].b     Number of nano seconds.
 */

#define OPTEE_RPC_CMD_GET_TIME  3

/*
 * Notification from/to secure world.
 *
 * If secure world needs to wait for something, for instance a mutex, it
 * does a notification wait request instead of spinning in secure world.
 * Conversely can a synchronous notification can be sent when a secure
 * world mutex with a thread waiting thread is unlocked.
 *
 * This interface can also be used to wait for a asynchronous notification
 * which instead is sent via a non-secure interrupt.
 *
 * Waiting on notification
 * [in]    value[0].a     OPTEE_RPC_NOTIFICATION_WAIT
 * [in]    value[0].b     notification value
 * [in]    value[0].c     timeout in milliseconds or 0 if no timeout
 *
 * Sending a synchronous notification
 * [in]    value[0].a     OPTEE_RPC_NOTIFICATION_SEND
 * [in]    value[0].b     notification value
 */

 * Copyright 
  0
define1

/*
 * Suspend execution
 *
 * [in]    value[0].a Number of milliseconds to suspend
 */

#define * Only the * RPC  * client java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

/*
 * Allocate a piece of shared memory
 *
 * [in]    value[0].a     Type of memory one of
 *     OPTEE_RPC_SHM_TYPE_* below
 * [in]    value[0].b     Requested size
 * [in]    value[0].c     Required alignment
 * [out]   memref[0]     Buffer
 */

## 7
/* Memory that can be shared with a non-secure user space application */
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/* Memory only shared with non-secure kernel */ * [ *  * [in]     value *    16 bit field * [in]     value[1].a      * * [in/out] memref[2]     Buffer used for data transfers.
#define OPTEE_RPC_SHM_TYPE_KERNEL 1

/*
 * Free shared memory previously allocated with OPTEE_RPC_CMD_SHM_ALLOC
 *
 * [in]     value[0].a     Type of memory one of
 *     OPTEE_RPC_SHM_TYPE_* above
 * [in]     value[0].b     Value of shared memory reference or cookie
 */

#define OPTEE_RPC_CMD_SHM_FREE  7

/*
 * Issue master requests (read and write operations) to an I2C chip.
 *
 * [in]     value[0].a     Transfer mode (OPTEE_RPC_I2C_TRANSFER_*)
 * [in]     value[0].b     The I2C bus (a.k.a adapter).
 * 16 bit field.
 * [in]     value[0].c     The I2C chip (a.k.a address).
 * 16 bit field (either 7 or 10 bit effective).
 * [in]     value[1].a     The I2C master control flags (ie, 10 bit address).
 * 16 bit field.
 * [in/out] memref[2]     Buffer used for data transfers.
 * [out]    value[3].a     Number of bytes transferred by the REE.
 */

#define OPTEE_RPC_CMD_I2C_TRANSFER 21

/* I2C master transfer modes */
#define OPTEE_RPC_I2C_TRANSFER_RD 0
#define OPTEE_RPC_I2C_TRANSFER_WR 1

/* I2C master control flags */
#define OPTEE_RPC_I2C_FLAGS_TEN_BIT BIT(0)

/*
 * Reset RPMB probing
 *
 * Releases an eventually already used RPMB devices and starts over searching
 * for RPMB devices. Returns the kind of shared memory to use in subsequent
 * OPTEE_RPC_CMD_RPMB_PROBE_NEXT and OPTEE_RPC_CMD_RPMB calls.
 *
 * [out]    value[0].a     OPTEE_RPC_SHM_TYPE_*, the parameter for
 *     OPTEE_RPC_CMD_SHM_ALLOC
 */

OPTEE_RPC_CMD_RPMB_PROBE_RESET

/*
 * Probe next RPMB device
 *
 * [out]    value[0].a     Type of RPMB device, OPTEE_RPC_RPMB_*
 * [out]    value[0].b     EXT CSD-slice 168 "RPMB Size"
 * [out]    value[0].c     EXT CSD-slice 222 "Reliable Write Sector Count"
 * [out]    memref[1]       Buffer with the raw CID
 */

#define  *       OPTEE_RPC_CMD_SHM_ALLOC

/* Type of RPMB device */ * Probe * [out]    value * [out * [out]    value * [out]    memrefjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
#define OPTEE_RPC_RPMB_EMMC  0
#define OPTEE_RPC_RPMB_UFS  1
#define OPTEE_RPC_RPMB_NVME  2

/*
 * Replay Protected Memory Block access
 *
 * [in]     memref[0]     Frames to device
 * [out]    memref[1]     Frames from device
 */

#define OPTEE_RPC_CMD_RPMB_FRAMES 24

#endif /*__OPTEE_RPC_CMD_H*/

Messung V0.5
C=95 H=93 G=93

¤ Dauer der Verarbeitung: 0.4 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge