summaryrefslogtreecommitdiff
path: root/sys/arch/hppa/include
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2005-03-26 20:04:38 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2005-03-26 20:04:38 +0000
commitb5bb387801f3c21ecfc301be09e66090598230a3 (patch)
treed3aadcb6d3a25598461c63309e44cb5343f80133 /sys/arch/hppa/include
parent6160bfd705f7b5128e07c0ebb4f6b1ecd8b987d9 (diff)
md parts for hpux_compa code; some problems w/ signals delivery still exist
Diffstat (limited to 'sys/arch/hppa/include')
-rw-r--r--sys/arch/hppa/include/hpux_machdep.h82
-rw-r--r--sys/arch/hppa/include/pcb.h15
2 files changed, 92 insertions, 5 deletions
diff --git a/sys/arch/hppa/include/hpux_machdep.h b/sys/arch/hppa/include/hpux_machdep.h
new file mode 100644
index 00000000000..4e16c537f06
--- /dev/null
+++ b/sys/arch/hppa/include/hpux_machdep.h
@@ -0,0 +1,82 @@
+/* $OpenBSD: hpux_machdep.h,v 1.1 2005/03/26 20:04:37 mickey Exp $ */
+
+/*
+ * Copyright (c) 2004 Michael Shalayeff
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR OR HIS RELATIVES BE LIABLE FOR ANY DIRECT,
+ * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF MIND, USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
+ * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _HPPA_HPUX_MACHDEP_H_
+#define _HPPA_HPUX_MACHDEP_H_
+
+struct hpux_sigcontext {
+ int sc_syscall;
+ int sc_onstack;
+ int sc_omask;
+ char sc_scact; /* action to take on return from a syscall */
+ char sc_eosys;
+ u_short sc_err;
+ register_t sc_ret0;
+ register_t sc_ret1;
+ register_t sc_args[4]; /* args for the handler */
+
+ /* HP/UX trapframe kinda thing */
+ int sc_tfflags;
+ register_t sc_regs[62];
+ int sc_pad;
+ int sc_fpregs[64];
+ int sc_resv[32];
+
+#if 0
+ int sc_spare[8];
+ u_int sc_flags;
+ u_int sc_ctxptr;
+ hpux_sigset_t sc_sigmask;
+ hpux_stack_t sc_stack;
+ hpux_siginfo_t sc_si;
+#endif
+
+ /* call frame follows */
+ register_t sc_frame[4+8];
+};
+
+#define HPUX_SIGCONTEXT_GETCTX 0x01 /* created by getcontext() */
+
+/* trapframe flags */
+#define HPUX_TFF_TRAP 0x0001
+#define HPUX_TFF_SYSCALL 0x0002
+#define HPUX_TFF_INTR 0x0004
+#define HPUX_TFF_ARGSVALID 0x0010
+#define HPUX_TFF_WIDEREGS 0x0040
+
+int hpux_cpu_makecmds(struct proc *p, struct exec_package *epp);
+int hpux_cpu_vmcmd(struct proc *p, struct exec_vmcmd *ev);
+int hpux_cpu_sysconf_arch(void);
+int hpux_sys_getcontext(struct proc *p, void *v, register_t *retval);
+int hpux_to_bsd_uoff(int *off, int *isps, struct proc *p);
+void hpux_setregs(struct proc *p, struct exec_package *pack,
+ u_long stack, register_t *retval);
+void hpux_sendsig(sig_t catcher, int sig, int mask, u_long code,
+ int type, union sigval val);
+
+#endif /* _HPPA_HPUX_MACHDEP_H_ */
diff --git a/sys/arch/hppa/include/pcb.h b/sys/arch/hppa/include/pcb.h
index 16da7dd0053..612c4231586 100644
--- a/sys/arch/hppa/include/pcb.h
+++ b/sys/arch/hppa/include/pcb.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcb.h,v 1.9 2004/06/08 22:00:25 mickey Exp $ */
+/* $OpenBSD: pcb.h,v 1.10 2005/03/26 20:04:37 mickey Exp $ */
/*
* Copyright (c) 1999-2004 Michael Shalayeff
@@ -34,10 +34,15 @@
struct pcb {
u_int64_t pcb_fpregs[HPPA_NFPREGS+1]; /* not in the trapframe */
- u_int pcb_onfault; /* SW copy fault handler */
- pa_space_t pcb_space; /* copy pmap_space, for asm's sake */
- vaddr_t pcb_uva; /* KVA for U-area */
- u_int pcb_ksp; /* kernel sp for ctxsw */
+ u_int pcb_onfault; /* SW copy fault handler */
+ pa_space_t pcb_space; /* copy pmap_space, for asm's sake */
+ vaddr_t pcb_uva; /* KVA for U-area */
+ u_int pcb_ksp; /* kernel sp for ctxsw */
+
+ /* things used for hpux emulation */
+ void *pcb_sigreturn;
+ u_int pcb_srcookie;
+ u_int pcb_sclen;
};
struct md_coredump {