31 new_entry->base_low = (base & 0xFFFF);
32 new_entry->base_high = (base >> 16) & 0xFFFF;
33 new_entry->sselect = sel;
35 new_entry->flags =
flags;
45 idt_ptr.limit = 256*
sizeof(idt_descriptor) - 1;
61 new_entry->base_low = (base & 0xFFFF);
62 new_entry->base_mid = (base >> 16) & 0xFF;
63 new_entry->base_high = (base >> 24) & 0xFF;
64 new_entry->limit_low = (limit & 0xFFFF);
65 new_entry->flags = (limit >> 16) & 0xFF;
66 new_entry->flags |= flags & 0xF0;
67 new_entry->access =
access;
77 gdt_ptr.limit = 5 *
sizeof(gdt_entry) - 1;
idt_entry idt_entries[256]
void write_idt_ptr(u32int)
void idt_set_gate(u8int idx, u32int base, u16int sel, u8int flags)
void write_gdt_ptr(u32int, size_t)
void gdt_init_entry(int idx, u32int base, u32int limit, u8int access, u8int flags)
void * memset(void *s, int c, size_t n)
memset Set a region of memory.