summaryrefslogtreecommitdiffstats
path: root/cpukit/score/cpu/sparc/cpu.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-04-20 13:19:28 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-04-20 13:52:19 +0200
commit28b4c7acc4ef668488103a67341460caa862af36 (patch)
tree23d7ca7ad963e271cb19b46014425b011d8ffba7 /cpukit/score/cpu/sparc/cpu.c
parentbsps: Move benchmark timer to bsps (diff)
downloadrtems-28b4c7acc4ef668488103a67341460caa862af36.tar.bz2
sparc: Move _CPU_Trap_slot_template
The definition of _CPU_Trap_slot_template is BSP-independent. A potential para-virtualization support may use <rtems/score/paravirt.h>. This patch is a part of the BSP source reorganization. Update #3285.
Diffstat (limited to 'cpukit/score/cpu/sparc/cpu.c')
-rw-r--r--cpukit/score/cpu/sparc/cpu.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/cpukit/score/cpu/sparc/cpu.c b/cpukit/score/cpu/sparc/cpu.c
index 8916a7d988..cb94b14c71 100644
--- a/cpukit/score/cpu/sparc/cpu.c
+++ b/cpukit/score/cpu/sparc/cpu.c
@@ -146,6 +146,22 @@ RTEMS_STATIC_ASSERT(
);
/*
+ * This initializes the set of opcodes placed in each trap
+ * table entry. The routine which installs a handler is responsible
+ * for filling in the fields for the _handler address and the _vector
+ * trap type.
+ *
+ * The constants following this structure are masks for the fields which
+ * must be filled in when the handler is installed.
+ */
+const CPU_Trap_table_entry _CPU_Trap_slot_template = {
+ 0xa1480000, /* mov %psr, %l0 */
+ 0x29000000, /* sethi %hi(_handler), %l4 */
+ 0x81c52000, /* jmp %l4 + %lo(_handler) */
+ 0xa6102000 /* mov _vector, %l3 */
+};
+
+/*
* _CPU_Initialize
*
* This routine performs processor dependent initialization.