summaryrefslogtreecommitdiffstats
path: root/sys/mips/include
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2013-04-25 06:29:23 +0000
committerimp <imp@FreeBSD.org>2013-04-25 06:29:23 +0000
commit26718d463f213daa4cb92915bd0a3932f721c61a (patch)
tree955abd35a22e20b706ec79ac348a50a3fb56f674 /sys/mips/include
parentc75545d74104ff42fa4eee01aaff9ade00e13376 (diff)
downloadFreeBSD-src-26718d463f213daa4cb92915bd0a3932f721c61a.zip
FreeBSD-src-26718d463f213daa4cb92915bd0a3932f721c61a.tar.gz
Make it possible to include this file in assembler .S sources.
Diffstat (limited to 'sys/mips/include')
-rw-r--r--sys/mips/include/pcb.h27
1 files changed, 14 insertions, 13 deletions
diff --git a/sys/mips/include/pcb.h b/sys/mips/include/pcb.h
index 52589f5..13cc255 100644
--- a/sys/mips/include/pcb.h
+++ b/sys/mips/include/pcb.h
@@ -42,20 +42,7 @@
#ifndef _MACHINE_PCB_H_
#define _MACHINE_PCB_H_
-#include <machine/frame.h>
-
/*
- * MIPS process control block
- */
-struct pcb
-{
- struct trapframe pcb_regs; /* saved CPU and registers */
- __register_t pcb_context[14]; /* kernel context for resume */
- void *pcb_onfault; /* for copyin/copyout faults */
- register_t pcb_tpc;
-};
-
-/* these match the regnum's in regnum.h
* used by switch.S
*/
#define PCB_REG_S0 0
@@ -73,6 +60,19 @@ struct pcb
#define PCB_REG_GP 12
#define PCB_REG_PC 13
+#ifndef LOCORE
+#include <machine/frame.h>
+
+/*
+ * MIPS process control block
+ */
+struct pcb
+{
+ struct trapframe pcb_regs; /* saved CPU and registers */
+ __register_t pcb_context[14]; /* kernel context for resume */
+ void *pcb_onfault; /* for copyin/copyout faults */
+ register_t pcb_tpc;
+};
#ifdef _KERNEL
extern struct pcb *curpcb; /* the current running pcb */
@@ -80,5 +80,6 @@ extern struct pcb *curpcb; /* the current running pcb */
void makectx(struct trapframe *, struct pcb *);
int savectx(struct pcb *) __returns_twice;
#endif
+#endif
#endif /* !_MACHINE_PCB_H_ */
OpenPOWER on IntegriCloud