summaryrefslogtreecommitdiffstats
path: root/src/kernel/start.S
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2011-07-22 12:09:08 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2011-08-01 11:02:59 -0500
commit937c177a8f2decfc05aa4c36788cb14a84631b05 (patch)
tree1b4af8109605ac43e2a39de17fbaffe5112a1b11 /src/kernel/start.S
parent3293260511403dc21a42e949c8c248f61da92073 (diff)
downloadtalos-hostboot-937c177a8f2decfc05aa4c36788cb14a84631b05.tar.gz
talos-hostboot-937c177a8f2decfc05aa4c36788cb14a84631b05.zip
Add handling for HvEmu exception.
Change-Id: I03a7460b347b47f4653a6f457d1d7711fc0a0512 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/209 Tested-by: Jenkins Server Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com> Reviewed-by: MATTHEW S. BARTH <msbarth@us.ibm.com>
Diffstat (limited to 'src/kernel/start.S')
-rw-r--r--src/kernel/start.S13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/kernel/start.S b/src/kernel/start.S
index 68af33c04..bdf872d9d 100644
--- a/src/kernel/start.S
+++ b/src/kernel/start.S
@@ -84,7 +84,10 @@ finished_relocate:
b intvect_##name
#define STD_INTERRUPT(name, address) \
- .org _start + address; \
+ .org _start + address; \
+ STD_INTERRUPT_NOADDR(name)
+
+#define STD_INTERRUPT_NOADDR(name) \
intvect_##name: \
or 3,3,3; /* Ensure thread priority is high. */ \
mtsprg1 r1; /* Save GPR1 */ \
@@ -147,7 +150,11 @@ STD_INTERRUPT(system_call, 0xC08)
UNIMPL_INTERRUPT(trace, 0xD00)
UNIMPL_INTERRUPT(hype_data_storage, 0xE00)
UNIMPL_INTERRUPT(hype_inst_storage, 0xE20)
-UNIMPL_INTERRUPT(hype_emu_assist, 0xE40)
+
+.org _start + 0xE40
+hype_emu_assist_stub:
+ b intvect_hype_emu_assist
+
UNIMPL_INTERRUPT(hype_maint, 0xE60)
UNIMPL_INTERRUPT(perf_monitor, 0xF00)
UNIMPL_INTERRUPT(vector_unavail, 0xF20)
@@ -395,6 +402,8 @@ userspace_task_entry:
ld r2, 8(r4)
bctr
+STD_INTERRUPT_NOADDR(hype_emu_assist)
+
.section .data
.balign 1024
kernel_stack:
OpenPOWER on IntegriCloud