From 7b2f527b762ff7efbf18017fe8d715d4dc5ed89a Mon Sep 17 00:00:00 2001 From: benno Date: Mon, 29 Apr 2002 12:14:31 +0000 Subject: Commit of stuff that's been sitting in my tree for a while. Highlights include: - New low-level trap code from NetBSD. The high level code still needs a lot of work. - Fixes for some pmap handling in thread switching. - The kernel will now get to attempting to jump into init in user mode. There are some pmap/trap issues which prevent it from actually getting there though. Obtained from: NetBSD (parts) --- sys/powerpc/include/frame.h | 46 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'sys/powerpc/include/frame.h') diff --git a/sys/powerpc/include/frame.h b/sys/powerpc/include/frame.h index 72dbd9f..63f07bf 100644 --- a/sys/powerpc/include/frame.h +++ b/sys/powerpc/include/frame.h @@ -90,4 +90,50 @@ struct callframe { register_t cf_arg1; }; +#define IFRAMELEN sizeof(struct intrframe) +struct intrframe { + register_t r1; /* 0 */ + register_t _pad4; /* 4 */ + /* + * The next 4 fields are "clockframe" + */ + register_t srr1; /* 8 */ + register_t srr0; /* 12 */ + int pri; /* 16 */ + int intr_depth; /* 20 */ + register_t vrsave; /* 24 */ + register_t ctr; /* 28 */ + register_t xer; /* 32 */ + register_t cr; /* 36 */ + register_t lr; /* 40 */ + register_t r12; /* 44 */ + register_t r11; /* 48 */ + register_t r10; /* 52 */ + register_t r9; /* 56 */ + register_t r8; /* 60 */ + register_t r7; /* 64 */ + register_t r6; /* 68 */ + register_t r5; /* 72 */ + register_t r4; /* 76 */ + register_t r3; /* 80 */ + register_t r0; /* 84 */ +}; + +#define SPFRAMELEN sizeof(struct spillframe) +struct spillframe { + register_t r1; /* 0 */ + register_t _pad4; /* 4 */ + register_t r12; /* 8 */ + register_t r11; /* 12 */ + register_t r10; /* 16 */ + register_t r9; /* 20 */ + register_t r8; /* 24 */ + register_t r7; /* 28 */ + register_t r6; /* 32 */ + register_t r5; /* 36 */ + register_t r4; /* 40 */ + register_t r3; /* 44 */ + register_t r0; /* 48 */ +}; + #endif /* _MACHINE_FRAME_H_ */ -- cgit v1.1