Module Name: src Committed By: scole Date: Fri Aug 5 17:01:13 UTC 2016
Modified Files: src/sys/arch/ia64/include: mcontext.h Log Message: PR port-ia64/51261 Add __fpregset_t __gregset_t _UC_MACHINE_PC stubs To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/ia64/include/mcontext.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/ia64/include/mcontext.h diff -u src/sys/arch/ia64/include/mcontext.h:1.4 src/sys/arch/ia64/include/mcontext.h:1.5 --- src/sys/arch/ia64/include/mcontext.h:1.4 Thu Jun 30 01:41:05 2016 +++ src/sys/arch/ia64/include/mcontext.h Fri Aug 5 17:01:13 2016 @@ -1,9 +1,11 @@ -/* $NetBSD: mcontext.h,v 1.4 2016/06/30 01:41:05 mrg Exp $ */ +/* $NetBSD: mcontext.h,v 1.5 2016/08/05 17:01:13 scole Exp $ */ /*- * Copyright (c) 1999 The NetBSD Foundation, Inc. * All rights reserved. * + * Copyright (c) 1999, 2003 Marcel Moolenaar + * * This code is derived from software contributed to The NetBSD Foundation * by Klaus Klein. * @@ -15,6 +17,8 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -34,6 +38,19 @@ #include <machine/_regset.h> +/* XXX fix this, just get to compile for now */ +#define _NGREG 128 + +#ifndef __ASSEMBLER__ +typedef unsigned long __greg_t; +typedef __greg_t __gregset_t[_NGREG]; + +typedef struct { + union _ia64_fpreg __fpregs[_NGREG]; +} __fpregset_t; + +#endif /* __ASSEMBLER__ */ + /* * The mc_flags field provides the necessary clues when dealing with the gory * details of ia64 specific contexts. A comprehensive explanation is added for @@ -80,7 +97,6 @@ typedef struct __mcontext { unsigned long mc_flags; #define _MC_FLAGS_ASYNC_CONTEXT 0x0001 #define _MC_FLAGS_HIGHFP_VALID 0x0002 -#define _MC_FLAGS_KSE_SET_MBOX 0x0004 /* Undocumented. Has to go. */ #define _MC_FLAGS_SYSCALL_CONTEXT 0x0008 unsigned long _reserved_; struct _special mc_special; @@ -89,10 +105,15 @@ typedef struct __mcontext { struct _caller_saved mc_scratch; struct _caller_saved_fp mc_scratch_fp; struct _high_fp mc_high_fp; + + /* XXX fix */ + __gregset_t __gregs; + __fpregset_t __fpregs; } mcontext_t; #define _UC_MACHINE_SP(uc) ((uc)->uc_mcontext.mc_special.sp) -#define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.mc_special.rp) +/* XXX or assembly "mov Rn = ip" or ...? */ +#define _UC_MACHINE_PC(uc) ((uc)->uc_mcontext.mc_special.iip) static __inline void * __lwp_getprivate_fast(void)