diff --git a/fs/src/main.rs b/fs/src/main.rs index 3e16ee7c9..523874334 100644 --- a/fs/src/main.rs +++ b/fs/src/main.rs @@ -1,6 +1,8 @@ -//! Clock applet +//! Filesystem sysmodule //! -//! Show the current time in the bottom left corner of the screen. +//! High level access to filesystem and disks. +//! +//! NOTE: This need at least 16 pages of stack to run in debug builds because of bad codegen on the compiler side for libfat's iterators. #![no_std] // rustc warnings diff --git a/kernel/src/main.rs b/kernel/src/main.rs index d45c14a0f..ba9ccb6f1 100644 --- a/kernel/src/main.rs +++ b/kernel/src/main.rs @@ -144,12 +144,12 @@ fn main() { let ep = elf_loader::load_builtin(&mut pmemlock, &mapped_module); - let stack = pmemlock.find_available_space(9 * PAGE_SIZE) + let stack = pmemlock.find_available_space(20 * PAGE_SIZE) .unwrap_or_else(|_| panic!("Cannot create a stack for process {:?}", proc)); pmemlock.guard(stack, PAGE_SIZE, MemoryType::Reserved).unwrap(); - pmemlock.create_regular_mapping(stack + PAGE_SIZE, 8 * PAGE_SIZE, MemoryType::Stack, MappingAccessRights::u_rw()).unwrap(); + pmemlock.create_regular_mapping(stack + PAGE_SIZE, 19 * PAGE_SIZE, MemoryType::Stack, MappingAccessRights::u_rw()).unwrap(); - (VirtualAddress(ep), stack + 9 * PAGE_SIZE) + (VirtualAddress(ep), stack + 20 * PAGE_SIZE) }; let thread = ThreadStruct::new(&proc, ep, sp, 0) .expect("failed creating thread for service");