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)

Reply via email to