#[repr(C, packed(1))]struct GateDescriptor64 {
pub offset_1: u16,
pub selector: u16,
pub ist: u8,
pub attrs: u8,
pub offset_2: u16,
pub offset_3: u32,
res0: u32,
}
Expand description
<pre>
[0 :15] addr[0:15]
[16:31] segment selector: must point to valid code segment in GDT
[32:39] ist: index into Interrupt Stack Table; only lower 3 bit used,
other bits are reserved to 0
[40:47] attrs: attributes of the call gate:
[0:3] - Gate Type: 0xe for interrupt and 0xf for trap
[ 4 ] - Res0
[5:6] - DPL: allowed privilege levels (via INT)
[ 7 ] - Present (Valid)
[48:63] - addr[16:31]
[64:95] - addr[32:63]
Fields§
§offset_1: u16
§selector: u16
§ist: u8
§attrs: u8
§offset_2: u16
§offset_3: u32
§res0: u32
Implementations§
Source§impl GateDescriptor64
impl GateDescriptor64
fn set_offset(&mut self, offset: u64)
Sourcefn set_default_interrupt(&mut self, offset: u64)
fn set_default_interrupt(&mut self, offset: u64)
selector = 0; present; type = interrupt;