diff options
author | dyson <dyson@FreeBSD.org> | 1997-08-09 00:04:06 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1997-08-09 00:04:06 +0000 |
commit | ad0649e2b977efaa77b68c699a1f44b12e7429d1 (patch) | |
tree | 925573ddb83b4a0cf21a7d136de8f44817243b6c /sys/amd64/include/frame.h | |
parent | 56b351207af0157d77bdd770e72c7ff038d57164 (diff) | |
download | FreeBSD-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/amd64/include/frame.h')
-rw-r--r-- | sys/amd64/include/frame.h | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/sys/amd64/include/frame.h b/sys/amd64/include/frame.h index 43201f2..05092c2 100644 --- a/sys/amd64/include/frame.h +++ b/sys/amd64/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 { |