[sw] Clean up the mtvec loading code

Signed-off-by: Douglas Reis <doreis@lowrisc.org>
diff --git a/sw/device/exts/common/flash_crt.S b/sw/device/exts/common/flash_crt.S
index 45b109e..ea4187a 100644
--- a/sw/device/exts/common/flash_crt.S
+++ b/sw/device/exts/common/flash_crt.S
@@ -45,7 +45,7 @@
   .option pop
 
   // Set up the new interrupt vector.
-  la   t0, crt_interrupt_vector
+  la   t0, (crt_interrupt_vector + 1)
   csrw mtvec, t0
 
   // Zero out the `.bss` segment.
diff --git a/sw/device/silicon_creator/rom_ext/rom_ext_start.S b/sw/device/silicon_creator/rom_ext/rom_ext_start.S
index 43c4a9a..1fbd1f1 100644
--- a/sw/device/silicon_creator/rom_ext/rom_ext_start.S
+++ b/sw/device/silicon_creator/rom_ext/rom_ext_start.S
@@ -154,9 +154,7 @@
    *
    * The lowest two bits should be `0b01` to ensure we use vectored interrupts.
    */
-  la   t0, _rom_ext_interrupt_vector
-  andi t0, t0, -4
-  ori  t0, t0, 0b01
+  la   t0, (_rom_ext_interrupt_vector + 1)
   csrw mtvec, t0
 
   /**
diff --git a/sw/device/silicon_owner/bare_metal/bare_metal_start.S b/sw/device/silicon_owner/bare_metal/bare_metal_start.S
index ebeef6a..4b8fd25 100644
--- a/sw/device/silicon_owner/bare_metal/bare_metal_start.S
+++ b/sw/device/silicon_owner/bare_metal/bare_metal_start.S
@@ -151,9 +151,7 @@
    *
    * The lowest two bits should be `0b01` to ensure we use vectored interrupts.
    */
-  la   t0, _interrupt_vector
-  andi t0, t0, -4
-  ori  t0, t0, 0b01
+  la   t0, (_interrupt_vector + 1)
   csrw mtvec, t0
 
   /**