diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2013-08-15 01:22:18 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2013-08-27 00:45:09 -0400 |
commit | d671ddd6654daf93c56f6ddff827bed448e1a312 (patch) | |
tree | 7da5af386cc26a09dc5da0bcabd930b5a4e857f7 /arch/powerpc | |
parent | fa111f1f764783fd5f1f12f5dd5d5f66d3160b48 (diff) |
powerpc: Add more exception trampolines for hypervisor exceptions
This makes back traces and profiles easier to read.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/kernel/exceptions-64s.S | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S index aa73bf940849..17f761dccb7a 100644 --- a/arch/powerpc/kernel/exceptions-64s.S +++ b/arch/powerpc/kernel/exceptions-64s.S | |||
@@ -293,27 +293,31 @@ system_call_pSeries: | |||
293 | * out of line to handle them | 293 | * out of line to handle them |
294 | */ | 294 | */ |
295 | . = 0xe00 | 295 | . = 0xe00 |
296 | hv_exception_trampoline: | 296 | hv_data_storage_trampoline: |
297 | SET_SCRATCH0(r13) | 297 | SET_SCRATCH0(r13) |
298 | EXCEPTION_PROLOG_0(PACA_EXGEN) | 298 | EXCEPTION_PROLOG_0(PACA_EXGEN) |
299 | b h_data_storage_hv | 299 | b h_data_storage_hv |
300 | 300 | ||
301 | . = 0xe20 | 301 | . = 0xe20 |
302 | hv_instr_storage_trampoline: | ||
302 | SET_SCRATCH0(r13) | 303 | SET_SCRATCH0(r13) |
303 | EXCEPTION_PROLOG_0(PACA_EXGEN) | 304 | EXCEPTION_PROLOG_0(PACA_EXGEN) |
304 | b h_instr_storage_hv | 305 | b h_instr_storage_hv |
305 | 306 | ||
306 | . = 0xe40 | 307 | . = 0xe40 |
308 | emulation_assist_trampoline: | ||
307 | SET_SCRATCH0(r13) | 309 | SET_SCRATCH0(r13) |
308 | EXCEPTION_PROLOG_0(PACA_EXGEN) | 310 | EXCEPTION_PROLOG_0(PACA_EXGEN) |
309 | b emulation_assist_hv | 311 | b emulation_assist_hv |
310 | 312 | ||
311 | . = 0xe60 | 313 | . = 0xe60 |
314 | hv_exception_trampoline: | ||
312 | SET_SCRATCH0(r13) | 315 | SET_SCRATCH0(r13) |
313 | EXCEPTION_PROLOG_0(PACA_EXGEN) | 316 | EXCEPTION_PROLOG_0(PACA_EXGEN) |
314 | b hmi_exception_hv | 317 | b hmi_exception_hv |
315 | 318 | ||
316 | . = 0xe80 | 319 | . = 0xe80 |
320 | hv_doorbell_trampoline: | ||
317 | SET_SCRATCH0(r13) | 321 | SET_SCRATCH0(r13) |
318 | EXCEPTION_PROLOG_0(PACA_EXGEN) | 322 | EXCEPTION_PROLOG_0(PACA_EXGEN) |
319 | b h_doorbell_hv | 323 | b h_doorbell_hv |
@@ -809,6 +813,7 @@ system_call_relon_pSeries: | |||
809 | b . /* Can't happen, see v2.07 Book III-S section 6.5 */ | 813 | b . /* Can't happen, see v2.07 Book III-S section 6.5 */ |
810 | 814 | ||
811 | . = 0x4e40 | 815 | . = 0x4e40 |
816 | emulation_assist_relon_trampoline: | ||
812 | SET_SCRATCH0(r13) | 817 | SET_SCRATCH0(r13) |
813 | EXCEPTION_PROLOG_0(PACA_EXGEN) | 818 | EXCEPTION_PROLOG_0(PACA_EXGEN) |
814 | b emulation_assist_relon_hv | 819 | b emulation_assist_relon_hv |
@@ -817,6 +822,7 @@ system_call_relon_pSeries: | |||
817 | b . /* Can't happen, see v2.07 Book III-S section 6.5 */ | 822 | b . /* Can't happen, see v2.07 Book III-S section 6.5 */ |
818 | 823 | ||
819 | . = 0x4e80 | 824 | . = 0x4e80 |
825 | h_doorbell_relon_trampoline: | ||
820 | SET_SCRATCH0(r13) | 826 | SET_SCRATCH0(r13) |
821 | EXCEPTION_PROLOG_0(PACA_EXGEN) | 827 | EXCEPTION_PROLOG_0(PACA_EXGEN) |
822 | b h_doorbell_relon_hv | 828 | b h_doorbell_relon_hv |