summaryrefslogtreecommitdiffstats
path: root/sys/alpha/include/cpu.h
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>1998-06-10 10:57:29 +0000
committerdfr <dfr@FreeBSD.org>1998-06-10 10:57:29 +0000
commit224577d6cf4d0daf37dddd81b9f9c646ad2be083 (patch)
tree345e0ea224736af311f2e28c0acb268d809bff9c /sys/alpha/include/cpu.h
parent2e6fba7d51b32033eec1fc27efaa0f8e840825fe (diff)
downloadFreeBSD-src-224577d6cf4d0daf37dddd81b9f9c646ad2be083.zip
FreeBSD-src-224577d6cf4d0daf37dddd81b9f9c646ad2be083.tar.gz
Add initial support for the FreeBSD/alpha kernel. This is very much a
work in progress and has never booted a real machine. Initial development and testing was done using SimOS (see http://simos.stanford.edu for details). On the SimOS simulator, this port successfully reaches single-user mode and has been tested with loads as high as one copy of /bin/ls :-). Obtained from: partly from NetBSD/alpha
Diffstat (limited to 'sys/alpha/include/cpu.h')
-rw-r--r--sys/alpha/include/cpu.h20
1 files changed, 7 insertions, 13 deletions
diff --git a/sys/alpha/include/cpu.h b/sys/alpha/include/cpu.h
index adf0eba..6b0c81f 100644
--- a/sys/alpha/include/cpu.h
+++ b/sys/alpha/include/cpu.h
@@ -1,4 +1,4 @@
-/* $Id$ */
+/* $Id: cpu.h,v 1.1 1998/01/10 10:13:14 jb Exp $ */
/* From: NetBSD: cpu.h,v 1.18 1997/09/23 23:17:49 mjacob Exp */
/*
@@ -53,12 +53,6 @@
#include <machine/frame.h>
/*
- * definitions of cpu-dependent requirements
- * referenced in generic code
- */
-#define cpu_wait(p) /* nothing */
-
-/*
* Arguments to hardclock and gatherstats encapsulate the previous
* machine state in an opaque clockframe. One the Alpha, we use
* what we push on an interrupt (a trapframe).
@@ -98,7 +92,7 @@ struct clockframe {
#define aston() (astpending = 1)
-#ifdef _KERNEL
+#ifdef KERNEL
u_int64_t astpending; /* need to trap before returning to user mode */
u_int64_t want_resched; /* resched() was called */
#endif
@@ -125,7 +119,7 @@ u_int64_t want_resched; /* resched() was called */
{ "booted_kernel", CTLTYPE_STRING }, \
}
-#ifdef _KERNEL
+#ifdef KERNEL
struct pcb;
struct proc;
@@ -133,7 +127,6 @@ struct reg;
struct rpb;
struct trapframe;
-extern int cold;
extern struct proc *fpcurproc;
extern struct rpb *hwrpb;
extern volatile int mc_expected, mc_received;
@@ -145,19 +138,19 @@ void XentMM __P((u_int64_t, u_int64_t, u_int64_t)); /* MAGIC */
void XentRestart __P((void)); /* MAGIC */
void XentSys __P((u_int64_t, u_int64_t, u_int64_t)); /* MAGIC */
void XentUna __P((u_int64_t, u_int64_t, u_int64_t)); /* MAGIC */
-void alpha_init __P((u_long, u_long, u_long, u_long));
+void alpha_init __P((u_long, u_long, u_long, u_long, u_long));
+int alpha_pa_access __P((u_long));
void ast __P((struct trapframe *));
int badaddr __P((void *, size_t));
int badaddr_read __P((void *, size_t, void *));
void child_return __P((struct proc *p));
-void configure __P((void));
u_int64_t console_restart __P((u_int64_t, u_int64_t, u_int64_t));
void do_sir __P((void));
void dumpconf __P((void));
void exception_return __P((void)); /* MAGIC */
void frametoreg __P((struct trapframe *, struct reg *));
long fswintrberr __P((void)); /* MAGIC */
-void init_prom_interface __P((void));
+void init_prom_interface __P((struct rpb*));
void interrupt
__P((unsigned long, unsigned long, unsigned long, struct trapframe *));
void machine_check
@@ -173,6 +166,7 @@ void switch_trampoline __P((void)); /* MAGIC */
void syscall __P((u_int64_t, struct trapframe *));
void trap __P((unsigned long, unsigned long, unsigned long, unsigned long,
struct trapframe *));
+void cpu_set_fork_handler __P((struct proc *, void (*pc)(void *), void *));
#endif /* _KERNEL */
OpenPOWER on IntegriCloud