diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2020-04-27 21:08:07 +1000 |
---|---|---|
committer | Oliver O'Halloran <oohall@gmail.com> | 2020-06-11 12:52:55 +1000 |
commit | dca0d5345631fb8d116eaf015416a6a51ead6028 (patch) | |
tree | b915839cd60658fbd16e971262b881cd153b8864 /include/mem-map.h | |
parent | ac08f4aa9c772eb03b2460500c64b77822f05bf4 (diff) | |
download | skiboot-dca0d5345631fb8d116eaf015416a6a51ead6028.zip skiboot-dca0d5345631fb8d116eaf015416a6a51ead6028.tar.gz skiboot-dca0d5345631fb8d116eaf015416a6a51ead6028.tar.bz2 |
core: interrupt markers for stack traces
Use magic marker in the exception stack frame that is used by the
unwinder to decode the interrupt type and NIA. The below example trace
comes from a modified skiboot that uses virtual memory, but any
interrupt type will appear similarly.
CPU 0000 Backtrace:
S: 0000000031c13580 R: 0000000030028210 .vm_dsi+0x360
S: 0000000031c13630 R: 000000003003b0dc .exception_entry+0x4fc
S: 0000000031c13830 R: 0000000030001f4c exception_entry_foo+0x4
--- Interrupt 0x300 at 000000003002431c ---
S: 0000000031c13b40 R: 000000003002430c .make_free.isra.0+0x110
S: 0000000031c13bd0 R: 0000000030025198 .mem_alloc+0x4a0
S: 0000000031c13c80 R: 0000000030028bac .__memalign+0x48
S: 0000000031c13d10 R: 0000000030028da4 .__zalloc+0x18
S: 0000000031c13d90 R: 000000003002fb34 .opal_init_msg+0x34
S: 0000000031c13e20 R: 00000000300234b4 .main_cpu_entry+0x61c
S: 0000000031c13f00 R: 00000000300031b8 boot_entry+0x1b0
--- OPAL boot ---
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[oliver: the new stackentry fields made our test heaps too small]
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
fixup! core: interrupt markers for stack traces
Diffstat (limited to 'include/mem-map.h')
-rw-r--r-- | include/mem-map.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/mem-map.h b/include/mem-map.h index b654012..15ec09e 100644 --- a/include/mem-map.h +++ b/include/mem-map.h @@ -19,7 +19,7 @@ /* End of the exception region we copy from 0x0. 0x0-0x100 will have * IPL data and is not actually for exception vectors. */ -#define EXCEPTION_VECTORS_END 0x2000 +#define EXCEPTION_VECTORS_END 0x3000 #define NACA_OFF 0x4000 |