2 * Copyright (C) 1996 Paul Mackerras.
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License
6 * as published by the Free Software Foundation; either version
7 * 2 of the License, or (at your option) any later version.
9 * NOTE: assert(sizeof(buf) > 23 * sizeof(long))
11 #include <asm/processor.h>
12 #include <asm/ppc_asm.h>
13 #include <asm/asm-offsets.h>
77 * Grab the register values as they are now.
78 * This won't do a particularily good job because we really
79 * want our caller's caller's registers, and our caller has
80 * already executed its prologue.
81 * ToDo: We could reach back into the caller's save area to do
82 * a better job of representing the caller's state (note that
83 * that will be different for 32-bit and 64-bit, because of the
84 * different ABIs, though).
86 _GLOBAL(xmon_save_regs)
118 /* go up one stack frame for SP */
121 /* get caller's LR */
123 STL r0,_NIP-STACK_FRAME_OVERHEAD(r3)
124 STL r0,_LINK-STACK_FRAME_OVERHEAD(r3)
126 STL r0,_MSR-STACK_FRAME_OVERHEAD(r3)
128 STL r0,_CTR-STACK_FRAME_OVERHEAD(r3)
130 STL r0,_XER-STACK_FRAME_OVERHEAD(r3)
132 STL r0,_CCR-STACK_FRAME_OVERHEAD(r3)
134 STL r0,_TRAP-STACK_FRAME_OVERHEAD(r3)