00001 /***************************************************************************************** 00002 Copyright (c) 2002-2004 The UbixOS Project 00003 All rights reserved. 00004 00005 Redistribution and use in source and binary forms, with or without modification, are 00006 permitted provided that the following conditions are met: 00007 00008 Redistributions of source code must retain the above copyright notice, this list of 00009 conditions, the following disclaimer and the list of authors. Redistributions in binary 00010 form must reproduce the above copyright notice, this list of conditions, the following 00011 disclaimer and the list of authors in the documentation and/or other materials provided 00012 with the distribution. Neither the name of the UbixOS Project nor the names of its 00013 contributors may be used to endorse or promote products derived from this software 00014 without specific prior written permission. 00015 00016 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY 00017 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 00018 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 00019 THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00020 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT 00021 OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 00022 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR 00023 TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00024 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00025 00026 $Id: tss_8h-source.html 88 2016-01-12 00:11:29Z reddawg $ 00027 00028 *****************************************************************************************/ 00029 00030 #ifndef _TSS_H 00031 #define _TSS_H 00032 00033 #include <ubixos/types.h> 00034 00035 struct tssStruct { 00036 short back_link; 00037 short back_link_reserved; 00038 long esp0; 00039 short ss0; 00040 short ss0_reserved; 00041 long esp1; 00042 short ss1; 00043 short ss1_reserved; 00044 long esp2; 00045 short ss2; 00046 short ss2_reserved; 00047 long cr3; 00048 long eip; 00049 long eflags; 00050 long eax,ecx,edx,ebx; 00051 long esp; 00052 long ebp; 00053 long esi; 00054 long edi; 00055 short es; 00056 short es_reserved; 00057 short cs; 00058 short cs_reserved; 00059 short ss; 00060 short ss_reserved; 00061 short ds; 00062 short ds_reserved; 00063 short fs; 00064 short fs_reserved; 00065 short gs; 00066 short gs_reserved; 00067 short ldt; 00068 short ldt_reserved; 00069 short trace_bitmap; 00070 short io_map; 00071 char io_space[8192]; 00072 }; 00073 00074 struct i387Struct { 00075 long cwd; 00076 long swd; 00077 long twd; 00078 long fip; 00079 long fcs; 00080 long foo; 00081 long fos; 00082 long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ 00083 }; 00084 00085 struct i386_frame { 00086 uInt32 gs; 00087 uInt32 fs; 00088 uInt32 es; 00089 uInt32 ds; 00090 uInt32 ss; 00091 uInt32 edi; 00092 uInt32 esi; 00093 uInt32 ebp; 00094 uInt32 esp; 00095 uInt32 ebx; 00096 uInt32 edx; 00097 uInt32 ecx; 00098 uInt32 eax; 00099 /* 00100 uInt32 vector; 00101 uInt32 error_code; 00102 */ 00103 uInt32 eip; 00104 uInt32 cs; 00105 uInt32 flags; 00106 uInt32 user_esp; 00107 uInt32 user_ss; 00108 }; 00109 00110 #endif 00111 00112 /*** 00113 $Log: tss_8h-source.html,v $ 00113 Revision 1.7 2006/12/15 17:47:07 reddawg 00113 Updates 00113 00114 Revision 1.1.1.1 2006/06/01 12:46:15 reddawg 00115 ubix2 00116 00117 Revision 1.2 2005/10/12 00:13:37 reddawg 00118 Removed 00119 00120 Revision 1.1.1.1 2005/09/26 17:23:53 reddawg 00121 no message 00122 00123 Revision 1.6 2004/07/27 07:42:29 reddawg 00124 *burp* 00125 00126 Revision 1.5 2004/07/27 07:40:41 reddawg 00127 does it compile now? 00128 00129 Revision 1.4 2004/07/27 07:27:50 reddawg 00130 chg: I was fooled thought we failed but it was a casting issue 00131 00132 Revision 1.3 2004/07/22 20:53:07 reddawg 00133 atkbd: fixed problem 00134 00135 Revision 1.2 2004/05/21 15:12:17 reddawg 00136 Cleaned up 00137 00138 00139 END 00140 ***/