From 3b213923834892ddd3dedef1ad6faa8f6d151eb7 Mon Sep 17 00:00:00 2001 From: Erin Date: Sun, 4 Jun 2017 11:24:23 -0500 Subject: [PATCH] documentation! --- Makefile | 5 ++++- src/arch/mod.rs | 4 +++- src/arch/x86_64/device/mod.rs | 2 ++ src/arch/x86_64/device/vga_console.rs | 2 ++ src/lib.rs | 4 ++-- src/macros.rs | 3 +++ 6 files changed, 16 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 9655b40..0699ceb 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ asm_obj := $(patsubst src/arch/$(arch)/%.asm, build/$(arch)/%.o, $(asm_src)) linker_script := src/arch/$(arch)/linker.ld grub_cfg := src/arch/$(arch)/grub.cfg -.PHONY: all clean run iso +.PHONY: all clean run iso doc all: $(kernel) @@ -41,3 +41,6 @@ $(rs_kernel): build/$(arch)/%.o: src/arch/$(arch)/%.asm @mkdir -p $(shell dirname $@) nasm -felf64 $< -o $@ + +doc: + cargo rustdoc --lib -- --no-defaults --passes collapse-docs --passes unindent-comments --passes strip-priv-imports diff --git a/src/arch/mod.rs b/src/arch/mod.rs index 0bffdbe..4ad6212 100644 --- a/src/arch/mod.rs +++ b/src/arch/mod.rs @@ -1 +1,3 @@ -pub mod x86_64; \ No newline at end of file +//! Architecture-specific code. + +pub mod x86_64; diff --git a/src/arch/x86_64/device/mod.rs b/src/arch/x86_64/device/mod.rs index f140e2a..8fd2a8c 100644 --- a/src/arch/x86_64/device/mod.rs +++ b/src/arch/x86_64/device/mod.rs @@ -1 +1,3 @@ +//! Device drivers for devices that *all x86_64 processors* have. + pub mod vga_console; diff --git a/src/arch/x86_64/device/vga_console.rs b/src/arch/x86_64/device/vga_console.rs index 8267d7c..b65368b 100644 --- a/src/arch/x86_64/device/vga_console.rs +++ b/src/arch/x86_64/device/vga_console.rs @@ -1,3 +1,5 @@ +//! A basic console driver, using the VGA text-mode buffer. + use core::fmt; use core::ptr::Unique; use spin::Mutex; diff --git a/src/lib.rs b/src/lib.rs index c7f8e87..683d78e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -17,8 +17,8 @@ use arch::x86_64::device::vga_console; #[no_mangle] pub extern fn kernel_main() { //////////// !!! WARNING !!! //////////// - // WE HAVE AN EXTREMELY SMALL STACK // - // AND NO GUARD PAGE // + // THE STACK IS LARGER NOW, BUT // + // WE STILL HAVE NO GUARD PAGE // ///////////////////////////////////////// vga_console::WRITER.lock().clear_screen(); diff --git a/src/macros.rs b/src/macros.rs index a59e561..80b63b4 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -1,3 +1,6 @@ +//! Internal macros used by the kernel +//! (*e.g.* our implementation of `print!`/`println!`). + use core::fmt; #[macro_export]