First round of documentation changes

This commit is contained in:
17liamnaddell
2018-07-18 22:48:08 -04:00
parent 054fc41beb
commit 9d1fb3013d
3 changed files with 10 additions and 1 deletions

View File

@@ -1,4 +1,6 @@
//! Context management
//! https://en.wikipedia.org/wiki/Context_switch
//! https://wiki.osdev.org/Context_Switching
use alloc::boxed::Box;
use core::alloc::{Alloc, GlobalAlloc, Layout};
use core::sync::atomic::Ordering;

View File

@@ -153,6 +153,7 @@ pub fn kmain(cpus: usize, env: &[u8]) -> ! {
CPU_ID.store(0, Ordering::SeqCst);
CPU_COUNT.store(cpus, Ordering::SeqCst);
//Initialize the first context, stored in kernel/src/context/mod.rs
context::init();
let pid = syscall::getpid();

View File

@@ -1,4 +1,6 @@
///! Syscall handlers
//!
//! This module provides syscall definitions and the necessary resources to parse incoming
//! syscalls
extern crate syscall;
@@ -44,9 +46,12 @@ pub mod time;
/// Validate input
pub mod validate;
/// This function is composed of an inner function that returns a `Result<usize>`, then the syscall
/// function calls [`Error::mux`] on it
pub fn syscall(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize, bp: usize, stack: &mut SyscallStack) -> usize {
#[inline(always)]
fn inner(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize, bp: usize, stack: &mut SyscallStack) -> Result<usize> {
//SYS_* is declared in kernel/syscall/src/number.rs
match a & SYS_CLASS {
SYS_CLASS_FILE => {
let fd = FileHandle::from(b);
@@ -204,5 +209,6 @@ pub fn syscall(a: usize, b: usize, c: usize, d: usize, e: usize, f: usize, bp: u
}
*/
// errormux turns Result<usize> into -errno
Error::mux(result)
}