next up previous contents index
Next: (X86 PC) Generic Low-level Up: (X86) Generic Low-level Definitions Previous: 10.3.11 paging.h: Page translation

10.3.12 tss.h: Processor task save state structure definition

 

SYNOPSIS

#include <oskit/x86/tss.h>

	struct x86_tss {
		int	back_link;	/* previous task's segment, if nested */
		int	esp0;		/* initial stack pointer ... */
		int	ss0;		/* and segment for ring 0 */
		int	esp1;		/* initial stack pointer ... */
		int	ss1;		/* and segment for ring 1 */
		int	esp2;		/* initial stack pointer ... */
		int	ss2;		/* and segment for ring 2 */
		int	cr3;		/* CR3 - page table physical address */
		int	eip;		/* eip */
		int	eflags;		/* eflags */
		int	eax;		/* eax */
		int	ecx;		/* ecx */
		int	edx;		/* edx */
		int	ebx;		/* ebx */
		int	esp;		/* current stack pointer (ring 3) */
		int	ebp;		/* ebp */
		int	esi;		/* esi */
		int	edi;		/* edi */
		int	es;		/* es */
		int	cs;		/* cs */
		int	ss;		/* current stack segment (ring 3) */
		int	ds;		/* ds */
		int	fs;		/* fs */
		int	gs;		/* gs */
		int	ldt;		/* local descriptor table segment */
		unsigned short	trace_trap;	/* trap on switch to task */
		unsigned short	io_bit_map_offset; /* offset to IO perm bitmap */
	};

DESCRIPTION

XXX

XXX only the 32-bit version

This contains the definition of a 32-bit tss. The tss used by the 80286 is incompatible with this.

This header file is taken from CMU's Mach kernel.



University of Utah Flux Research Group