summaryrefslogtreecommitdiff
path: root/plugins/mobicore/mclf-def.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2017-05-13 22:06:28 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2017-05-13 22:06:28 (GMT)
commit198ba09ef74a02a727ac3e679edfa328b2508152 (patch)
tree8846e81d7e3eb3e7b00c9363feba36c77fe058f8 /plugins/mobicore/mclf-def.h
parent5fce21379baac06b7b9359c4b0fcb7fb3867c301 (diff)
Preloaded Mobicore information at loading.
Diffstat (limited to 'plugins/mobicore/mclf-def.h')
-rw-r--r--plugins/mobicore/mclf-def.h44
1 files changed, 39 insertions, 5 deletions
diff --git a/plugins/mobicore/mclf-def.h b/plugins/mobicore/mclf-def.h
index 9c91ccc..e632068 100644
--- a/plugins/mobicore/mclf-def.h
+++ b/plugins/mobicore/mclf-def.h
@@ -29,6 +29,14 @@
+/**
+ * Ces définitions se basent sur :
+ *
+ * https://github.com/Trustonic/trustonic-tee-user-space/blob/master/common/MobiCore/inc/mcLoadFormat.h
+ */
+
+
+
/* ------------------------------ DECLARATIONS DE BASE ------------------------------ */
@@ -70,10 +78,12 @@ typedef uint32_t mclf_addr_t;
/* Types de service définissant l'exécutable */
typedef enum service_type_t
{
- SERVICE_TYPE_ILLEGAL = 0, /* Type invalide */
- SERVICE_TYPE_DRIVER = 1, /* Le service est un pilote */
- SERVICE_TYPE_SP_TRUSTLET = 2, /* Le service est un Trustlet */
- SERVICE_TYPE_SYSTEM_TRUSTLET = 3 /* Idem, mais Trustlet système */
+ SERVICE_TYPE_ILLEGAL = 0, /* Type invalide */
+ SERVICE_TYPE_DRIVER = 1, /* Le service est un pilote */
+ SERVICE_TYPE_SP_TRUSTLET = 2, /* Le service est un Trustlet */
+ SERVICE_TYPE_SYSTEM_TRUSTLET = 3, /* Idem, mais Trustlet système */
+ SERVICE_TYPE_MIDDLEWARE = 4, /* Service middleware */
+ SERVICE_TYPE_LAST_ENTRY = 5 /* Marqueur de fin */
} service_type_t;
@@ -107,12 +117,36 @@ typedef struct _mc_uuid_t
} mc_uuid_t;
+#define MC_DRV_VENDOR_ID_SHIFT (16)
+#define MC_DRV_VENDOR_ID_MASK (0xFFFF << MC_DRV_VENDOR_ID_SHIFT)
+#define MC_DRV_NUMBER_MASK (0x0000FFFF)
+
+/* Identifiant de MobiCore */
+typedef enum {
+
+ MC_DRV_VENDOR_ID_GD = 0 << MC_DRV_VENDOR_ID_SHIFT,
+
+} mc_drv_vendor_id_t;
+
+/* Identifiants de pilote GD pour MobiCore */
+typedef enum {
+ MC_DRV_NUMBER_INVALID = 0,
+ MC_DRV_NUMBER_CRYPTO = 1,
+ MC_DRV_NUMBER_LAST_PRE_INSTALLED = 100,
+ TB_DRV_NUMBER_TUI = 0x101,
+ TB_DRV_NUMBER_TPLAY = 0x600,
+} mc_drv_number_t;
+/* Identifiants de pilote Mobicore pour les Trustlets */
typedef enum {
- TODO_
+ MC_DRV_ID_INVALID = MC_DRV_VENDOR_ID_GD | MC_DRV_NUMBER_INVALID,
+ MC_DRV_ID_CRYPTO = MC_DRV_VENDOR_ID_GD | MC_DRV_NUMBER_CRYPTO,
+ MC_DRV_ID_LAST_PRE_INSTALLED = MC_DRV_VENDOR_ID_GD | MC_DRV_NUMBER_LAST_PRE_INSTALLED,
+ TB_DRV_ID_TUI = MC_DRV_VENDOR_ID_GD | TB_DRV_NUMBER_TUI,
+ TB_DRV_ID_TPLAY = MC_DRV_VENDOR_ID_GD | TB_DRV_NUMBER_TPLAY,
} mc_driver_id_t;