465 * attributes are ignored. Only the conforming bit is loaded by hardware
466 * for long mode code segment descriptors.
467 */
468 #define SDT_MEMRO 16 /* read only */
469 #define SDT_MEMROA 17 /* read only accessed */
470 #define SDT_MEMRW 18 /* read write */
471 #define SDT_MEMRWA 19 /* read write accessed */
472 #define SDT_MEMROD 20 /* read only expand dwn limit */
473 #define SDT_MEMRODA 21 /* read only expand dwn limit accessed */
474 #define SDT_MEMRWD 22 /* read write expand dwn limit */
475 #define SDT_MEMRWDA 23 /* read write expand dwn limit accessed */
476 #define SDT_MEME 24 /* execute only */
477 #define SDT_MEMEA 25 /* execute only accessed */
478 #define SDT_MEMER 26 /* execute read */
479 #define SDT_MEMERA 27 /* execute read accessed */
480 #define SDT_MEMEC 28 /* execute only conforming */
481 #define SDT_MEMEAC 29 /* execute only accessed conforming */
482 #define SDT_MEMERC 30 /* execute read conforming */
483 #define SDT_MEMERAC 31 /* execute read accessed conforming */
484
485 /*
486 * Entries in the Interrupt Descriptor Table (IDT)
487 */
488 #define IDT_DE 0 /* #DE: Divide Error */
489 #define IDT_DB 1 /* #DB: Debug */
490 #define IDT_NMI 2 /* Nonmaskable External Interrupt */
491 #define IDT_BP 3 /* #BP: Breakpoint */
492 #define IDT_OF 4 /* #OF: Overflow */
493 #define IDT_BR 5 /* #BR: Bound Range Exceeded */
494 #define IDT_UD 6 /* #UD: Undefined/Invalid Opcode */
495 #define IDT_NM 7 /* #NM: No Math Coprocessor */
496 #define IDT_DF 8 /* #DF: Double Fault */
497 #define IDT_FPUGP 9 /* Coprocessor Segment Overrun */
498 #define IDT_TS 10 /* #TS: Invalid TSS */
499 #define IDT_NP 11 /* #NP: Segment Not Present */
500 #define IDT_SS 12 /* #SS: Stack Segment Fault */
501 #define IDT_GP 13 /* #GP: General Protection Fault */
502 #define IDT_PF 14 /* #PF: Page Fault */
503 #define IDT_MF 16 /* #MF: FPU Floating-Point Error */
504 #define IDT_AC 17 /* #AC: Alignment Check */
|
465 * attributes are ignored. Only the conforming bit is loaded by hardware
466 * for long mode code segment descriptors.
467 */
468 #define SDT_MEMRO 16 /* read only */
469 #define SDT_MEMROA 17 /* read only accessed */
470 #define SDT_MEMRW 18 /* read write */
471 #define SDT_MEMRWA 19 /* read write accessed */
472 #define SDT_MEMROD 20 /* read only expand dwn limit */
473 #define SDT_MEMRODA 21 /* read only expand dwn limit accessed */
474 #define SDT_MEMRWD 22 /* read write expand dwn limit */
475 #define SDT_MEMRWDA 23 /* read write expand dwn limit accessed */
476 #define SDT_MEME 24 /* execute only */
477 #define SDT_MEMEA 25 /* execute only accessed */
478 #define SDT_MEMER 26 /* execute read */
479 #define SDT_MEMERA 27 /* execute read accessed */
480 #define SDT_MEMEC 28 /* execute only conforming */
481 #define SDT_MEMEAC 29 /* execute only accessed conforming */
482 #define SDT_MEMERC 30 /* execute read conforming */
483 #define SDT_MEMERAC 31 /* execute read accessed conforming */
484
485 /* These bits are within the "type" field, like the values above. */
486 #define SDT_A 0x01 /* accessed bit */
487 #define SDT_S 0x10 /* S-bit at the top of "type" for usegs */
488
489 /*
490 * Entries in the Interrupt Descriptor Table (IDT)
491 */
492 #define IDT_DE 0 /* #DE: Divide Error */
493 #define IDT_DB 1 /* #DB: Debug */
494 #define IDT_NMI 2 /* Nonmaskable External Interrupt */
495 #define IDT_BP 3 /* #BP: Breakpoint */
496 #define IDT_OF 4 /* #OF: Overflow */
497 #define IDT_BR 5 /* #BR: Bound Range Exceeded */
498 #define IDT_UD 6 /* #UD: Undefined/Invalid Opcode */
499 #define IDT_NM 7 /* #NM: No Math Coprocessor */
500 #define IDT_DF 8 /* #DF: Double Fault */
501 #define IDT_FPUGP 9 /* Coprocessor Segment Overrun */
502 #define IDT_TS 10 /* #TS: Invalid TSS */
503 #define IDT_NP 11 /* #NP: Segment Not Present */
504 #define IDT_SS 12 /* #SS: Stack Segment Fault */
505 #define IDT_GP 13 /* #GP: General Protection Fault */
506 #define IDT_PF 14 /* #PF: Page Fault */
507 #define IDT_MF 16 /* #MF: FPU Floating-Point Error */
508 #define IDT_AC 17 /* #AC: Alignment Check */
|