diff --git a/src/gdt.rs b/src/gdt.rs index 2b82eb86..b58089c1 100644 --- a/src/gdt.rs +++ b/src/gdt.rs @@ -1,4 +1,5 @@ use lazy_static::lazy_static; +use x86_64::structures::gdt::{Descriptor, GlobalDescriptorTable}; use x86_64::structures::tss::TaskStateSegment; use x86_64::VirtAddr; @@ -18,3 +19,12 @@ lazy_static! { tss }; } + +lazy_static! { + static ref GDT: GlobalDescriptorTable = { + let mut gdt = GlobalDescriptorTable::new(); + gdt.add_entry(Descriptor::kernel_code_segment()); + gdt.add_entry(Descriptor::tss_segment(&TSS)); + gdt + }; +}