mirror of
https://xff.cz/git/u-boot/
synced 2025-09-25 12:31:17 +02:00
avb: add support for named persistent values
AVB 2.0 spec. revision 1.1 introduces support for named persistent values that must be tamper evident and allows AVB to store arbitrary key-value pairs [1]. Introduce implementation of two additional AVB operations read_persistent_value()/write_persistent_value() for retrieving/storing named persistent values. Correspondent pull request in the OP-TEE OS project repo [2]. [1]: https://android.googlesource.com/platform/external/avb/+/android-9.0.0_r22 [2]: https://github.com/OP-TEE/optee_os/pull/2699 Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com>
This commit is contained in:
@@ -6,16 +6,25 @@
|
||||
#ifndef __SANDBOXTEE_H
|
||||
#define __SANDBOXTEE_H
|
||||
|
||||
#include <search.h>
|
||||
#include <tee/optee_ta_avb.h>
|
||||
|
||||
/**
|
||||
* struct sandbox_tee_state - internal state of the sandbox TEE
|
||||
* @session: current open session
|
||||
* @num_shms: number of registered shared memory objects
|
||||
* @ta: Trusted Application of current session
|
||||
* @session: current open session
|
||||
* @num_shms: number of registered shared memory objects
|
||||
* @ta: Trusted Application of current session
|
||||
* @ta_avb_rollback_indexes TA avb rollback indexes storage
|
||||
* @ta_avb_lock_state TA avb lock state storage
|
||||
* @pstorage_htab named persistent values storage
|
||||
*/
|
||||
struct sandbox_tee_state {
|
||||
u32 session;
|
||||
int num_shms;
|
||||
void *ta;
|
||||
u64 ta_avb_rollback_indexes[TA_AVB_MAX_ROLLBACK_LOCATIONS];
|
||||
u32 ta_avb_lock_state;
|
||||
struct hsearch_data pstorage_htab;
|
||||
};
|
||||
|
||||
#endif /*__SANDBOXTEE_H*/
|
||||
|
@@ -43,7 +43,9 @@
|
||||
#define TEE_ERROR_COMMUNICATION 0xffff000e
|
||||
#define TEE_ERROR_SECURITY 0xffff000f
|
||||
#define TEE_ERROR_OUT_OF_MEMORY 0xffff000c
|
||||
#define TEE_ERROR_OVERFLOW 0xffff300f
|
||||
#define TEE_ERROR_TARGET_DEAD 0xffff3024
|
||||
#define TEE_ERROR_STORAGE_NO_SPACE 0xffff3041
|
||||
|
||||
#define TEE_ORIGIN_COMMS 0x00000002
|
||||
#define TEE_ORIGIN_TEE 0x00000003
|
||||
|
@@ -45,4 +45,20 @@
|
||||
*/
|
||||
#define TA_AVB_CMD_WRITE_LOCK_STATE 3
|
||||
|
||||
/*
|
||||
* Reads a persistent value corresponding to the given name.
|
||||
*
|
||||
* in params[0].u.memref: persistent value name
|
||||
* out params[1].u.memref: read persistent value buffer
|
||||
*/
|
||||
#define TA_AVB_CMD_READ_PERSIST_VALUE 4
|
||||
|
||||
/*
|
||||
* Writes a persistent value corresponding to the given name.
|
||||
*
|
||||
* in params[0].u.memref: persistent value name
|
||||
* in params[1].u.memref: persistent value buffer to write
|
||||
*/
|
||||
#define TA_AVB_CMD_WRITE_PERSIST_VALUE 5
|
||||
|
||||
#endif /* __TA_AVB_H */
|
||||
|
Reference in New Issue
Block a user