]> git.baikalelectronics.ru Git - arm-tf.git/commitdiff
feat(drtm): add DRTM parameters structure version check
authorManish V Badarkhe <Manish.Badarkhe@arm.com>
Wed, 21 Sep 2022 09:04:16 +0000 (10:04 +0100)
committerManish V Badarkhe <manish.badarkhe@arm.com>
Wed, 2 Nov 2022 22:04:01 +0000 (23:04 +0100)
Added DRTM parameters structure version check that as per
the current released DRTM specification [1].

Mainly to cater below mentioned in the specification [1]
section 3.12 -
For a given DRTM major version number this structure will
always be extended in a backwards compatible manner.

[1]: https://developer.arm.com/documentation/den0113/a

Change-Id: I9f312c7f9f20152c5d7e40a22b462c7fe8db70bc
Signed-off-by: Manish V Badarkhe <Manish.Badarkhe@arm.com>
services/std_svc/drtm/drtm_main.c
services/std_svc/drtm/drtm_main.h

index e0f5c17848af3f960e3b5640cf551efa20e5bb08..3acf6838eb8e73ad153f3533ce88ea2bf0b577f9 100644 (file)
@@ -366,9 +366,10 @@ static enum drtm_retc drtm_dl_check_args(uint64_t x1,
        }
        a = &args_buf;
 
-       if (a->version != 1) {
-               ERROR("DRTM: parameters structure incompatible with major version %d\n",
-                     ARM_DRTM_VERSION_MAJOR);
+       if (!((a->version >= ARM_DRTM_PARAMS_MIN_VERSION) &&
+           (a->version <= ARM_DRTM_PARAMS_MAX_VERSION))) {
+               ERROR("DRTM: parameters structure version %u is unsupported\n",
+                     a->version);
                return NOT_SUPPORTED;
        }
 
index baa37ae7de43a0f390d7541bd2eca8399810531c..60051632e45771cd4c8adc20530556a97eb4e38f 100644 (file)
 #define DL_ARGS_GET_DLME_ENTRY_POINT(a)        \
                (((a)->dlme_paddr + (a)->dlme_img_off + (a)->dlme_img_ep_off))
 
+/*
+ * Range(Min/Max) of DRTM parameter structure versions supported
+ */
+#define ARM_DRTM_PARAMS_MIN_VERSION    U(1)
+#define ARM_DRTM_PARAMS_MAX_VERSION    U(1)
+
 enum drtm_dlme_el {
        DLME_AT_EL1 = MODE_EL1,
        DLME_AT_EL2 = MODE_EL2