summaryrefslogtreecommitdiffstats
path: root/sys/mips/include/reg.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/mips/include/reg.h')
-rw-r--r--sys/mips/include/reg.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/sys/mips/include/reg.h b/sys/mips/include/reg.h
index 6510db6..c240506 100644
--- a/sys/mips/include/reg.h
+++ b/sys/mips/include/reg.h
@@ -42,6 +42,10 @@
#ifndef _MACHINE_REG_H_
#define _MACHINE_REG_H_
+#if defined(_KERNEL) && !defined(KLD_MODULE) && !defined(_STANDALONE)
+#include "opt_compat.h"
+#endif
+
/*
* Location of the users' stored registers relative to ZERO.
* must be visible to assembly code.
@@ -66,6 +70,21 @@ struct dbreg {
unsigned long junk;
};
+#ifdef COMPAT_FREEBSD32
+/* Must match struct trapframe */
+struct reg32 {
+ uint32_t r_regs[NUMSAVEREGS];
+};
+
+struct fpreg32 {
+ int32_t r_regs[NUMFPREGS];
+};
+
+struct dbreg32 {
+ uint32_t junk;
+};
+#endif
+
#ifdef _KERNEL
int fill_fpregs(struct thread *, struct fpreg *);
int fill_regs(struct thread *, struct reg *);
@@ -75,4 +94,16 @@ int fill_dbregs(struct thread *, struct dbreg *);
int set_dbregs(struct thread *, struct dbreg *);
#endif
+#ifdef COMPAT_FREEBSD32
+struct image_params;
+
+int fill_regs32(struct thread *, struct reg32 *);
+int set_regs32(struct thread *, struct reg32 *);
+int fill_fpregs32(struct thread *, struct fpreg32 *);
+int set_fpregs32(struct thread *, struct fpreg32 *);
+
+#define fill_dbregs32(td, reg) 0
+#define set_dbregs32(td, reg) 0
+#endif
+
#endif /* !_MACHINE_REG_H_ */
OpenPOWER on IntegriCloud