forked from Imagelibrary/rtems
bsps/arm: Set VBAR in start.S
Set the VBAR to the vector table in the start section before bsp_start_hook_0() is called to earlier handle exceptions in RTEMS. Set the VBAR to the normal vector table in start.S for the main processor. Secondary processors set it in bsp_start_hook_0(). Update #4202.
This commit is contained in:
@@ -55,6 +55,9 @@ void rpi_start_rtems_on_secondary_processor(void)
|
||||
{
|
||||
uint32_t ctrl;
|
||||
|
||||
/* Change the VBAR from the start to the normal vector table */
|
||||
arm_cp15_set_vector_base_address(bsp_vector_table_begin);
|
||||
|
||||
ctrl = arm_cp15_start_setup_mmu_and_cache(
|
||||
0,
|
||||
ARM_CP15_CTRL_AFE | ARM_CP15_CTRL_Z
|
||||
|
||||
@@ -117,9 +117,6 @@ void BSP_START_TEXT_SECTION bsp_start_hook_0(void)
|
||||
/* Clear Translation Table Base Control Register */
|
||||
arm_cp15_set_translation_table_base_control_register(0);
|
||||
|
||||
/* Clear Secure or Non-secure Vector Base Address Register */
|
||||
arm_cp15_set_vector_base_address(bsp_vector_table_begin);
|
||||
|
||||
#ifdef RTEMS_SMP
|
||||
if (cpu_index_self == 0) {
|
||||
rpi_ipi_initialize();
|
||||
|
||||
Reference in New Issue
Block a user