summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/include
diff options
context:
space:
mode:
authorgrehan <grehan@FreeBSD.org>2004-07-22 01:28:51 +0000
committergrehan <grehan@FreeBSD.org>2004-07-22 01:28:51 +0000
commit1248963e47812a7f285dfb3ada018e469fa03db7 (patch)
treebccb0e20c741ec49a9846bd18235002beb0acfe4 /sys/powerpc/include
parente77cc66588643df786ee7ef6cb0d0ef8a54ccc7f (diff)
downloadFreeBSD-src-1248963e47812a7f285dfb3ada018e469fa03db7.zip
FreeBSD-src-1248963e47812a7f285dfb3ada018e469fa03db7.tar.gz
Update the callframe structure to leave space for the frame pointer
and saved link register as per the ABI call sequence. Update code that uses this (fork_trampoline etc) to use the correct genassym'd offsets. This fixes the 'invalid LR' message when backtracing kernel threads in DDB.
Diffstat (limited to 'sys/powerpc/include')
-rw-r--r--sys/powerpc/include/frame.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/powerpc/include/frame.h b/sys/powerpc/include/frame.h
index 6b75e46..ae0103b 100644
--- a/sys/powerpc/include/frame.h
+++ b/sys/powerpc/include/frame.h
@@ -85,6 +85,8 @@ struct clockframe {
* Call frame for PowerPC used during fork.
*/
struct callframe {
+ register_t cf_dummy_fp; /* dummy frame pointer */
+ register_t cf_lr; /* space for link register save */
register_t cf_func;
register_t cf_arg0;
register_t cf_arg1;
OpenPOWER on IntegriCloud