Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Aug 2006 21:49:31 GMT
From:      Oleksandr Tymoshenko <gonzo@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 104863 for review
Message-ID:  <200608232149.k7NLnVaU022557@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=104863

Change 104863 by gonzo@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_ */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200608232149.k7NLnVaU022557>