summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnson Huang <Anson.Huang@nxp.com>2020-10-21 10:11:26 +0800
committerAnson Huang <Anson.Huang@nxp.com>2020-10-22 09:39:51 +0800
commit5caf7e66fce3e154cc6e63f7d5a4e7d13769f77f (patch)
treef813e7ccab493c9e70c371c6d4981aac6e0c2a99
parent6534c0e24d3fb7e985d936a4e93e9fe8b08c5187 (diff)
MLK-24904 plat: imx: Use sc_rm_memreg_frag() to avoid memory partition overlay
Use sc_rm_memreg_frag() instead of sc_rm_memreg_alloc() to avoid memory partition overlay, sc_rm_memreg_frag() will return non-overlapping regions. Signed-off-by: Anson Huang <Anson.Huang@nxp.com> Reviewed-by: Ye Li <ye.li@nxp.com>
-rw-r--r--plat/imx/imx8dxl/imx8dxl_bl31_setup.c24
-rw-r--r--plat/imx/imx8qm/imx8qm_bl31_setup.c24
-rw-r--r--plat/imx/imx8qx/imx8qx_bl31_setup.c24
3 files changed, 36 insertions, 36 deletions
diff --git a/plat/imx/imx8dxl/imx8dxl_bl31_setup.c b/plat/imx/imx8dxl/imx8dxl_bl31_setup.c
index 33af33d7..155f1450 100644
--- a/plat/imx/imx8dxl/imx8dxl_bl31_setup.c
+++ b/plat/imx/imx8dxl/imx8dxl_bl31_setup.c
@@ -240,9 +240,9 @@ void imx8_partition_resources(void)
ERROR("Memreg get info failed, %u\n", mr_tee);
} else {
if ((BL32_LIMIT - 1) < end) {
- err = sc_rm_memreg_alloc(ipc_handle, &mr, BL32_LIMIT , end);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, BL32_LIMIT , end);
if (err) {
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)BL32_LIMIT, end);
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)BL32_LIMIT, end);
} else {
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
@@ -251,9 +251,9 @@ void imx8_partition_resources(void)
}
if (start < (BL32_BASE - 1)) {
- err = sc_rm_memreg_alloc(ipc_handle, &mr, start, BL32_BASE - 1);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, start, BL32_BASE - 1);
if (err) {
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n", start, (sc_faddr_t)BL32_BASE - 1);
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n", start, (sc_faddr_t)BL32_BASE - 1);
} else {
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
@@ -279,9 +279,9 @@ void imx8_partition_resources(void)
if ((end > BL32_BASE) && mr_tee_atf_same)
reg_end = BL32_BASE - 1;
#endif
- err = sc_rm_memreg_alloc(ipc_handle, &mr, BL31_LIMIT, reg_end);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, BL31_LIMIT, reg_end);
if (err) {
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)BL31_LIMIT, reg_end);
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)BL31_LIMIT, reg_end);
} else {
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
@@ -292,9 +292,9 @@ void imx8_partition_resources(void)
if (mr_tee_atf_same) {
if ((BL32_LIMIT - 1) < end) {
reg_start = BL32_LIMIT;
- err = sc_rm_memreg_alloc(ipc_handle, &mr, reg_start, end);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, reg_start, end);
if (err) {
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n", reg_start, reg_end);
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n", reg_start, reg_end);
} else {
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
@@ -305,9 +305,9 @@ void imx8_partition_resources(void)
#endif
if (start < (BL31_BASE - 1)) {
- err = sc_rm_memreg_alloc(ipc_handle, &mr, start, BL31_BASE - 1);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, start, BL31_BASE - 1);
if (err)
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n",
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n",
start, (sc_faddr_t)BL31_BASE - 1);
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
@@ -324,9 +324,9 @@ void imx8_partition_resources(void)
ERROR("Memreg get info failed, %u\n", mr_ocram);
} else {
if ((OCRAM_BASE + OCRAM_ALIAS_SIZE - 1) < end) {
- err = sc_rm_memreg_alloc(ipc_handle, &mr, OCRAM_BASE + OCRAM_ALIAS_SIZE, reg_end);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, OCRAM_BASE + OCRAM_ALIAS_SIZE, reg_end);
if (err) {
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)OCRAM_BASE + OCRAM_ALIAS_SIZE, reg_end);
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)OCRAM_BASE + OCRAM_ALIAS_SIZE, reg_end);
} else {
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
diff --git a/plat/imx/imx8qm/imx8qm_bl31_setup.c b/plat/imx/imx8qm/imx8qm_bl31_setup.c
index 59b27d32..54c4351d 100644
--- a/plat/imx/imx8qm/imx8qm_bl31_setup.c
+++ b/plat/imx/imx8qm/imx8qm_bl31_setup.c
@@ -240,9 +240,9 @@ void mx8_partition_resources(void)
ERROR("Memreg get info failed, %u\n", mr_tee);
} else {
if ((BL32_LIMIT - 1) < end) {
- err = sc_rm_memreg_alloc(ipc_handle, &mr, BL32_LIMIT , end);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, BL32_LIMIT , end);
if (err) {
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)BL32_LIMIT, end);
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)BL32_LIMIT, end);
} else {
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
@@ -251,9 +251,9 @@ void mx8_partition_resources(void)
}
if (start < (BL32_BASE - 1)) {
- err = sc_rm_memreg_alloc(ipc_handle, &mr, start, BL32_BASE - 1);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, start, BL32_BASE - 1);
if (err) {
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n", start, (sc_faddr_t)BL32_BASE - 1);
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n", start, (sc_faddr_t)BL32_BASE - 1);
} else {
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
@@ -280,9 +280,9 @@ void mx8_partition_resources(void)
if ((end > BL32_BASE) && mr_tee_atf_same)
reg_end = BL32_BASE - 1;
#endif
- err = sc_rm_memreg_alloc(ipc_handle, &mr, BL31_LIMIT, reg_end);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, BL31_LIMIT, reg_end);
if (err) {
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)BL31_LIMIT, reg_end);
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)BL31_LIMIT, reg_end);
} else {
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
@@ -293,9 +293,9 @@ void mx8_partition_resources(void)
if (mr_tee_atf_same) {
if ((BL32_LIMIT - 1) < end) {
reg_start = BL32_LIMIT;
- err = sc_rm_memreg_alloc(ipc_handle, &mr, reg_start, end);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, reg_start, end);
if (err) {
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n", reg_start, reg_end);
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n", reg_start, reg_end);
} else {
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
@@ -306,9 +306,9 @@ void mx8_partition_resources(void)
#endif
if (start < (BL31_BASE - 1)) {
- err = sc_rm_memreg_alloc(ipc_handle, &mr, start, BL31_BASE - 1);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, start, BL31_BASE - 1);
if (err)
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n",
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n",
start, (sc_faddr_t)BL31_BASE - 1);
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
@@ -325,9 +325,9 @@ void mx8_partition_resources(void)
ERROR("Memreg get info failed, %u\n", mr_ocram);
} else {
if ((OCRAM_BASE + OCRAM_ALIAS_SIZE - 1) < end) {
- err = sc_rm_memreg_alloc(ipc_handle, &mr, OCRAM_BASE + OCRAM_ALIAS_SIZE, reg_end);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, OCRAM_BASE + OCRAM_ALIAS_SIZE, reg_end);
if (err) {
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)OCRAM_BASE + OCRAM_ALIAS_SIZE, reg_end);
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)OCRAM_BASE + OCRAM_ALIAS_SIZE, reg_end);
} else {
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
diff --git a/plat/imx/imx8qx/imx8qx_bl31_setup.c b/plat/imx/imx8qx/imx8qx_bl31_setup.c
index 7411f436..abd1e635 100644
--- a/plat/imx/imx8qx/imx8qx_bl31_setup.c
+++ b/plat/imx/imx8qx/imx8qx_bl31_setup.c
@@ -240,9 +240,9 @@ void imx8_partition_resources(void)
ERROR("Memreg get info failed, %u\n", mr_tee);
} else {
if ((BL32_LIMIT - 1) < end) {
- err = sc_rm_memreg_alloc(ipc_handle, &mr, BL32_LIMIT , end);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, BL32_LIMIT , end);
if (err) {
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)BL32_LIMIT, end);
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)BL32_LIMIT, end);
} else {
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
@@ -251,9 +251,9 @@ void imx8_partition_resources(void)
}
if (start < (BL32_BASE - 1)) {
- err = sc_rm_memreg_alloc(ipc_handle, &mr, start, BL32_BASE - 1);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, start, BL32_BASE - 1);
if (err) {
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n", start, (sc_faddr_t)BL32_BASE - 1);
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n", start, (sc_faddr_t)BL32_BASE - 1);
} else {
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
@@ -279,9 +279,9 @@ void imx8_partition_resources(void)
if ((end > BL32_BASE) && mr_tee_atf_same)
reg_end = BL32_BASE - 1;
#endif
- err = sc_rm_memreg_alloc(ipc_handle, &mr, BL31_LIMIT, reg_end);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, BL31_LIMIT, reg_end);
if (err) {
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)BL31_LIMIT, reg_end);
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)BL31_LIMIT, reg_end);
} else {
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
@@ -292,9 +292,9 @@ void imx8_partition_resources(void)
if (mr_tee_atf_same) {
if ((BL32_LIMIT - 1) < end) {
reg_start = BL32_LIMIT;
- err = sc_rm_memreg_alloc(ipc_handle, &mr, reg_start, end);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, reg_start, end);
if (err) {
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n", reg_start, reg_end);
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n", reg_start, reg_end);
} else {
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
@@ -305,9 +305,9 @@ void imx8_partition_resources(void)
#endif
if (start < (BL31_BASE - 1)) {
- err = sc_rm_memreg_alloc(ipc_handle, &mr, start, BL31_BASE - 1);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, start, BL31_BASE - 1);
if (err)
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n",
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n",
start, (sc_faddr_t)BL31_BASE - 1);
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)
@@ -324,9 +324,9 @@ void imx8_partition_resources(void)
ERROR("Memreg get info failed, %u\n", mr_ocram);
} else {
if ((OCRAM_BASE + OCRAM_ALIAS_SIZE - 1) < end) {
- err = sc_rm_memreg_alloc(ipc_handle, &mr, OCRAM_BASE + OCRAM_ALIAS_SIZE, reg_end);
+ err = sc_rm_memreg_frag(ipc_handle, &mr, OCRAM_BASE + OCRAM_ALIAS_SIZE, reg_end);
if (err) {
- ERROR("sc_rm_memreg_alloc failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)OCRAM_BASE + OCRAM_ALIAS_SIZE, reg_end);
+ ERROR("sc_rm_memreg_frag failed, 0x%llx -- 0x%llx\n", (sc_faddr_t)OCRAM_BASE + OCRAM_ALIAS_SIZE, reg_end);
} else {
err = sc_rm_assign_memreg(ipc_handle, os_part, mr);
if (err)