summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/frame.h
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1997-08-09 00:04:06 +0000
committerdyson <dyson@FreeBSD.org>1997-08-09 00:04:06 +0000
commitad0649e2b977efaa77b68c699a1f44b12e7429d1 (patch)
tree925573ddb83b4a0cf21a7d136de8f44817243b6c /sys/i386/include/frame.h
parent56b351207af0157d77bdd770e72c7ff038d57164 (diff)
downloadFreeBSD-src-ad0649e2b977efaa77b68c699a1f44b12e7429d1.zip
FreeBSD-src-ad0649e2b977efaa77b68c699a1f44b12e7429d1.tar.gz
VM86 kernel support.
Work done by BSDI, Jonathan Lemon <jlemon@americantv.com>, Mike Smith <msmith@gsoft.com.au>, Sean Eric Fagan <sef@kithrup.com>, and probably alot of others. Submitted by: Jnathan Lemon <jlemon@americantv.com>
Diffstat (limited to 'sys/i386/include/frame.h')
-rw-r--r--sys/i386/include/frame.h31
1 files changed, 30 insertions, 1 deletions
diff --git a/sys/i386/include/frame.h b/sys/i386/include/frame.h
index 43201f2..05092c2 100644
--- a/sys/i386/include/frame.h
+++ b/sys/i386/include/frame.h
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)frame.h 5.2 (Berkeley) 1/18/91
- * $Id$
+ * $Id: frame.h,v 1.14 1997/02/22 09:34:38 peter Exp $
*/
#ifndef _MACHINE_FRAME_H_
@@ -72,6 +72,35 @@ struct trapframe {
int tf_ss;
};
+/* Superset of trap frame, for traps from virtual-8086 mode */
+
+struct trapframe_vm86 {
+ int tf_es;
+ int tf_ds;
+ int tf_edi;
+ int tf_esi;
+ int tf_ebp;
+ int tf_isp;
+ int tf_ebx;
+ int tf_edx;
+ int tf_ecx;
+ int tf_eax;
+ int tf_trapno;
+ /* below portion defined in 386 hardware */
+ int tf_err;
+ int tf_eip;
+ int tf_cs;
+ int tf_eflags;
+ /* below only when crossing rings (e.g. user to kernel) */
+ int tf_esp;
+ int tf_ss;
+ /* below only when switching out of VM86 mode */
+ int tf_vm86_es;
+ int tf_vm86_ds;
+ int tf_vm86_fs;
+ int tf_vm86_gs;
+};
+
/* Interrupt stack frame */
struct intrframe {
OpenPOWER on IntegriCloud