aboutsummaryrefslogtreecommitdiff
path: root/product/rddanielxlr/module
diff options
context:
space:
mode:
authorVijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>2020-06-15 21:20:25 +0530
committerChris Kay <chris@cjkay.com>2020-07-24 11:03:03 +0100
commit53af08f6c7a622127dd332de73d14fc59d6e90bd (patch)
tree92e2629f000f27b12755b87926f02064d7cd9ad0 /product/rddanielxlr/module
parentc5d895d9378d20cf504467e25d51c365544487b6 (diff)
rddanielxlr: mscp_rom: set vector table offset register
With the use of CMSIS from Commit afd75a9 ("Refactor the architecture layer"), ROM firmware is expected to set the vector table offset register to the RAM firmware's vector table before jumping to the RAM firmware. This patch sets the VTOR register to the RAM firmware's vector table for rddanielxlr platform. Change-Id: I29d36131274bb32b315fcd48564ee5ea4196ea1d Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
Diffstat (limited to 'product/rddanielxlr/module')
-rw-r--r--product/rddanielxlr/module/mscp_rom/src/mod_mscp_rom.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/product/rddanielxlr/module/mscp_rom/src/mod_mscp_rom.c b/product/rddanielxlr/module/mscp_rom/src/mod_mscp_rom.c
index e0f2823b..095f36a5 100644
--- a/product/rddanielxlr/module/mscp_rom/src/mod_mscp_rom.c
+++ b/product/rddanielxlr/module/mscp_rom/src/mod_mscp_rom.c
@@ -14,6 +14,8 @@
#include <fwk_status.h>
#include <fwk_thread.h>
+#include <fmw_cmsis.h>
+
#include <stdint.h>
#include <string.h>
@@ -43,6 +45,9 @@ static void jump_to_ramfw(void)
ramfw_reset_handler = (void (*)(void))*reset_base;
+ /* Set the vector table offset register to ramfw vector table */
+ SCB->VTOR = rom_config->ramfw_ram_base;
+
/*
* Execute the RAM firmware's reset handler to pass control from ROM
* firmware to the RAM firmware.