diff options
author | marcel <marcel@FreeBSD.org> | 2008-02-04 02:21:33 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2008-02-04 02:21:33 +0000 |
commit | c1a1c62b2afb3f2602fa7d2c438ce32eacc9f72b (patch) | |
tree | b4eb04d38b3f9012de64a868c443f8563f747654 /sys/ia64/include/md_var.h | |
parent | 72d185548f88b6924d5a926aa9b6877ebe113169 (diff) | |
download | FreeBSD-src-c1a1c62b2afb3f2602fa7d2c438ce32eacc9f72b.zip FreeBSD-src-c1a1c62b2afb3f2602fa7d2c438ce32eacc9f72b.tar.gz |
Allocate a stack for thread0 and switch to it before calling
mi_startup(). This frees up kstack for static PAL/SAL calls
and double-fault handling.
Diffstat (limited to 'sys/ia64/include/md_var.h')
-rw-r--r-- | sys/ia64/include/md_var.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/ia64/include/md_var.h b/sys/ia64/include/md_var.h index 738fefa..0520e57 100644 --- a/sys/ia64/include/md_var.h +++ b/sys/ia64/include/md_var.h @@ -71,6 +71,11 @@ struct reg; struct thread; struct trapframe; +struct ia64_init_return { + uint64_t bspstore; + uint64_t sp; +}; + void busdma_swi(void); int copyout_regstack(struct thread *, uint64_t *, uint64_t *); void cpu_mp_add(u_int, u_int, u_int); @@ -82,7 +87,7 @@ int ia64_flush_dirty(struct thread *, struct _special *); uint64_t ia64_get_hcdp(void); int ia64_highfp_drop(struct thread *); int ia64_highfp_save(struct thread *); -void ia64_init(void); +struct ia64_init_return ia64_init(void); void ia64_probe_sapics(void); void interrupt(struct trapframe *); void map_gateway_page(void); |