pm.h File Reference

Include dependency graph for pm.h:

Go to the source code of this file.

Data Structures

struct  descriptor
struct  tss_descriptor
struct  idescriptor
struct  ptr_16_64
struct  ptr_16_32
struct  tss

Defines

#define IDT_ITEMS   64
#define GDT_ITEMS   8
#define NULL_DES   0
#define KTEXT_DES   1
#define KDATA_DES   2
#define UDATA_DES   3
#define UTEXT_DES   4
#define KTEXT32_DES   5
#define TSS_DES   6
#define gdtselector(des)   ((des)<<3)
#define idtselector(des)   ((des)<<4)
#define PL_KERNEL   0
#define PL_USER   3
#define AR_PRESENT   (1<<7)
#define AR_DATA   (2<<3)
#define AR_CODE   (3<<3)
#define AR_WRITABLE   (1<<1)
#define AR_READABLE   (1<<1)
#define AR_TSS   (0x9)
#define AR_INTERRUPT   (0xe)
#define AR_TRAP   (0xf)
#define DPL_KERNEL   (PL_KERNEL<<5)
#define DPL_USER   (PL_USER<<5)
#define TSS_BASIC_SIZE   104
#define TSS_IOMAP_SIZE   (16*1024+1)
#define IO_PORTS   (64*1024)

Typedefs

typedef descriptor descriptor_t
typedef tss_descriptor tss_descriptor_t
typedef idescriptor idescriptor_t
typedef ptr_16_64 ptr_16_64_t
typedef ptr_16_32 ptr_16_32_t
typedef tss tss_t

Functions

void pm_init (void)
void gdt_tss_setbase (descriptor_t *d, __address base)
void gdt_tss_setlimit (descriptor_t *d, __u32 limit)
void idt_init (void)
void idt_setoffset (idescriptor_t *d, __address offset)
void tss_initialize (tss_t *t)

Variables

descriptor packed
tss_descriptor packed
idescriptor packed
ptr_16_64 packed
ptr_16_32 packed
tss packed
tss_ttss_p
descriptor_t gdt []
idescriptor_t idt []
ptr_16_64_t gdtr
ptr_16_32_t bootstrap_gdtr
ptr_16_32_t protected_ap_gdtr


Detailed Description

Definition in file pm.h.


Generated on Sun Jun 18 16:27:02 2006 for HelenOS Kernel (amd64) by  doxygen 1.4.6