1*6c8f7fc3SBen Gras /* $NetBSD: tss.h,v 1.10 2008/01/05 21:45:00 yamt Exp $ */ 2*6c8f7fc3SBen Gras 3*6c8f7fc3SBen Gras /*- 4*6c8f7fc3SBen Gras * Copyright (c) 1990 The Regents of the University of California. 5*6c8f7fc3SBen Gras * All rights reserved. 6*6c8f7fc3SBen Gras * 7*6c8f7fc3SBen Gras * This code is derived from software contributed to Berkeley by 8*6c8f7fc3SBen Gras * William Jolitz. 9*6c8f7fc3SBen Gras * 10*6c8f7fc3SBen Gras * Redistribution and use in source and binary forms, with or without 11*6c8f7fc3SBen Gras * modification, are permitted provided that the following conditions 12*6c8f7fc3SBen Gras * are met: 13*6c8f7fc3SBen Gras * 1. Redistributions of source code must retain the above copyright 14*6c8f7fc3SBen Gras * notice, this list of conditions and the following disclaimer. 15*6c8f7fc3SBen Gras * 2. Redistributions in binary form must reproduce the above copyright 16*6c8f7fc3SBen Gras * notice, this list of conditions and the following disclaimer in the 17*6c8f7fc3SBen Gras * documentation and/or other materials provided with the distribution. 18*6c8f7fc3SBen Gras * 3. Neither the name of the University nor the names of its contributors 19*6c8f7fc3SBen Gras * may be used to endorse or promote products derived from this software 20*6c8f7fc3SBen Gras * without specific prior written permission. 21*6c8f7fc3SBen Gras * 22*6c8f7fc3SBen Gras * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 23*6c8f7fc3SBen Gras * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24*6c8f7fc3SBen Gras * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25*6c8f7fc3SBen Gras * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 26*6c8f7fc3SBen Gras * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27*6c8f7fc3SBen Gras * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28*6c8f7fc3SBen Gras * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29*6c8f7fc3SBen Gras * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30*6c8f7fc3SBen Gras * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31*6c8f7fc3SBen Gras * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32*6c8f7fc3SBen Gras * SUCH DAMAGE. 33*6c8f7fc3SBen Gras * 34*6c8f7fc3SBen Gras * @(#)tss.h 5.4 (Berkeley) 1/18/91 35*6c8f7fc3SBen Gras */ 36*6c8f7fc3SBen Gras 37*6c8f7fc3SBen Gras #ifndef _I386_TSS_H_ 38*6c8f7fc3SBen Gras #define _I386_TSS_H_ 39*6c8f7fc3SBen Gras 40*6c8f7fc3SBen Gras /* 41*6c8f7fc3SBen Gras * Intel 386 Context Data Type 42*6c8f7fc3SBen Gras */ 43*6c8f7fc3SBen Gras 44*6c8f7fc3SBen Gras struct i386tss { 45*6c8f7fc3SBen Gras int __tss_link; 46*6c8f7fc3SBen Gras int tss_esp0; /* kernel stack pointer at privilege level 0 */ 47*6c8f7fc3SBen Gras int tss_ss0; /* kernel stack segment at privilege level 0 */ 48*6c8f7fc3SBen Gras int __tss_esp1; 49*6c8f7fc3SBen Gras int __tss_ss1; 50*6c8f7fc3SBen Gras int __tss_esp2; 51*6c8f7fc3SBen Gras int __tss_ss2; 52*6c8f7fc3SBen Gras int tss_cr3; /* page directory paddr */ 53*6c8f7fc3SBen Gras int __tss_eip; 54*6c8f7fc3SBen Gras int __tss_eflags; 55*6c8f7fc3SBen Gras int __tss_eax; 56*6c8f7fc3SBen Gras int __tss_ecx; 57*6c8f7fc3SBen Gras int __tss_edx; 58*6c8f7fc3SBen Gras int __tss_ebx; 59*6c8f7fc3SBen Gras int tss_esp; /* saved stack pointer */ 60*6c8f7fc3SBen Gras int tss_ebp; /* saved frame pointer */ 61*6c8f7fc3SBen Gras int __tss_esi; 62*6c8f7fc3SBen Gras int __tss_edi; 63*6c8f7fc3SBen Gras int __tss_es; 64*6c8f7fc3SBen Gras int __tss_cs; 65*6c8f7fc3SBen Gras int __tss_ss; 66*6c8f7fc3SBen Gras int __tss_ds; 67*6c8f7fc3SBen Gras int tss_fs; /* saved segment register */ 68*6c8f7fc3SBen Gras int tss_gs; /* saved segment register */ 69*6c8f7fc3SBen Gras int tss_ldt; /* LDT selector */ 70*6c8f7fc3SBen Gras int tss_iobase; /* options and I/O permission map offset */ 71*6c8f7fc3SBen Gras }; 72*6c8f7fc3SBen Gras 73*6c8f7fc3SBen Gras /* 74*6c8f7fc3SBen Gras * I/O bitmap offset beyond TSS's segment limit means no bitmaps. 75*6c8f7fc3SBen Gras * (i.e. any I/O attempt generates an exception.) 76*6c8f7fc3SBen Gras */ 77*6c8f7fc3SBen Gras #define IOMAP_INVALOFF 0xffff 78*6c8f7fc3SBen Gras 79*6c8f7fc3SBen Gras #endif /* #ifndef _I386_TSS_H_ */ 80