interrupts: simplify position of sw ISR table

We now place the linker directives for the SW ISR table
in the common linker scripts, instead of repeating it
everywhere.

The table will be placed in RAM if dynamic interrupts are
enabled.

A dedicated section is used, as this data must not move
in between build phases.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
diff --git a/scripts/sanitycheck b/scripts/sanitycheck
index 67053d6..3f2ff65 100755
--- a/scripts/sanitycheck
+++ b/scripts/sanitycheck
@@ -646,7 +646,7 @@
     rw_sections = ["datas", "initlevel", "_k_task_list", "_k_event_list",
                    "_k_memory_pool", "exceptions", "initshell",
                    "_static_thread_area", "_k_timer_area", "_k_work_area",
-                   "_k_mem_slab_area", "_k_mem_pool_area",
+                   "_k_mem_slab_area", "_k_mem_pool_area", "sw_isr_table",
                    "_k_sem_area", "_k_mutex_area", "_k_alert_area",
                    "_k_fifo_area", "_k_lifo_area", "_k_stack_area",
                    "_k_msgq_area", "_k_mbox_area", "_k_pipe_area",
@@ -660,7 +660,8 @@
                    "priv_stacks_noinit"]
     # These get copied into RAM only on non-XIP
     ro_sections = ["text", "ctors", "init_array", "reset", "object_access",
-                   "rodata", "devconfig", "net_l2", "vector", "_bt_settings_area"]
+                   "rodata", "devconfig", "net_l2", "vector", "sw_isr_table",
+                   "_bt_settings_area"]
 
     def __init__(self, filename, extra_sections):
         """Constructor