Lines Matching refs:entry
35 static inline void idt_set_segment_sel(struct idt_entry* entry, uint16_t sel) { in idt_set_segment_sel() argument
36 entry->w0 = (entry->w0 & 0x0000ffff) | (sel << 16); in idt_set_segment_sel()
39 static inline void idt_set_offset(struct idt_entry* entry, uintptr_t offset) { in idt_set_offset() argument
42 entry->w0 = (entry->w0 & 0xffff0000) | low_16; in idt_set_offset()
43 entry->w1 = (entry->w1 & 0x0000ffff) | (mid_16 << 16); in idt_set_offset()
45 entry->w2 = high_32; in idt_set_offset()
48 static inline void idt_set_present(struct idt_entry* entry, bool present) { in idt_set_present() argument
49 entry->w1 = (entry->w1 & ~(1 << 15)) | ((!!present) << 15); in idt_set_present()
52 static inline void idt_set_dpl(struct idt_entry* entry, enum idt_dpl dpl) { in idt_set_dpl() argument
54 entry->w1 = (entry->w1 & ~(3 << 13)) | ((uint32_t)dpl << 13); in idt_set_dpl()
58 struct idt_entry* entry, in idt_set_type() argument
60 entry->w1 = (entry->w1 & ~(0xf << 8)) | ((uint32_t)typ << 8); in idt_set_type()
70 struct idt_entry* entry = &idt->entries[vec]; in idt_set_vector() local
71 memset(entry, 0, sizeof(*entry)); in idt_set_vector()
72 idt_set_segment_sel(entry, code_segment_sel); in idt_set_vector()
73 idt_set_offset(entry, entry_point_offset); in idt_set_vector()
74 idt_set_type(entry, typ); in idt_set_vector()
75 idt_set_dpl(entry, dpl); in idt_set_vector()
76 idt_set_present(entry, true); in idt_set_vector()
81 struct idt_entry* entry = &idt->entries[vec]; in idt_set_ist_index() local
82 entry->w1 = (entry->w1 & ~0x7) | ist_idx; in idt_set_ist_index()