PERFORCE change 104863 for review
Oleksandr Tymoshenko
gonzo at FreeBSD.org
Wed Aug 23 21:49:33 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=104863
Change 104863 by gonzo at gonzo_hideout on 2006/08/23 21:48:56
o Define register size for libc routines in asm.h
o Replace amd64's ucontext with mips' one.
Affected files ...
.. //depot/projects/mips2/src/sys/mips/include/asm.h#6 edit
.. //depot/projects/mips2/src/sys/mips/include/ucontext.h#2 edit
Differences ...
==== //depot/projects/mips2/src/sys/mips/include/asm.h#6 (text+ko) ====
@@ -101,6 +101,11 @@
#define ta2 $10
#define ta3 $11
+/* XXX: values which depends on register size.
+ * Used for sigcontext/mcontext_t handling.
+ */
+#define SZREG 4
+#define _OFFSETOF_SC_REGS 8
#if 0
/* XXX: Should this be kt0 or kt1? */
==== //depot/projects/mips2/src/sys/mips/include/ucontext.h#2 (text+ko) ====
@@ -39,44 +39,14 @@
* and ucontext_t at the same time.
*/
__register_t mc_onstack; /* XXX - sigcontext compat. */
- __register_t mc_rdi; /* machine state (struct trapframe) */
- __register_t mc_rsi;
- __register_t mc_rdx;
- __register_t mc_rcx;
- __register_t mc_r8;
- __register_t mc_r9;
- __register_t mc_rax;
- __register_t mc_rbx;
- __register_t mc_rbp;
- __register_t mc_r10;
- __register_t mc_r11;
- __register_t mc_r12;
- __register_t mc_r13;
- __register_t mc_r14;
- __register_t mc_r15;
- __register_t mc_trapno;
- __register_t mc_addr;
- __register_t mc_flags;
- __register_t mc_err;
- __register_t mc_rip;
- __register_t mc_cs;
- __register_t mc_rflags;
- __register_t mc_rsp;
- __register_t mc_ss;
+ __register_t mc_pc; /* pc at time of signal */
+ __register_t mc_regs[32]; /* processor regs 0 to 31 */
+ __register_t mullo, mulhi;/* mullo and mulhi registers... */
+ int mc_fpused; /* fp has been used */
+ int mc_fpregs[33]; /* fp regs 0 to 31 and csr */
+ int mc_fpc_eir; /* floating point exception instruction reg */
+ int mc_xxx[8]; /* XXX reserved */
- long mc_len; /* sizeof(mcontext_t) */
-#define _MC_FPFMT_NODEV 0x10000 /* device not present or configured */
-#define _MC_FPFMT_XMM 0x10002
- long mc_fpformat;
-#define _MC_FPOWNED_NONE 0x20000 /* FP state not used */
-#define _MC_FPOWNED_FPU 0x20001 /* FP state came from FPU */
-#define _MC_FPOWNED_PCB 0x20002 /* FP state came from PCB */
- long mc_ownedfp;
- /*
- * See <machine/fpu.h> for the internals of mc_fpstate[].
- */
- long mc_fpstate[64] __aligned(16);
- long mc_spare[8];
} mcontext_t;
#endif /* !_MACHINE_UCONTEXT_H_ */
More information about the p4-projects
mailing list