mirror of
https://github.com/phil-opp/blog_os.git
synced 2025-12-16 14:27:49 +00:00
Use once crate to ensure that memory::init is only called once
This commit is contained in:
@@ -13,3 +13,4 @@ spin = "0.4.5"
|
||||
multiboot2 = "0.1.0"
|
||||
bitflags = "0.7.0"
|
||||
x86_64 = "0.1.2"
|
||||
once = "0.3.3"
|
||||
|
||||
@@ -18,6 +18,8 @@ extern crate multiboot2;
|
||||
#[macro_use]
|
||||
extern crate bitflags;
|
||||
extern crate x86_64;
|
||||
#[macro_use]
|
||||
extern crate once;
|
||||
|
||||
#[macro_use]
|
||||
mod vga_buffer;
|
||||
|
||||
@@ -11,6 +11,8 @@ pub const PAGE_SIZE: usize = 4096;
|
||||
|
||||
|
||||
pub fn init(boot_info: &BootInformation) {
|
||||
assert_has_not_been_called!("memory::init must be called only once");
|
||||
|
||||
let memory_map_tag = boot_info.memory_map_tag().expect(
|
||||
"Memory map tag required");
|
||||
let elf_sections_tag = boot_info.elf_sections_tag().expect(
|
||||
|
||||
Reference in New Issue
Block a user