From ea1b031fd3b722ccd33069db5880a041e62ed129 Mon Sep 17 00:00:00 2001 From: Philipp Oppermann Date: Fri, 25 Jan 2019 13:57:08 +0100 Subject: [PATCH] Create a static GDT --- src/gdt.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 + }; +}