From a78f2ba436c3a523d6fce948b02a90eb9d66075e Mon Sep 17 00:00:00 2001 From: pgosar Date: Thu, 17 Apr 2025 14:43:23 -0500 Subject: [PATCH 01/18] add sysroot script --- resources/executables/hello | Bin 0 -> 871896 bytes resources/executables/hello.c | 6 ++++ resources/executables/ret | Bin 0 -> 871768 bytes resources/executables/ret.c | 3 ++ setup_sysroot.sh | 50 ++++++++++++++++++++++++++++++++++ 5 files changed, 59 insertions(+) create mode 100755 resources/executables/hello create mode 100644 resources/executables/hello.c create mode 100755 resources/executables/ret create mode 100644 resources/executables/ret.c create mode 100755 setup_sysroot.sh diff --git a/resources/executables/hello b/resources/executables/hello new file mode 100755 index 0000000000000000000000000000000000000000..27b9f7b3038847d9f702b53f04589f74efc97400 GIT binary patch literal 871896 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

}1BgHrr#Y6v0WmSd-xfJnNWd-JJ zPpJVTJ&=cx&*(4Wbu}&WJ}fo^7s$N|sy4Dq7;#Vthls_q2m%(77Bn%Do>-lWY@rn+ z2SlJD&y1$<>^WSpsE^#w5!%FAKpYWmG(L=?LX9w+OVL@F&2rJQqcvnyj-CZIqy!#B zTx42Qj!yi^i^}RHqYisLA?mR4w^6(h-YH2qQYCfTW|1i>L}+r+Env%}VuuM@p%;qZ zOAF_aJO5j*^38u7?X_yRw?A6nwFdZTA!(7{0b=nYeJFg_Ljs7#kIAg4t_aNTK6YdHxd4?kdkzSl~E%?ZWg5wCadB>F}Z=jPK$&&EUCa&rw> z&N&FVr^3jp1bFE4Q1w_IB9gSRM@W^2&>Xs)jjN*XB{3T_D);o^^8E|=K~su(4GV}6 zvl&;dT&Fc)%KrS=Tf!xAuLBh~5><biv1? zpFjUM>B1bkQBQ3Nq+_V|T}w5P`&gMr+oRfdDo=;7*J8Y3FThyHL}}dhwa|rF->t<~ zfjw9NL@{Om#lZ0hbQBn$1;$mONB-HkRkTBGCszI4g|&j8?`3!J+QH#*psWfl#70w- zkLb^O>f4WDN(eKA_6_4Pa2z^@fnzXH432yiZVVg;@d&^Ff_3gw=y5|IZ zSp)anc1Ntf#XPuSTt#be)(YGZW6-`RTJ0+K2b==Lw@}CPNM2Rot9ucfrpnssux7`u>US zydSCBr{RB+_4{o9mi0E{ZJP^PN`OZI+?dJHuj1T2RK0&syAlw`Yy8t4?FG9FzQ$n5 z$_3fSwB@L!F?1n6x7O_T?+5vEGQnwB3^VBahdLT)NArFlw>}U%HrhS<4^WVKc)P+n z`GIzk@eXj|TXBHrNt$nT;GMLVu2Q=20*BSBcTjss=%3|iSN-=n+J$NKTSQ@OedT zwifKxJ}lGP*K?#1YeX1$o#D)>vCT2Ok4UT+;R1xzen(SmBKJDCcC|;#Q~DG+%5Zit z@DlOU(=k?It$0tns;j_%q0^0>s{YM(9K%5!z(`jeUMM$#Y{;AHW`(=)Egt_~qiY6 ziY~mns1E-=0JX!dJ>qa@9QJ4`K

N8dNQrN|xh>=)q!N7&@`U6F6cy24A={aI9KG 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�v7 zu+N~9+;9|L*Kp2Vh6hj7TN+I~Qyi^b+I0BVYwDdp575`mo1=-ho{${1O%YsZ-z&Su z?I;~sgSVR?;?`>tVlnW+_e%0D)qzL7QD6;B^O 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

HMMgaH9 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⪚lE&gptpR8jv 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 HWAgt1(l;&@ literal 0 HcmV?d00001 diff --git a/resources/executables/hello.c b/resources/executables/hello.c new file mode 100644 index 00000000..dafadc78 --- /dev/null +++ b/resources/executables/hello.c @@ -0,0 +1,6 @@ +#include + +int main() { + printf("Hello World!\n"); + return 0; +} diff --git a/resources/executables/ret b/resources/executables/ret new file mode 100755 index 0000000000000000000000000000000000000000..dee274c05ee51f60278bb112b687aa2cac89a027 GIT binary patch literal 871768 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®!~=em6%7^dE8v=xMG8`b!D@ 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 z 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 {7wc4ma|YenN{hsN7C`rDjU#n_-9 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

QPZjz=@%KPJE8xbZe+)ox?fMsD1|MQaDXK& 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 z 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 VFq-*p?f-s`Ti(l}2GQ5#{{eny(18E| literal 0 HcmV?d00001 diff --git a/resources/executables/ret.c b/resources/executables/ret.c new file mode 100644 index 00000000..4cce7f66 --- /dev/null +++ b/resources/executables/ret.c @@ -0,0 +1,3 @@ +int main() { + return 0; +} diff --git a/setup_sysroot.sh b/setup_sysroot.sh new file mode 100755 index 00000000..68ec8aaa --- /dev/null +++ b/setup_sysroot.sh @@ -0,0 +1,50 @@ +#!/bin/bash +set -euo pipefail + +# Ensure system architecture is x86_64 +ARCH="$(uname -m)" +if [[ "${ARCH}" != "x86_64" ]]; then + echo "This script only supports x86_64 architecture" + exit 1 +fi + +SYSROOT="$HOME/linux_sysroot" +MUSL_VERSION="1.2.5" +MUSL_TAR="musl-${MUSL_VERSION}.tar.gz" +MUSL_URL="https://musl.libc.org/releases/${MUSL_TAR}" + +# Create sysroot and build dirs +echo "Creating sysroot directory at ${SYSROOT}..." +mkdir -p "${SYSROOT}" +BUILD_DIR="$(mktemp -d)" +echo "Using build directory: ${BUILD_DIR}" + +# Download musl tar +echo "Downloading and extracting musl ${MUSL_VERSION}..." +curl -LO "${MUSL_URL}" +tar -xf "${MUSL_TAR}" -C "${BUILD_DIR}" +cd "${BUILD_DIR}/musl-${MUSL_VERSION}" + +# configure for static linking +echo "Configuring musl..." +./configure --prefix=/usr --sysroot=~/linux_sysroot --disable-shared +make && make install DESTDIR=~/linux_sysroot + +# Update musl-gcc wrapper to point to the correct specs file +echo "Updating musl-gcc wrapper..." +MUSL_GCC_PATH="${SYSROOT}/usr/bin/musl-gcc" +if [ -f "${MUSL_GCC_PATH}" ]; then + "${SYSROOT}/usr/bin/musl-gcc" -dumpspecs >"${SYSROOT}/usr/lib/musl-gcc.specs" + sed -i 's|exec "${REALGCC:-gcc}" "$@" -specs "/usr/lib/musl-gcc.specs"|"${REALGCC:-gcc}" "$@" -specs "'${SYSROOT}'/usr/lib/musl-gcc.specs"|g' "${MUSL_GCC_PATH}" +else + echo "musl-gcc wrapper not found at ${MUSL_GCC_PATH}" +fi + +# Clean up build directory and tarball +echo "Cleaning up..." +rm -rf "${BUILD_DIR}" +rm -f "${MUSL_TAR}" + +echo "Sysroot setup complete at ${SYSROOT}." +echo "You can now statically compile C programs using musl by invoking:" +echo " ${SYSROOT}/usr/bin/musl-gcc -static -o your_program your_program.c" From 62cb847e545ab28d51f7490453cd56ff39f653af Mon Sep 17 00:00:00 2001 From: pgosar Date: Thu, 17 Apr 2025 15:01:23 -0500 Subject: [PATCH 02/18] add test case to open c executable from file and run it --- kernel/src/processes/mod.rs | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/kernel/src/processes/mod.rs b/kernel/src/processes/mod.rs index 83ab3be9..f14e39be 100644 --- a/kernel/src/processes/mod.rs +++ b/kernel/src/processes/mod.rs @@ -12,12 +12,15 @@ pub fn init(cpu_id: u32) { #[cfg(test)] mod tests { + use alloc::vec; + use crate::{ constants::processes::TEST_SIMPLE_PROCESS, events::{ current_running_event, futures::await_on::AwaitProcess, get_runner_time, schedule_process, }, + filesys::{FileSystem, OpenFlags, FILESYSTEM}, processes::process::create_process, }; @@ -33,4 +36,38 @@ mod tests { .await; assert!(waiter.is_ok()); } + + #[test_case] + async fn test_simple_c_ret() { + let fs = FILESYSTEM.get().unwrap(); + let fd = { + fs.lock() + .open_file( + "/executables/ret", + OpenFlags::O_RDONLY | OpenFlags::O_WRONLY, + ) + .await + .expect("Could not open file") + }; + + let mut buffer = vec![0u8; 4096]; + let bytes_read = { + fs.lock() + .read_file(fd, &mut buffer) + .await + .expect("Failed to read file") + }; + + let buf = &buffer[..bytes_read]; + + let pid = create_process(buf); + schedule_process(pid); + let waiter = AwaitProcess::new( + pid, + get_runner_time(3_000_000_000), + current_running_event().unwrap(), + ) + .await; + assert!(waiter.is_ok()); + } } From cfcd30cc61259636ab627d09b9d55133854e5df7 Mon Sep 17 00:00:00 2001 From: pgosar Date: Thu, 17 Apr 2025 15:35:06 -0500 Subject: [PATCH 03/18] add mmap call --- kernel/src/processes/mod.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/kernel/src/processes/mod.rs b/kernel/src/processes/mod.rs index f14e39be..167ad3be 100644 --- a/kernel/src/processes/mod.rs +++ b/kernel/src/processes/mod.rs @@ -22,6 +22,7 @@ mod tests { }, filesys::{FileSystem, OpenFlags, FILESYSTEM}, processes::process::create_process, + syscalls::memorymap::{sys_mmap, MmapFlags, ProtFlags}, }; #[test_case] @@ -49,6 +50,14 @@ mod tests { .await .expect("Could not open file") }; + sys_mmap( + 0x9000, + 0x1000, + ProtFlags::PROT_EXEC.bits(), + MmapFlags::MAP_FILE.bits(), + fd as i64, + 0, + ); let mut buffer = vec![0u8; 4096]; let bytes_read = { From 445a399dca3fb7c615e2995111545bcc44d17fee Mon Sep 17 00:00:00 2001 From: pgosar Date: Thu, 17 Apr 2025 16:17:39 -0500 Subject: [PATCH 04/18] correctly clean up build artifacts --- setup_sysroot.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/setup_sysroot.sh b/setup_sysroot.sh index 68ec8aaa..994c918b 100755 --- a/setup_sysroot.sh +++ b/setup_sysroot.sh @@ -23,13 +23,16 @@ echo "Using build directory: ${BUILD_DIR}" echo "Downloading and extracting musl ${MUSL_VERSION}..." curl -LO "${MUSL_URL}" tar -xf "${MUSL_TAR}" -C "${BUILD_DIR}" -cd "${BUILD_DIR}/musl-${MUSL_VERSION}" + +pushd "${BUILD_DIR}/musl-${MUSL_VERSION}" >/dev/null # configure for static linking echo "Configuring musl..." ./configure --prefix=/usr --sysroot=~/linux_sysroot --disable-shared make && make install DESTDIR=~/linux_sysroot +popd >/dev/null + # Update musl-gcc wrapper to point to the correct specs file echo "Updating musl-gcc wrapper..." MUSL_GCC_PATH="${SYSROOT}/usr/bin/musl-gcc" From e78df8cfd945894a3ea229e5bbdcd5b6260c946a Mon Sep 17 00:00:00 2001 From: Anoop Date: Thu, 17 Apr 2025 16:28:30 -0500 Subject: [PATCH 05/18] fixed buffer bounds error in read_file --- kernel/src/filesys/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/src/filesys/mod.rs b/kernel/src/filesys/mod.rs index ee081996..021f68b9 100644 --- a/kernel/src/filesys/mod.rs +++ b/kernel/src/filesys/mod.rs @@ -21,7 +21,7 @@ use alloc::{ sync::Arc, vec::Vec, }; -use core::sync::atomic::{AtomicBool, Ordering}; +use core::{cmp, sync::atomic::{AtomicBool, Ordering}}; use ext2::{ filesystem::{Ext2, FilesystemError, FilesystemResult}, node::{DirEntry, NodeError}, @@ -596,7 +596,7 @@ impl FileSystem for Ext2Wrapper { // Do raw pointer write *after* .await to avoid Send violation unsafe { let buf_ptr = kernel_va.as_mut_ptr(); - core::ptr::copy_nonoverlapping(file_buf.as_ptr(), buf_ptr, file_buf.len()); + core::ptr::copy_nonoverlapping(file_buf.as_ptr(), buf_ptr, cmp::min(PAGE_SIZE, file_buf.len())); } file_mappings.insert(offset, Page::containing_address(kernel_va)); From 6fdaec23ae2c5383369f6a60180727a41fc35678 Mon Sep 17 00:00:00 2001 From: pgosar Date: Fri, 18 Apr 2025 23:36:21 -0500 Subject: [PATCH 06/18] unknown syscall 107 --- kernel/src/filesys/mod.rs | 15 +++++-- kernel/src/init.rs | 74 ++++++++++++++++++++++++++++++++-- kernel/src/processes/loader.rs | 42 +++++++++++++++++-- kernel/src/processes/mod.rs | 24 +++++++++-- 4 files changed, 140 insertions(+), 15 deletions(-) diff --git a/kernel/src/filesys/mod.rs b/kernel/src/filesys/mod.rs index 021f68b9..98e01517 100644 --- a/kernel/src/filesys/mod.rs +++ b/kernel/src/filesys/mod.rs @@ -21,7 +21,10 @@ use alloc::{ sync::Arc, vec::Vec, }; -use core::{cmp, sync::atomic::{AtomicBool, Ordering}}; +use core::{ + cmp, + sync::atomic::{AtomicBool, Ordering}, +}; use ext2::{ filesystem::{Ext2, FilesystemError, FilesystemResult}, node::{DirEntry, NodeError}, @@ -106,7 +109,7 @@ bitflags::bitflags! { /// A file object in the filesystem trait pub struct File { /// The pathname in the filesystem - pathname: String, + pub pathname: String, /// File descriptor pub fd: usize, /// Position we are seeking from in the file @@ -257,7 +260,7 @@ pub struct Ext2Wrapper { pub page_cache: PageCache, // Wrapper for Ext2 Filesystem - filesystem: Mutex, + pub filesystem: Mutex, // Maps inode number to number of processes refcount: Mutex>, @@ -596,7 +599,11 @@ impl FileSystem for Ext2Wrapper { // Do raw pointer write *after* .await to avoid Send violation unsafe { let buf_ptr = kernel_va.as_mut_ptr(); - core::ptr::copy_nonoverlapping(file_buf.as_ptr(), buf_ptr, cmp::min(PAGE_SIZE, file_buf.len())); + core::ptr::copy_nonoverlapping( + file_buf.as_ptr(), + buf_ptr, + cmp::min(PAGE_SIZE, file_buf.len()), + ); } file_mappings.insert(offset, Page::containing_address(kernel_va)); diff --git a/kernel/src/init.rs b/kernel/src/init.rs index ad7a6d0c..7e3512d6 100644 --- a/kernel/src/init.rs +++ b/kernel/src/init.rs @@ -2,6 +2,7 @@ //! //! Handles the initialization of kernel subsystems and CPU cores. +use alloc::vec; use bytes::Bytes; use core::sync::atomic::{AtomicBool, AtomicU32, AtomicU64, Ordering}; use limine::{ @@ -9,12 +10,17 @@ use limine::{ smp::{Cpu, RequestFlags}, BaseRevision, }; +use x86_64::align_up; use crate::{ + constants::memory::PAGE_SIZE, debug, devices::{self}, - events::{register_event_runner, run_loop, spawn, yield_now}, - filesys::{self}, + events::{ + current_running_event, futures::await_on::AwaitProcess, get_runner_time, + register_event_runner, run_loop, schedule_kernel, schedule_process, spawn, yield_now, + }, + filesys::{self, get_file, FileSystem, OpenFlags, FILESYSTEM}, interrupts::{self, idt}, ipc::{ messages::Message, @@ -26,8 +32,10 @@ use crate::{ logging, memory::{self}, net::get_ip_addr, - processes::{self}, - serial_println, trace, + processes::{self, process::create_process}, + serial_println, + syscalls::memorymap::{sys_mmap, MmapFlags, ProtFlags}, + trace, }; extern crate alloc; @@ -70,6 +78,64 @@ pub fn init() -> u32 { let bsp_id = wake_cores(); idt::enable(); + + schedule_kernel( + async { + let fs = FILESYSTEM.get().unwrap(); + let fd = { + fs.lock() + .open_file( + "/executables/ret", + OpenFlags::O_RDONLY | OpenFlags::O_WRONLY, + ) + .await + .expect("Could not open file") + }; + let file = get_file(fd).unwrap(); + let file_len = { + fs.lock() + .filesystem + .lock() + .get_node(&file.lock().pathname) + .await + .unwrap() + .size() + }; + sys_mmap( + 0x9000, + align_up(file_len, PAGE_SIZE as u64), + ProtFlags::PROT_EXEC.bits(), + MmapFlags::MAP_FILE.bits(), + fd as i64, + 0, + ); + + serial_println!("Reading file..."); + + let mut buffer = vec![0u8; file_len as usize]; + let bytes_read = { + fs.lock() + .read_file(fd, &mut buffer) + .await + .expect("Failed to read file") + }; + + let buf = &buffer[..bytes_read]; + + serial_println!("Bytes read: {:#?}", bytes_read); + + let pid = create_process(buf); + schedule_process(pid); + let _waiter = AwaitProcess::new( + pid, + get_runner_time(3_000_000_000), + current_running_event().unwrap(), + ) + .await; + }, + 3, + ); + bsp_id } diff --git a/kernel/src/processes/loader.rs b/kernel/src/processes/loader.rs index 40ee388f..63b7554c 100644 --- a/kernel/src/processes/loader.rs +++ b/kernel/src/processes/loader.rs @@ -6,7 +6,7 @@ use crate::{ memory::{ frame_allocator::with_generic_allocator, mm::{Mm, VmAreaBackings, VmAreaFlags}, - paging::{create_mapping, update_permissions}, + paging::{create_mapping, create_mapping_to_frame, update_permissions}, }, }; use alloc::sync::Arc; @@ -141,7 +141,17 @@ pub fn load_elf( let stack_end = VirtAddr::new(STACK_START + STACK_SIZE as u64); let _start_page: Page = Page::containing_address(stack_start); let _end_page: Page = Page::containing_address(stack_end); - + let frame = create_mapping( + _end_page, + user_mapper, + Some(PageTableFlags::PRESENT | PageTableFlags::USER_ACCESSIBLE | PageTableFlags::WRITABLE), + ); + create_mapping_to_frame( + _end_page, + kernel_mapper, + Some(PageTableFlags::PRESENT | PageTableFlags::USER_ACCESSIBLE | PageTableFlags::WRITABLE), + frame, + ); // new anon_vma that corresponds to this stack let anon_vma_stack = Arc::new(VmAreaBackings::new()); @@ -157,5 +167,31 @@ pub fn load_elf( ); }); - (stack_end, elf.header.e_entry) + let stack_ptr = stack_end; + let mut write_ptr = stack_ptr; + + write_ptr = VirtAddr::new((write_ptr.as_u64() + 0xF) & !0xF); + + // argc + unsafe { + let ptr = write_ptr.as_mut_ptr::(); + ptr.write(0); + } + write_ptr += core::mem::size_of::() as u64; + + // argv + unsafe { + let ptr = write_ptr.as_mut_ptr::(); + ptr.write(0); + } + write_ptr += core::mem::size_of::() as u64; + + // envp (environment variables) + unsafe { + let ptr = write_ptr.as_mut_ptr::(); + ptr.write(0); + } + write_ptr += core::mem::size_of::() as u64; + + (stack_ptr, elf.header.e_entry) } diff --git a/kernel/src/processes/mod.rs b/kernel/src/processes/mod.rs index 167ad3be..7575ed01 100644 --- a/kernel/src/processes/mod.rs +++ b/kernel/src/processes/mod.rs @@ -13,15 +13,17 @@ pub fn init(cpu_id: u32) { #[cfg(test)] mod tests { use alloc::vec; + use x86_64::align_up; use crate::{ - constants::processes::TEST_SIMPLE_PROCESS, + constants::{memory::PAGE_SIZE, processes::TEST_SIMPLE_PROCESS}, events::{ current_running_event, futures::await_on::AwaitProcess, get_runner_time, schedule_process, }, - filesys::{FileSystem, OpenFlags, FILESYSTEM}, + filesys::{get_file, FileSystem, OpenFlags, FILESYSTEM}, processes::process::create_process, + serial_println, syscalls::memorymap::{sys_mmap, MmapFlags, ProtFlags}, }; @@ -50,16 +52,28 @@ mod tests { .await .expect("Could not open file") }; + let file = get_file(fd).unwrap(); + let file_len = { + fs.lock() + .filesystem + .lock() + .get_node(&file.lock().pathname) + .await + .unwrap() + .size() + }; sys_mmap( 0x9000, - 0x1000, + align_up(file_len, PAGE_SIZE as u64), ProtFlags::PROT_EXEC.bits(), MmapFlags::MAP_FILE.bits(), fd as i64, 0, ); - let mut buffer = vec![0u8; 4096]; + serial_println!("Reading file..."); + + let mut buffer = vec![0u8; file_len as usize]; let bytes_read = { fs.lock() .read_file(fd, &mut buffer) @@ -69,6 +83,8 @@ mod tests { let buf = &buffer[..bytes_read]; + serial_println!("Bytes read: {:#?}", bytes_read); + let pid = create_process(buf); schedule_process(pid); let waiter = AwaitProcess::new( From a004a8ffc0b9c3538dc21852b4dc6e4a7d8602c3 Mon Sep 17 00:00:00 2001 From: Amerikranian Date: Sat, 19 Apr 2025 12:52:55 -0500 Subject: [PATCH 07/18] Fix keyboard and mouse to properly follow ps2 protocol --- kernel/Cargo.lock | 25 +- kernel/Cargo.toml | 1 + kernel/src/devices/mod.rs | 6 +- kernel/src/devices/mouse.rs | 632 ------------------- kernel/src/devices/ps2_dev/controller.rs | 123 ++++ kernel/src/devices/{ => ps2_dev}/keyboard.rs | 148 +++-- kernel/src/devices/ps2_dev/mod.rs | 35 + kernel/src/devices/ps2_dev/mouse.rs | 393 ++++++++++++ kernel/src/interrupts/idt.rs | 6 +- kernel/src/interrupts/io_apic.rs | 8 +- 10 files changed, 681 insertions(+), 696 deletions(-) delete mode 100644 kernel/src/devices/mouse.rs create mode 100644 kernel/src/devices/ps2_dev/controller.rs rename kernel/src/devices/{ => ps2_dev}/keyboard.rs (54%) create mode 100644 kernel/src/devices/ps2_dev/mod.rs create mode 100644 kernel/src/devices/ps2_dev/mouse.rs diff --git a/kernel/Cargo.lock b/kernel/Cargo.lock index 2e4691cf..54355de8 100644 --- a/kernel/Cargo.lock +++ b/kernel/Cargo.lock @@ -372,6 +372,16 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "ps2" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfef03bb1362e6a23a211efe8c72e2eeb6888f51fb329cdfa07bb470986ea7d0" +dependencies = [ + "bitflags 1.3.2", + "x86_64 0.14.13", +] + [[package]] name = "quote" version = "1.0.40" @@ -527,13 +537,14 @@ dependencies = [ "limine", "log", "pc-keyboard", + "ps2", "rand", "raw-cpuid 11.5.0", "smoltcp", "spin", "talc", "uart_16550", - "x86_64", + "x86_64 0.15.2", "zerocopy", ] @@ -597,6 +608,18 @@ dependencies = [ "raw-cpuid 10.7.0", ] +[[package]] +name = "x86_64" +version = "0.14.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c101112411baafbb4bf8d33e4c4a80ab5b02d74d2612331c61e8192fc9710491" +dependencies = [ + "bit_field", + "bitflags 2.9.0", + "rustversion", + "volatile", +] + [[package]] name = "x86_64" version = "0.15.2" diff --git a/kernel/Cargo.toml b/kernel/Cargo.toml index 65de2f92..52d9527d 100644 --- a/kernel/Cargo.toml +++ b/kernel/Cargo.toml @@ -56,3 +56,4 @@ futures-util = { version = "0.3.31", default-features = false, features = [ "async-await-macro", "futures-macro", ] } +ps2 = "0.2.0" diff --git a/kernel/src/devices/mod.rs b/kernel/src/devices/mod.rs index 4840b9c8..b6fd0488 100644 --- a/kernel/src/devices/mod.rs +++ b/kernel/src/devices/mod.rs @@ -11,10 +11,9 @@ use sd_card::{find_sd_card, initalize_sd_card}; use xhci::{find_xhci_inferface, initalize_xhci_hub}; pub mod graphics; use graphics::framebuffer::{self, colors}; -pub mod keyboard; pub mod mmio; -pub mod mouse; pub mod pci; +pub mod ps2_dev; pub mod sd_card; pub mod serial; pub mod xhci; @@ -74,7 +73,6 @@ pub fn init(cpu_id: u32) { find_xhci_inferface(&devices).expect("Build system currently sets up xhci device"); initalize_xhci_hub(&xhci_device).unwrap(); - keyboard::init().expect("Failed to initialize keyboard"); - mouse::init().expect("Failed to initialize mouse"); + ps2_dev::init(); } } diff --git a/kernel/src/devices/mouse.rs b/kernel/src/devices/mouse.rs deleted file mode 100644 index 156fb7f0..00000000 --- a/kernel/src/devices/mouse.rs +++ /dev/null @@ -1,632 +0,0 @@ -//! Mouse management for PS/2 compatible mice -//! -//! Handles mouse initialization, event processing, and provides both -//! synchronous and asynchronous interfaces for mouse events - -use crate::{ - events::schedule_kernel, - interrupts::{idt::without_interrupts, x2apic}, - serial_println, -}; -use core::{ - fmt, - pin::Pin, - sync::atomic::{AtomicBool, AtomicU64, Ordering}, - task::{Context, Poll, Waker}, -}; -use futures_util::stream::{Stream, StreamExt}; -use spin::Mutex; -use x86_64::{instructions::port::Port, structures::idt::InterruptStackFrame}; - -/// Maximum number of mouse events to store in the buffer -const MOUSE_BUFFER_SIZE: usize = 32; - -/// The global mouse state -pub static MOUSE: Mutex = Mutex::new(MouseState::new()); - -/// Has the mouse been initialized -static MOUSE_INITIALIZED: AtomicBool = AtomicBool::new(false); - -/// The number of mouse interrupts received -static MOUSE_INTERRUPT_COUNT: AtomicU64 = AtomicU64::new(0); - -/// Wake task waiting for mouse input -static MOUSE_WAKER: Mutex> = Mutex::new(None); - -/// PS/2 mouse error types -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum MouseError { - /// PS/2 controller initialization error - ControllerInitError, - /// Timeout waiting for PS/2 controller to be ready - ControllerTimeout, - /// Mouse failed to acknowledge a command - CommandAckFailed, - /// Invalid packet data - InvalidPacketData, - /// Buffer overflow - BufferOverflow, - /// Mouse already initialized - AlreadyInitialized, -} - -/// Result type for mouse operations -pub type MouseResult = core::result::Result; - -impl fmt::Display for MouseError { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - Self::ControllerInitError => write!(f, "PS/2 controller initialization error"), - Self::ControllerTimeout => write!(f, "Timeout waiting for PS/2 controller"), - Self::CommandAckFailed => write!(f, "Mouse did not acknowledge command"), - Self::InvalidPacketData => write!(f, "Invalid mouse packet data"), - Self::BufferOverflow => write!(f, "Mouse event buffer overflow"), - Self::AlreadyInitialized => write!(f, "Mouse already initialized"), - } - } -} - -/// PS/2 mouse packet structure -struct MousePacket { - flags: u8, - x_movement: i8, - y_movement: i8, - z_movement: i8, // Scroll wheel -} - -/// Button state for mouse buttons -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum ButtonState { - /// Button is pressed - Pressed, - /// Button is released - Released, -} - -/// Mouse button identifiers -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum MouseButton { - /// Left mouse button - Left, - /// Right mouse button - Right, - /// Middle mouse button (scroll wheel click) - Middle, -} - -/// Represents a mouse event with additional metadata -#[derive(Debug, Clone)] -pub struct MouseEvent { - /// X movement delta - pub dx: i8, - /// Y movement delta - pub dy: i8, - /// Z movement delta (scroll wheel) - pub dz: i8, - /// Left button state - pub left_button: ButtonState, - /// Right button state - pub right_button: ButtonState, - /// Middle button state - pub middle_button: ButtonState, - /// Absolute X position at time of event - pub x: i16, - /// Absolute Y position at time of event - pub y: i16, -} - -/// Structure to track mouse state -#[derive(Debug)] -pub struct MouseState { - /// Circular buffer for mouse events - buffer: [Option; MOUSE_BUFFER_SIZE], - /// Read position in the buffer - read_pos: usize, - /// Write position in the buffer - write_pos: usize, - /// Is the buffer full - full: bool, - /// Current packet being assembled - packet_bytes: [u8; 4], - /// Current position in the packet - packet_index: usize, - /// Previous button states for tracking changes - prev_left_button: ButtonState, - prev_right_button: ButtonState, - prev_middle_button: ButtonState, - /// Current mouse X position - mouse_x: i16, - /// Current mouse Y position - mouse_y: i16, - /// Maximum X position (screen width - 1) - max_x: i16, - /// Maximum Y position (screen height - 1) - max_y: i16, -} - -/// Stream that yields mouse events -pub struct MouseStream; - -impl Default for MouseState { - fn default() -> Self { - Self::new() - } -} - -impl MouseState { - /// Create a new mouse state - pub const fn new() -> Self { - const NONE_OPTION: Option = None; - Self { - buffer: [NONE_OPTION; MOUSE_BUFFER_SIZE], - read_pos: 0, - write_pos: 0, - full: false, - packet_bytes: [0; 4], - packet_index: 0, - prev_left_button: ButtonState::Released, - prev_right_button: ButtonState::Released, - prev_middle_button: ButtonState::Released, - mouse_x: 0, - mouse_y: 0, - // Default to VGA text mode dimensions, can be updated with set_bounds - max_x: 79, - max_y: 24, - } - } - - /// Set the screen boundaries for mouse movement - pub fn set_bounds(&mut self, width: i16, height: i16) { - self.max_x = width - 1; - self.max_y = height - 1; - - self.clamp_position(); - } - - /// Ensure mouse position stays within bounds - fn clamp_position(&mut self) { - if self.mouse_x < 0 { - self.mouse_x = 0; - } else if self.mouse_x > self.max_x { - self.mouse_x = self.max_x; - } - - if self.mouse_y < 0 { - self.mouse_y = 0; - } else if self.mouse_y > self.max_y { - self.mouse_y = self.max_y; - } - } - - /// Get current mouse position - pub fn get_position(&self) -> (i16, i16) { - (self.mouse_x, self.mouse_y) - } - - /// Set mouse position - pub fn set_position(&mut self, x: i16, y: i16) { - self.mouse_x = x; - self.mouse_y = y; - self.clamp_position(); - } - - /// Check if the buffer is empty - pub fn is_empty(&self) -> bool { - !self.full && self.read_pos == self.write_pos - } - - /// Process a mouse data byte - pub fn process_mouse_byte(&mut self, data: u8) -> MouseResult<()> { - self.packet_bytes[self.packet_index] = data; - self.packet_index += 1; - - // Standard PS/2 mouse packets are 3 bytes - // With scroll wheel, we need 4 bytes - if self.packet_index >= 3 { - let packet = MousePacket { - flags: self.packet_bytes[0], - x_movement: self.packet_bytes[1] as i8, - y_movement: self.packet_bytes[2] as i8, - z_movement: if self.packet_index >= 4 { - self.packet_bytes[3] as i8 - } else { - 0 - }, - }; - - self.process_packet(packet)?; - self.packet_index = 0; - } - - Ok(()) - } - - /// Process a complete mouse packet and create an event - fn process_packet(&mut self, packet: MousePacket) -> MouseResult<()> { - // Extract button states - let left_button = if packet.flags & 0x01 != 0 { - ButtonState::Pressed - } else { - ButtonState::Released - }; - - let right_button = if packet.flags & 0x02 != 0 { - ButtonState::Pressed - } else { - ButtonState::Released - }; - - let middle_button = if packet.flags & 0x04 != 0 { - ButtonState::Pressed - } else { - ButtonState::Released - }; - - // Handle movement - let mut dx = packet.x_movement; - let mut dy = packet.y_movement; - - // PS/2 mouse protocol: Overflow bits - if packet.flags & 0x40 != 0 { - // X overflow - dx = if dx > 0 { 127 } else { -128 }; - } - if packet.flags & 0x80 != 0 { - // Y overflow - dy = if dy > 0 { 127 } else { -128 }; - } - - // PS/2 Y-axis is inverted - dy = if dy == -128 { 127 } else { -dy }; - - // Update absolute position - let new_x = self.mouse_x + dx as i16; - let new_y = self.mouse_y + dy as i16; - - self.mouse_x = new_x; - self.mouse_y = new_y; - - // Ensure position stays within bounds - self.clamp_position(); - - // Create event only if there's actual movement or button state change - if dx != 0 - || dy != 0 - || packet.z_movement != 0 - || left_button != self.prev_left_button - || right_button != self.prev_right_button - || middle_button != self.prev_middle_button - { - // Create event - let event = MouseEvent { - dx, - dy, - dz: packet.z_movement, - left_button, - right_button, - middle_button, - x: self.mouse_x, - y: self.mouse_y, - }; - - if self.push_event(event).is_err() { - // Buffer overflow, but we can continue processing - serial_println!("Warning: Mouse event buffer overflow"); - } - - // Update previous button states - self.prev_left_button = left_button; - self.prev_right_button = right_button; - self.prev_middle_button = middle_button; - } - - Ok(()) - } - - /// Push an event to the buffer - fn push_event(&mut self, event: MouseEvent) -> MouseResult<()> { - if self.full { - self.read_pos = (self.read_pos + 1) % MOUSE_BUFFER_SIZE; - } - - self.buffer[self.write_pos] = Some(event); - - self.write_pos = (self.write_pos + 1) % MOUSE_BUFFER_SIZE; - - if self.write_pos == self.read_pos { - self.full = true; - } - - without_interrupts(|| { - let mut waker = MOUSE_WAKER.lock(); - if let Some(w) = waker.take() { - w.wake(); - } - }); - - Ok(()) - } - - /// Read a mouse event from the buffer - pub fn read_event(&mut self) -> Option { - if self.is_empty() { - return None; - } - - let event = self.buffer[self.read_pos].clone(); - - self.buffer[self.read_pos] = None; - self.read_pos = (self.read_pos + 1) % MOUSE_BUFFER_SIZE; - - self.full = false; - - event - } - - /// Clear mouse buffer - pub fn clear_buffer(&mut self) { - const NONE_OPTION: Option = None; - self.buffer = [NONE_OPTION; MOUSE_BUFFER_SIZE]; - self.read_pos = 0; - self.write_pos = 0; - self.full = false; - } -} - -/// PS/2 mouse commands -#[repr(u8)] -#[allow(dead_code)] -enum PS2Command { - /// Reset the mouse - Reset = 0xFF, - /// Set defaults - SetDefaults = 0xF6, - /// Disable data reporting - DisableReporting = 0xF5, - /// Enable data reporting - EnableReporting = 0xF4, - /// Set sample rate - SetSampleRate = 0xF3, - /// Get device ID - GetDeviceId = 0xF2, - /// Set resolution - SetResolution = 0xE8, - /// Status request - StatusRequest = 0xE9, -} - -/// PS/2 controller commands -#[repr(u8)] -#[allow(dead_code)] -enum PS2ControllerCommand { - /// Read controller configuration byte - ReadConfig = 0x20, - /// Write controller configuration byte - WriteConfig = 0x60, - /// Disable second PS/2 port - DisablePort2 = 0xA7, - /// Enable second PS/2 port - EnablePort2 = 0xA8, - /// Test second PS/2 port - TestPort2 = 0xA9, - /// Test PS/2 controller - TestController = 0xAA, - /// Test first PS/2 port - TestPort1 = 0xAB, - /// Disable first PS/2 port - DisablePort1 = 0xAD, - /// Enable first PS/2 port - EnablePort1 = 0xAE, - /// Write to second PS/2 port - WritePort2 = 0xD4, -} - -/// PS/2 port addresses -struct PS2Port; - -impl PS2Port { - /// Data port (read/write) - const DATA: u16 = 0x60; - /// Status register (read), command register (write) - const CMD_STATUS: u16 = 0x64; -} - -/// PS/2 controller response bytes -struct PS2Response; - -#[allow(dead_code)] -impl PS2Response { - /// Command acknowledgement - const ACK: u8 = 0xFA; - /// Command not recognized - const RESEND: u8 = 0xFE; - /// Self-test passed - const TEST_PASSED: u8 = 0xAA; -} - -/// Initialize the mouse -pub fn init() -> MouseResult<()> { - if MOUSE_INITIALIZED.load(Ordering::SeqCst) { - return Err(MouseError::AlreadyInitialized); - } - - wait_write_ready()?; - - let mut command_port = Port::new(PS2Port::CMD_STATUS); - unsafe { - command_port.write(PS2ControllerCommand::WritePort2 as u8); - } - - wait_write_ready()?; - - // Tell the mouse to enable data reporting - let mut data_port = Port::new(PS2Port::DATA); - unsafe { - data_port.write(PS2Command::EnableReporting as u8); - } - - wait_read_ready()?; - let response: u8 = unsafe { data_port.read() }; - - if response != PS2Response::ACK { - return Err(MouseError::CommandAckFailed); - } - - MOUSE_INITIALIZED.store(true, Ordering::SeqCst); - - Ok(()) -} - -/// Wait for the PS/2 controller to be ready for reading -fn wait_read_ready() -> MouseResult<()> { - let mut status_port = Port::new(PS2Port::CMD_STATUS); - - for _ in 0..1000 { - let status: u8 = unsafe { status_port.read() }; - if status & 0x01 != 0 { - return Ok(()); - } - } - - Err(MouseError::ControllerTimeout) -} - -/// Wait for the PS/2 controller to be ready for writing -fn wait_write_ready() -> MouseResult<()> { - let mut status_port = Port::::new(PS2Port::CMD_STATUS); - - for _ in 0..1000 { - let status: u8 = unsafe { status_port.read() }; - if status & 0x02 == 0 { - return Ok(()); - } - } - - Err(MouseError::ControllerTimeout) -} - -/// Send a command to the PS/2 mouse -fn mouse_send_command(command: PS2Command) -> MouseResult { - wait_write_ready()?; - - let mut command_port = Port::new(PS2Port::CMD_STATUS); - unsafe { - command_port.write(PS2ControllerCommand::WritePort2 as u8); - } - - wait_write_ready()?; - - let mut data_port = Port::new(PS2Port::DATA); - unsafe { - data_port.write(command as u8); - } - - wait_read_ready()?; - let response: u8 = unsafe { data_port.read() }; - - Ok(response) -} - -/// Get a stream of mouse events -pub fn get_stream() -> MouseStream { - MouseStream -} - -/// Wait for and return the next mouse event -pub async fn next_event() -> MouseEvent { - MouseStream.next().await.unwrap() -} - -/// Read a mouse event without waiting -pub fn try_read_event() -> Option { - without_interrupts(|| MOUSE.lock().read_event()) -} - -/// Get current mouse position -pub fn get_position() -> (i16, i16) { - without_interrupts(|| { - let mouse = MOUSE.lock(); - mouse.get_position() - }) -} - -/// Set mouse position -pub fn set_position(x: i16, y: i16) { - without_interrupts(|| { - let mut mouse = MOUSE.lock(); - mouse.set_position(x, y); - }) -} - -/// Set screen boundaries for mouse movement -pub fn set_bounds(width: i16, height: i16) { - without_interrupts(|| { - let mut mouse = MOUSE.lock(); - mouse.set_bounds(width, height); - }) -} - -/// Reset the mouse to default settings -pub fn reset() -> MouseResult<()> { - if !MOUSE_INITIALIZED.load(Ordering::SeqCst) { - return Err(MouseError::ControllerInitError); - } - - let response = mouse_send_command(PS2Command::Reset)?; - if response != PS2Response::ACK { - return Err(MouseError::CommandAckFailed); - } - - without_interrupts(|| { - let mut mouse = MOUSE.lock(); - mouse.clear_buffer(); - mouse.set_position(0, 0); - }); - - Ok(()) -} - -/// Get mouse interrupt count -pub fn get_interrupt_count() -> u64 { - MOUSE_INTERRUPT_COUNT.load(Ordering::SeqCst) -} - -/// Mouse interrupt handler -pub extern "x86-interrupt" fn mouse_handler(_frame: InterruptStackFrame) { - MOUSE_INTERRUPT_COUNT.fetch_add(1, Ordering::SeqCst); - - let mut data_port = Port::new(PS2Port::DATA); - let data: u8 = unsafe { data_port.read() }; - - schedule_kernel( - async move { - let mut mouse = MOUSE.lock(); - if let Err(e) = mouse.process_mouse_byte(data) { - serial_println!("Error processing mouse data: {:?}", e); - } - }, - 0, - ); - - x2apic::send_eoi(); -} - -impl Stream for MouseStream { - type Item = MouseEvent; - - fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { - let mut mouse = MOUSE.lock(); - - if let Some(event) = mouse.read_event() { - return Poll::Ready(Some(event)); - } - - // No event available, register waker for notification - without_interrupts(|| { - let mut waker = MOUSE_WAKER.lock(); - *waker = Some(cx.waker().clone()); - }); - - Poll::Pending - } -} diff --git a/kernel/src/devices/ps2_dev/controller.rs b/kernel/src/devices/ps2_dev/controller.rs new file mode 100644 index 00000000..bd4e84b5 --- /dev/null +++ b/kernel/src/devices/ps2_dev/controller.rs @@ -0,0 +1,123 @@ +//! PS/2 Controller management +//! +//! This module handles the low-level interaction with the PS/2 controller +//! using the ps2 crate to interface with the hardware. + +use crate::serial_println; +use core::sync::atomic::{AtomicBool, Ordering}; +use ps2::{error::ControllerError, flags::ControllerConfigFlags, Controller}; +use spin::Mutex; + +/// The global PS/2 controller +static PS2_CONTROLLER: Mutex> = Mutex::new(None); + +/// Has the controller been initialized +static CONTROLLER_INITIALIZED: AtomicBool = AtomicBool::new(false); + +/// Initialize the PS/2 controller +pub fn init() -> Result<(), &'static str> { + if CONTROLLER_INITIALIZED.load(Ordering::SeqCst) { + return Ok(()); + } + + // Create a new controller instance and configure it + match initialize_controller() { + Ok(controller) => { + let mut controller_lock = PS2_CONTROLLER.lock(); + *controller_lock = Some(controller); + CONTROLLER_INITIALIZED.store(true, Ordering::SeqCst); + Ok(()) + } + Err(e) => { + serial_println!("PS/2 controller initialization failed: {:?}", e); + Err("PS/2 controller initialization failed") + } + } +} + +/// Initialize and configure the PS/2 controller +fn initialize_controller() -> Result { + // Create a new controller instance + let mut controller = unsafe { Controller::new() }; + + // Step 1: Disable devices during configuration + controller.disable_keyboard()?; + controller.disable_mouse()?; + + // Step 2: Flush any pending data + let _ = controller.read_data(); + + // Step 3: Set controller configuration + let mut config = controller.read_config()?; + + // Disable interrupts and scancode translation during setup + config.set( + ControllerConfigFlags::ENABLE_KEYBOARD_INTERRUPT + | ControllerConfigFlags::ENABLE_MOUSE_INTERRUPT + | ControllerConfigFlags::ENABLE_TRANSLATE, + false, + ); + + controller.write_config(config)?; + + // Step 4: Perform controller self-test + controller.test_controller()?; + + // Step 5: Test PS/2 ports + let keyboard_works = controller.test_keyboard().is_ok(); + let mouse_works = controller.test_mouse().is_ok(); + + // Step 6: Enable devices + config = controller.read_config()?; + + if keyboard_works { + controller.enable_keyboard()?; + config.set(ControllerConfigFlags::DISABLE_KEYBOARD, false); + config.set(ControllerConfigFlags::ENABLE_KEYBOARD_INTERRUPT, true); + } + + if mouse_works { + controller.enable_mouse()?; + config.set(ControllerConfigFlags::DISABLE_MOUSE, false); + config.set(ControllerConfigFlags::ENABLE_MOUSE_INTERRUPT, true); + } + + // Step 7: Write the final configuration + controller.write_config(config)?; + + Ok(controller) +} + +/// Perform an operation with the PS/2 controller +/// +/// This function takes a closure that is given a mutable reference to the controller +/// and returns the result of that closure. This ensures the controller is only +/// accessed while the mutex is held. +pub fn with_controller(f: F) -> Option +where + F: FnOnce(&mut Controller) -> R, +{ + let mut lock = PS2_CONTROLLER.lock(); + (*lock).as_mut().map(f) +} + +/// Check if the PS/2 controller is initialized +pub fn is_initialized() -> bool { + CONTROLLER_INITIALIZED.load(Ordering::SeqCst) +} + +/// Reset the PS/2 controller +pub fn reset() -> Result<(), &'static str> { + if !is_initialized() { + return Err("PS/2 controller not initialized"); + } + + match initialize_controller() { + Ok(controller) => { + let mut controller_lock = PS2_CONTROLLER.lock(); + *controller_lock = Some(controller); + Ok(()) + } + Err(_) => Err("Failed to reset PS/2 controller"), + } +} diff --git a/kernel/src/devices/keyboard.rs b/kernel/src/devices/ps2_dev/keyboard.rs similarity index 54% rename from kernel/src/devices/keyboard.rs rename to kernel/src/devices/ps2_dev/keyboard.rs index d065d5ad..4efad85b 100644 --- a/kernel/src/devices/keyboard.rs +++ b/kernel/src/devices/ps2_dev/keyboard.rs @@ -1,21 +1,19 @@ -//! Keyboard management +//! PS/2 Keyboard management //! -//! Currently does not support fancy stuff like key repeats -use crate::{ - interrupts::{idt::without_interrupts, x2apic}, - serial_println, -}; +//! This module handles keyboard initialization, event processing, +//! and provides both synchronous and asynchronous interfaces for keyboard events. + +use crate::{devices::ps2_dev::controller, interrupts::idt::without_interrupts, serial_println}; use core::{ pin::Pin, - sync::atomic::{AtomicBool, AtomicU64, Ordering}, + sync::atomic::{AtomicU64, Ordering}, task::{Context, Poll, Waker}, }; -use futures_util::stream::{Stream, StreamExt}; // StreamExt trait for .next() method +use futures_util::stream::{Stream, StreamExt}; use pc_keyboard::{ - layouts, DecodedKey, Error, HandleControl, KeyCode, KeyState, Keyboard, Modifiers, ScancodeSet1, + layouts, DecodedKey, Error, HandleControl, KeyCode, KeyState, Keyboard, Modifiers, ScancodeSet2, }; use spin::Mutex; -use x86_64::{instructions::port::Port, structures::idt::InterruptStackFrame}; /// Maximum number of keyboard events to store in the buffer const KEYBOARD_BUFFER_SIZE: usize = 32; @@ -23,32 +21,50 @@ const KEYBOARD_BUFFER_SIZE: usize = 32; /// The global keyboard state pub static KEYBOARD: Mutex = Mutex::new(KeyboardState::new()); -/// Has the keyboard been initialized -static KEYBOARD_INITIALIZED: AtomicBool = AtomicBool::new(false); - /// The number of keyboard interrupts received static KEYBOARD_INTERRUPT_COUNT: AtomicU64 = AtomicU64::new(0); /// Wake task waiting for keyboard input static KEYBOARD_WAKER: Mutex> = Mutex::new(None); +/// Keyboard error types +#[derive(Debug, Clone, Copy)] +pub enum KeyboardError { + /// PS/2 controller initialization error + ControllerError, + /// Keyboard command error + CommandError, + /// Invalid scancode + InvalidScancode, + /// PC Keyboard error + PCKeyboardError(Error), +} + +impl From for KeyboardError { + fn from(error: Error) -> Self { + KeyboardError::PCKeyboardError(error) + } +} + /// Represents a key event with additional metadata #[derive(Debug, Clone)] -pub struct BufferKeyEvent { +pub struct KeyboardEvent { /// The key code from the event pub key_code: KeyCode, /// The key state (up or down) pub state: KeyState, /// The decoded key if applicable pub decoded: Option, + /// The raw scancode + pub scancode: u8, } -/// Structure to track keyboard state +/// Keyboard state structure pub struct KeyboardState { /// The pc_keyboard handler - keyboard: Keyboard, - /// Circular buffer for key events - buffer: [Option; KEYBOARD_BUFFER_SIZE], + keyboard: Keyboard, + /// Circular buffer for keyboard events + buffer: [Option; KEYBOARD_BUFFER_SIZE], /// Read position in the buffer read_pos: usize, /// Write position in the buffer @@ -69,10 +85,10 @@ impl Default for KeyboardState { impl KeyboardState { /// Create a new keyboard state pub const fn new() -> Self { - const NONE_OPTION: Option = None; + const NONE_OPTION: Option = None; Self { keyboard: Keyboard::new( - ScancodeSet1::new(), + ScancodeSet2::new(), layouts::Us104Key, HandleControl::Ignore, ), @@ -88,31 +104,31 @@ impl KeyboardState { !self.full && self.read_pos == self.write_pos } - /// Process a scancode and add resulting key events to the buffer - pub fn process_scancode(&mut self, scancode: u8) -> Result<(), Error> { + /// Process a scancode + pub fn process_scancode(&mut self, scancode: u8) -> Result<(), KeyboardError> { if let Some(key_event) = self.keyboard.add_byte(scancode)? { let decoded = self.keyboard.process_keyevent(key_event.clone()); - let buff_event = BufferKeyEvent { + let event = KeyboardEvent { key_code: key_event.code, state: key_event.state, decoded, + scancode, }; - self.push_event(buff_event); + self.push_event(event)?; } Ok(()) } /// Push an event to the buffer - fn push_event(&mut self, event: BufferKeyEvent) { + fn push_event(&mut self, event: KeyboardEvent) -> Result<(), KeyboardError> { if self.full { self.read_pos = (self.read_pos + 1) % KEYBOARD_BUFFER_SIZE; } self.buffer[self.write_pos] = Some(event); - self.write_pos = (self.write_pos + 1) % KEYBOARD_BUFFER_SIZE; if self.write_pos == self.read_pos { @@ -125,19 +141,19 @@ impl KeyboardState { w.wake(); } }); + + Ok(()) } - /// Read a key event from the buffer - pub fn read_event(&mut self) -> Option { + /// Read a keyboard event from the buffer + pub fn read_event(&mut self) -> Option { if self.is_empty() { return None; } let event = self.buffer[self.read_pos].clone(); - self.buffer[self.read_pos] = None; self.read_pos = (self.read_pos + 1) % KEYBOARD_BUFFER_SIZE; - self.full = false; event @@ -150,7 +166,7 @@ impl KeyboardState { /// Clear keyboard buffer pub fn clear_buffer(&mut self) { - const NONE_OPTION: Option = None; + const NONE_OPTION: Option = None; self.buffer = [NONE_OPTION; KEYBOARD_BUFFER_SIZE]; self.read_pos = 0; self.write_pos = 0; @@ -158,15 +174,22 @@ impl KeyboardState { } } -/// Initialize the keyboard system -pub fn init() -> Result<(), &'static str> { - if KEYBOARD_INITIALIZED.load(Ordering::SeqCst) { - return Ok(()); - } +/// Initialize the keyboard +pub fn init() { + controller::with_controller(initialize_keyboard); +} - KEYBOARD_INITIALIZED.store(true, Ordering::SeqCst); +/// Initialize and reset the keyboard +fn initialize_keyboard(controller: &mut ps2::Controller) { + let mut keyboard = controller.keyboard(); - Ok(()) + keyboard + .reset_and_self_test() + .expect("Failed keyboard reset test"); + + keyboard + .enable_scanning() + .expect("Failed to enable scanning for keyboard"); } /// Get a stream of keyboard events @@ -174,32 +197,53 @@ pub fn get_stream() -> KeyboardStream { KeyboardStream } -/// Wait for and return the next key event -pub async fn next_key() -> BufferKeyEvent { +/// Wait for and return the next keyboard event +pub async fn next_event() -> KeyboardEvent { KeyboardStream.next().await.unwrap() } -/// Read a key without waiting -pub fn try_read_key() -> Option { +/// Try to read a keyboard event without waiting +pub fn try_read_event() -> Option { without_interrupts(|| KEYBOARD.lock().read_event()) } -pub extern "x86-interrupt" fn keyboard_handler(_frame: InterruptStackFrame) { - KEYBOARD_INTERRUPT_COUNT.fetch_add(1, Ordering::SeqCst); +/// Get keyboard interrupt count +pub fn get_interrupt_count() -> u64 { + KEYBOARD_INTERRUPT_COUNT.load(Ordering::SeqCst) +} - let mut port = Port::new(0x60); - let scancode: u8 = unsafe { port.read() }; +/// Keyboard interrupt handler +pub fn keyboard_handler() { + KEYBOARD_INTERRUPT_COUNT.fetch_add(1, Ordering::SeqCst); - let mut keyboard = KEYBOARD.lock(); - if let Err(e) = keyboard.process_scancode(scancode) { - serial_println!("Error processing keyboard scancode: {:?}", e); - } + controller::with_controller(|controller| { + // Read from the controller as long as the OUTPUT_FULL bit is set + loop { + let status = controller.read_status(); + if !status.contains(ps2::flags::ControllerStatusFlags::OUTPUT_FULL) { + // No more data available + break; + } - x2apic::send_eoi(); + match controller.read_data() { + Ok(scancode) => { + let mut keyboard = KEYBOARD.lock(); + if let Err(e) = keyboard.process_scancode(scancode) { + serial_println!("Error processing keyboard scancode: {:?}", e); + } + } + Err(_) => { + // If we can't read data despite OUTPUT_FULL being set + serial_println!("Keyboard: Full bit set but got error while reading"); + break; + } + } + } + }); } impl Stream for KeyboardStream { - type Item = BufferKeyEvent; + type Item = KeyboardEvent; fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { let mut keyboard = KEYBOARD.lock(); diff --git a/kernel/src/devices/ps2_dev/mod.rs b/kernel/src/devices/ps2_dev/mod.rs new file mode 100644 index 00000000..c10422a0 --- /dev/null +++ b/kernel/src/devices/ps2_dev/mod.rs @@ -0,0 +1,35 @@ +//! PS/2 device management module +//! +//! This module provides interfaces for PS/2 devices including +//! keyboard and mouse through the PS/2 controller. + +pub mod controller; +pub mod keyboard; +pub mod mouse; + +use crate::interrupts::x2apic; + +/// Initialize the PS/2 subsystem +pub fn init() { + // Initialize controller first + controller::init().expect("Failed to initialize controller"); + + keyboard::init(); + mouse::init(); +} + +/// PS/2 keyboard interrupt handler +pub extern "x86-interrupt" fn keyboard_interrupt_handler( + _frame: x86_64::structures::idt::InterruptStackFrame, +) { + keyboard::keyboard_handler(); + x2apic::send_eoi(); +} + +/// PS/2 mouse interrupt handler +pub extern "x86-interrupt" fn mouse_interrupt_handler( + _frame: x86_64::structures::idt::InterruptStackFrame, +) { + mouse::mouse_handler(); + x2apic::send_eoi(); +} diff --git a/kernel/src/devices/ps2_dev/mouse.rs b/kernel/src/devices/ps2_dev/mouse.rs new file mode 100644 index 00000000..7f212939 --- /dev/null +++ b/kernel/src/devices/ps2_dev/mouse.rs @@ -0,0 +1,393 @@ +//! PS/2 Mouse management +//! +//! This module handles mouse initialization, event processing, +//! and provides both synchronous and asynchronous interfaces for mouse events. + +use crate::{devices::ps2_dev::controller, interrupts::idt::without_interrupts, serial_println}; +use core::{ + fmt, + pin::Pin, + sync::atomic::{AtomicU64, Ordering}, + task::{Context, Poll, Waker}, +}; +use futures_util::stream::{Stream, StreamExt}; +use ps2::flags::MouseMovementFlags; +use spin::Mutex; + +/// Maximum number of mouse events to store in the buffer +const MOUSE_BUFFER_SIZE: usize = 32; + +/// The global mouse state +pub static MOUSE: Mutex = Mutex::new(MouseState::new()); + +/// The number of mouse interrupts received +static MOUSE_INTERRUPT_COUNT: AtomicU64 = AtomicU64::new(0); + +/// Wake task waiting for mouse input +static MOUSE_WAKER: Mutex> = Mutex::new(None); + +/// PS/2 mouse error types +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum MouseError { + /// PS/2 controller initialization error + ControllerError, + /// Mouse command error + CommandError, + /// Invalid packet data + InvalidPacketData, +} + +impl fmt::Display for MouseError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + Self::ControllerError => write!(f, "PS/2 controller error"), + Self::CommandError => write!(f, "Mouse command error"), + Self::InvalidPacketData => write!(f, "Invalid mouse packet data"), + } + } +} + +/// Button state for mouse buttons +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum ButtonState { + /// Button is pressed + Pressed, + /// Button is released + Released, +} + +/// Represents a mouse event with additional metadata +#[derive(Debug, Clone)] +pub struct MouseEvent { + /// X movement delta + pub dx: i8, + /// Y movement delta + pub dy: i8, + /// Z movement delta (scroll wheel) + pub dz: i8, + /// Left button state + pub left_button: ButtonState, + /// Right button state + pub right_button: ButtonState, + /// Middle button state + pub middle_button: ButtonState, + /// Absolute X position at time of event + pub x: i16, + /// Absolute Y position at time of event + pub y: i16, +} + +/// Structure to track mouse state +pub struct MouseState { + /// Circular buffer for mouse events + buffer: [Option; MOUSE_BUFFER_SIZE], + /// Read position in the buffer + read_pos: usize, + /// Write position in the buffer + write_pos: usize, + /// Is the buffer full + full: bool, + /// Previous button states for tracking changes + prev_left_button: ButtonState, + prev_right_button: ButtonState, + prev_middle_button: ButtonState, + /// Current mouse X position + mouse_x: i16, + /// Current mouse Y position + mouse_y: i16, + /// Maximum X position (screen width - 1) + max_x: i16, + /// Maximum Y position (screen height - 1) + max_y: i16, +} + +/// Stream that yields mouse events +pub struct MouseStream; + +impl Default for MouseState { + fn default() -> Self { + Self::new() + } +} + +impl MouseState { + /// Create a new mouse state + pub const fn new() -> Self { + const NONE_OPTION: Option = None; + Self { + buffer: [NONE_OPTION; MOUSE_BUFFER_SIZE], + read_pos: 0, + write_pos: 0, + full: false, + prev_left_button: ButtonState::Released, + prev_right_button: ButtonState::Released, + prev_middle_button: ButtonState::Released, + mouse_x: 0, + mouse_y: 0, + // Default to VGA text mode dimensions, can be updated with set_bounds + max_x: 79, + max_y: 24, + } + } + + /// Set the screen boundaries for mouse movement + pub fn set_bounds(&mut self, width: i16, height: i16) { + self.max_x = width - 1; + self.max_y = height - 1; + self.clamp_position(); + } + + /// Ensure mouse position stays within bounds + fn clamp_position(&mut self) { + if self.mouse_x < 0 { + self.mouse_x = 0; + } else if self.mouse_x > self.max_x { + self.mouse_x = self.max_x; + } + + if self.mouse_y < 0 { + self.mouse_y = 0; + } else if self.mouse_y > self.max_y { + self.mouse_y = self.max_y; + } + } + + /// Get current mouse position + pub fn get_position(&self) -> (i16, i16) { + (self.mouse_x, self.mouse_y) + } + + /// Set mouse position + pub fn set_position(&mut self, x: i16, y: i16) { + self.mouse_x = x; + self.mouse_y = y; + self.clamp_position(); + } + + /// Check if the buffer is empty + pub fn is_empty(&self) -> bool { + !self.full && self.read_pos == self.write_pos + } + + /// Process a complete mouse packet + pub fn process_packet( + &mut self, + flags: MouseMovementFlags, + dx: i16, + dy: i16, + ) -> Result<(), MouseError> { + // Extract button states + let left_button = if flags.contains(MouseMovementFlags::LEFT_BUTTON_PRESSED) { + ButtonState::Pressed + } else { + ButtonState::Released + }; + + let right_button = if flags.contains(MouseMovementFlags::RIGHT_BUTTON_PRESSED) { + ButtonState::Pressed + } else { + ButtonState::Released + }; + + let middle_button = if flags.contains(MouseMovementFlags::MIDDLE_BUTTON_PRESSED) { + ButtonState::Pressed + } else { + ButtonState::Released + }; + + // Update absolute position + self.mouse_x += dx; + self.mouse_y += dy; + + // Ensure position stays within bounds + self.clamp_position(); + + // Create event only if there's actual movement or button state change + if dx != 0 + || dy != 0 + || left_button != self.prev_left_button + || right_button != self.prev_right_button + || middle_button != self.prev_middle_button + { + let event = MouseEvent { + dx: dx as i8, + dy: dy as i8, + dz: 0, // No scroll wheel support in basic PS/2 mouse + left_button, + right_button, + middle_button, + x: self.mouse_x, + y: self.mouse_y, + }; + + self.push_event(event)?; + + // Update previous button states + self.prev_left_button = left_button; + self.prev_right_button = right_button; + self.prev_middle_button = middle_button; + } + + Ok(()) + } + + /// Push an event to the buffer + fn push_event(&mut self, event: MouseEvent) -> Result<(), MouseError> { + if self.full { + self.read_pos = (self.read_pos + 1) % MOUSE_BUFFER_SIZE; + } + + self.buffer[self.write_pos] = Some(event); + self.write_pos = (self.write_pos + 1) % MOUSE_BUFFER_SIZE; + + if self.write_pos == self.read_pos { + self.full = true; + } + + without_interrupts(|| { + let mut waker = MOUSE_WAKER.lock(); + if let Some(w) = waker.take() { + w.wake(); + } + }); + + Ok(()) + } + + /// Read a mouse event from the buffer + pub fn read_event(&mut self) -> Option { + if self.is_empty() { + return None; + } + + let event = self.buffer[self.read_pos].clone(); + self.buffer[self.read_pos] = None; + self.read_pos = (self.read_pos + 1) % MOUSE_BUFFER_SIZE; + self.full = false; + + event + } + + /// Clear mouse buffer + pub fn clear_buffer(&mut self) { + const NONE_OPTION: Option = None; + self.buffer = [NONE_OPTION; MOUSE_BUFFER_SIZE]; + self.read_pos = 0; + self.write_pos = 0; + self.full = false; + } +} + +/// Initialize the mouse +pub fn init() { + controller::with_controller(initialize_mouse); +} + +/// Initialize and reset the mouse +fn initialize_mouse(controller: &mut ps2::Controller) { + let mut mouse = controller.mouse(); + + mouse + .reset_and_self_test() + .expect("Failed to self-test mouse"); + + mouse.set_defaults().expect("Failed to set mouse defaults"); + + mouse + .enable_data_reporting() + .expect("Failed to enable data reporting"); +} + +/// Get a stream of mouse events +pub fn get_stream() -> MouseStream { + MouseStream +} + +/// Wait for and return the next mouse event +pub async fn next_event() -> MouseEvent { + MouseStream.next().await.unwrap() +} + +/// Try to read a mouse event without waiting +pub fn try_read_event() -> Option { + without_interrupts(|| MOUSE.lock().read_event()) +} + +/// Get current mouse position +pub fn get_position() -> (i16, i16) { + without_interrupts(|| { + let mouse = MOUSE.lock(); + mouse.get_position() + }) +} + +/// Set mouse position +pub fn set_position(x: i16, y: i16) { + without_interrupts(|| { + let mut mouse = MOUSE.lock(); + mouse.set_position(x, y); + }) +} + +/// Set screen boundaries for mouse movement +pub fn set_bounds(width: i16, height: i16) { + without_interrupts(|| { + let mut mouse = MOUSE.lock(); + mouse.set_bounds(width, height); + }) +} + +/// Get mouse interrupt count +pub fn get_interrupt_count() -> u64 { + MOUSE_INTERRUPT_COUNT.load(Ordering::SeqCst) +} + +/// Mouse interrupt handler +pub fn mouse_handler() { + MOUSE_INTERRUPT_COUNT.fetch_add(1, Ordering::SeqCst); + + controller::with_controller(|controller| { + // Continue reading as long as data is available + loop { + let status = controller.read_status(); + if !status.contains(ps2::flags::ControllerStatusFlags::OUTPUT_FULL) { + // No more data available + break; + } + let mut mouse_dev = controller.mouse(); + + match mouse_dev.read_data_packet() { + Ok((flags, dx, dy)) => { + let mut mouse = MOUSE.lock(); + if let Err(e) = mouse.process_packet(flags, dx, dy) { + serial_println!("Error processing mouse packet: {:?}", e); + } + } + Err(_) => { + // If we can't read a complete packet, break the loop + break; + } + } + } + }); +} + +impl Stream for MouseStream { + type Item = MouseEvent; + + fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { + let mut mouse = MOUSE.lock(); + + if let Some(event) = mouse.read_event() { + return Poll::Ready(Some(event)); + } + + // No event available, register waker for notification + without_interrupts(|| { + let mut waker = MOUSE_WAKER.lock(); + *waker = Some(cx.waker().clone()); + }); + + Poll::Pending + } +} diff --git a/kernel/src/interrupts/idt.rs b/kernel/src/interrupts/idt.rs index 9862f209..c4db91d2 100644 --- a/kernel/src/interrupts/idt.rs +++ b/kernel/src/interrupts/idt.rs @@ -20,7 +20,7 @@ use crate::{ idt::{KEYBOARD_VECTOR, MOUSE_VECTOR, SYSCALL_HANDLER, TIMER_VECTOR, TLB_SHOOTDOWN_VECTOR}, syscalls::{SYSCALL_EXIT, SYSCALL_MMAP, SYSCALL_NANOSLEEP, SYSCALL_PRINT}, }, - devices::{keyboard::keyboard_handler, mouse::mouse_handler}, + devices::ps2_dev::{keyboard_interrupt_handler, mouse_interrupt_handler}, events::inc_runner_clock, interrupts::x2apic::{self, current_core_id, TLB_SHOOTDOWN_ADDR}, memory::{ @@ -61,8 +61,8 @@ lazy_static! { .set_handler_fn(naked_syscall_handler) .set_privilege_level(x86_64::PrivilegeLevel::Ring3); idt[TLB_SHOOTDOWN_VECTOR].set_handler_fn(tlb_shootdown_handler); - idt[KEYBOARD_VECTOR].set_handler_fn(keyboard_handler); - idt[MOUSE_VECTOR].set_handler_fn(mouse_handler); + idt[KEYBOARD_VECTOR].set_handler_fn(keyboard_interrupt_handler); + idt[MOUSE_VECTOR].set_handler_fn(mouse_interrupt_handler); idt }; } diff --git a/kernel/src/interrupts/io_apic.rs b/kernel/src/interrupts/io_apic.rs index 6d6595d3..dfed6036 100644 --- a/kernel/src/interrupts/io_apic.rs +++ b/kernel/src/interrupts/io_apic.rs @@ -237,8 +237,8 @@ impl IoApicManager { vector: KEYBOARD_VECTOR, destination: 0, // BSP masked: false, // Enable immediately - trigger_mode: TriggerMode::Edge, - polarity: Polarity::HighActive, + trigger_mode: TriggerMode::Level, + polarity: Polarity::LowActive, dest_mode: DestinationMode::Physical, delivery_mode: DeliveryMode::Fixed, }, @@ -251,8 +251,8 @@ impl IoApicManager { vector: MOUSE_VECTOR, destination: 0, // BSP masked: false, // Enable immediately - trigger_mode: TriggerMode::Edge, - polarity: Polarity::HighActive, + trigger_mode: TriggerMode::Level, + polarity: Polarity::LowActive, dest_mode: DestinationMode::Physical, delivery_mode: DeliveryMode::Fixed, }, From 060057331980251b03a0498b04c03255e76d87d0 Mon Sep 17 00:00:00 2001 From: pgosar Date: Tue, 22 Apr 2025 14:08:56 -0500 Subject: [PATCH 08/18] register keypresses --- kernel/limage_config.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/limage_config.toml b/kernel/limage_config.toml index c971a2d8..6468ebdc 100644 --- a/kernel/limage_config.toml +++ b/kernel/limage_config.toml @@ -29,7 +29,7 @@ base_args = [ # Graphics "-vga", "std", - +"-serial", "stdio", # Debugging traces # USB # "-trace", "usb*", @@ -44,7 +44,7 @@ base_args = [ [modes] terminal = { args = ["-nographic"] } -gui = { args = [] } +gui = { args = ["-serial", "stdio"] } gdb-terminal = { args = ["-nographic", "-s", "-S"] } gdb-gui = { args = ["-s", "-S"] } From 4c97778c6e0dbed1fe96518554f07e7cdb12a51b Mon Sep 17 00:00:00 2001 From: pgosar Date: Tue, 22 Apr 2025 14:46:07 -0500 Subject: [PATCH 09/18] sometimes working shell --- kernel/src/constants/syscalls.rs | 2 + kernel/src/init.rs | 5 +- kernel/src/lib.rs | 2 + kernel/src/shell.rs | 94 +++++++++++++++++++++++++ kernel/src/syscalls/syscall_handlers.rs | 64 +++++++++++++++++ 5 files changed, 166 insertions(+), 1 deletion(-) create mode 100644 kernel/src/shell.rs diff --git a/kernel/src/constants/syscalls.rs b/kernel/src/constants/syscalls.rs index a73c032c..30561721 100644 --- a/kernel/src/constants/syscalls.rs +++ b/kernel/src/constants/syscalls.rs @@ -8,6 +8,8 @@ pub const SYSCALL_MPROTECT: u32 = 10; pub const SYSCALL_MUNMAP: u32 = 11; pub const SYSCALL_FORK: u32 = 5; pub const SYSCALL_WAIT: u32 = 6; +pub const SYSCALL_READ: u32 = 0; +pub const SYSCALL_WRITE: u32 = 1; // Mmap pub const START_MMAP_ADDRESS: u64 = 0x0900_0000_0000; diff --git a/kernel/src/init.rs b/kernel/src/init.rs index ad7a6d0c..45dbe06e 100644 --- a/kernel/src/init.rs +++ b/kernel/src/init.rs @@ -27,7 +27,7 @@ use crate::{ memory::{self}, net::get_ip_addr, processes::{self}, - serial_println, trace, + serial_println, shell, trace, }; extern crate alloc; @@ -70,6 +70,7 @@ pub fn init() -> u32 { let bsp_id = wake_cores(); idt::enable(); + bsp_id } @@ -103,6 +104,8 @@ unsafe extern "C" fn secondary_cpu_main(cpu: &Cpu) -> ! { debug!("AP {} entering event loop", cpu.id); + shell::init(); + run_loop(cpu.id) } diff --git a/kernel/src/lib.rs b/kernel/src/lib.rs index db04971b..f3d30729 100644 --- a/kernel/src/lib.rs +++ b/kernel/src/lib.rs @@ -30,6 +30,8 @@ pub mod net; pub mod processes; pub mod syscalls; +pub mod shell; + pub use devices::serial; pub mod prelude { diff --git a/kernel/src/shell.rs b/kernel/src/shell.rs new file mode 100644 index 00000000..9404c42f --- /dev/null +++ b/kernel/src/shell.rs @@ -0,0 +1,94 @@ +use alloc::fmt::format; + +use crate::syscalls::syscall_handlers::{sys_read, sys_write}; + +// src/shell.rs +pub struct Shell { + buffer: [u8; 256], + position: usize, +} + +impl Shell { + pub fn new() -> Self { + Self { + buffer: [0; 256], + position: 0, + } + } + + pub fn run(&mut self) -> ! { + self.print_prompt(); + + loop { + let c = self.read_char(); + + match c { + b'\n' => self.execute_command(), + 0x08 => self.handle_backspace(), + _ => self.handle_char(c), + } + } + } + + fn read_char(&self) -> u8 { + let mut c: u8 = 0; + sys_read(0, &mut c as *mut u8, 1); + c + } + + fn print(&self, s: &str) { + sys_write(1, s.as_ptr() as *mut u8, s.len()); + } + + fn handle_char(&mut self, c: u8) { + if self.position < self.buffer.len() - 1 { + self.buffer[self.position] = c; + self.position += 1; + self.print(&format(format_args!("{}", c as char))); + } + } + + fn handle_backspace(&mut self) { + if self.position > 0 { + self.position -= 1; + self.print("\x08 \x08"); + } + } + + fn execute_command(&mut self) { + let cmd = core::str::from_utf8(&self.buffer[..self.position]).unwrap_or("Invalid UTF-8"); + + self.print("\n"); + self.process_command(cmd); + self.position = 0; + self.print_prompt(); + } + + fn process_command(&self, cmd: &str) { + match cmd.trim() { + "" => {} + "help" => self.print("Available commands: help, echo, clear\n"), + "clear" => self.print("\x1B[2J\x1B[H"), // ANSI clear screen + cmd if cmd.starts_with("echo ") => { + let text = cmd.strip_prefix("echo ").unwrap(); + self.print(&format(format_args!("{}\n", text))); + } + _ => self.print(&format(format_args!("Unknown command: {}\n", cmd))), + } + } + + fn print_prompt(&self) { + self.print("> "); + } +} + +impl Default for Shell { + fn default() -> Self { + Self::new() + } +} + +pub fn init() { + let mut shell = Shell::new(); + shell.run(); +} diff --git a/kernel/src/syscalls/syscall_handlers.rs b/kernel/src/syscalls/syscall_handlers.rs index e1ccf246..211f5c57 100644 --- a/kernel/src/syscalls/syscall_handlers.rs +++ b/kernel/src/syscalls/syscall_handlers.rs @@ -2,6 +2,7 @@ use core::ffi::CStr; use alloc::collections::btree_map::BTreeMap; use lazy_static::lazy_static; +use pc_keyboard::{DecodedKey, KeyCode}; use spin::Mutex; use x86_64::structures::paging::{PhysFrame, Size4KiB}; @@ -13,6 +14,7 @@ use core::{ use crate::{ constants::syscalls::*, + devices::ps2_dev::keyboard, events::{ current_running_event, current_running_event_info, futures::await_on::AwaitProcess, get_runner_time, yield_now, EventInfo, @@ -178,12 +180,74 @@ pub unsafe extern "C" fn syscall_handler_impl( SYSCALL_WAIT => block_on(sys_wait(syscall.arg1 as u32)), SYSCALL_MUNMAP => sys_munmap(syscall.arg1, syscall.arg2), SYSCALL_MPROTECT => sys_mprotect(syscall.arg1, syscall.arg2, syscall.arg3), + SYSCALL_READ => sys_read( + syscall.arg1 as u32, + syscall.arg2 as *mut u8, + syscall.arg3 as usize, + ), + SYSCALL_WRITE => sys_write( + syscall.arg1 as u32, + syscall.arg2 as *mut u8, + syscall.arg3 as usize, + ), + _ => { panic!("Unknown syscall, {}", syscall.number); } } } +pub fn sys_read(fd: u32, buf: *mut u8, count: usize) -> u64 { + if fd == 0 { + serial_println!("BUF: {:#?}", buf); + // STDIN + let mut i = 0; + while i < count { + unsafe { + if let Some(event) = keyboard::try_read_event() { + if let Some(c) = event_to_ascii(&event) { + *buf.add(i) = c; + i += 1; + } + } else { + // Block until we get input + core::hint::spin_loop(); + } + } + } + i as u64 + } else { + u64::MAX // Error + } +} + +pub fn sys_write(fd: u32, buf: *const u8, count: usize) -> u64 { + if fd == 1 { + // STDOUT + unsafe { + serial_println!("BUF {:#?}", buf); + let slice = core::slice::from_raw_parts(buf, count); + serial_println!("{}", core::str::from_utf8_unchecked(slice)); + } + count as u64 + } else { + u64::MAX // Error + } +} + +// Helper to convert keyboard events to ASCII +fn event_to_ascii(event: &keyboard::KeyboardEvent) -> Option { + match event.decoded { + Some(DecodedKey::Unicode(c)) => Some(c as u8), + _ => match event.key_code { + KeyCode::Return => Some(b'\n'), + KeyCode::Backspace => Some(0x08), + KeyCode::Spacebar => Some(b' '), + _ => None, + }, + } +} + pub fn sys_exit(code: i64, reg_vals: &ForkingRegisters) -> Option { // TODO handle hierarchy (parent processes), resources, threads, etc. From 856669aee29ae92efdfcf38cd4e52c25f6b50b5a Mon Sep 17 00:00:00 2001 From: pgosar Date: Tue, 22 Apr 2025 15:05:17 -0500 Subject: [PATCH 10/18] properly initialize shell --- kernel/src/init.rs | 4 +--- kernel/src/main.rs | 4 ++-- kernel/src/shell.rs | 11 +++++++++-- kernel/src/syscalls/syscall_handlers.rs | 6 ++---- shell.rs | 1 + 5 files changed, 15 insertions(+), 11 deletions(-) create mode 100644 shell.rs diff --git a/kernel/src/init.rs b/kernel/src/init.rs index 45dbe06e..71f4c286 100644 --- a/kernel/src/init.rs +++ b/kernel/src/init.rs @@ -27,7 +27,7 @@ use crate::{ memory::{self}, net::get_ip_addr, processes::{self}, - serial_println, shell, trace, + serial_println, trace, }; extern crate alloc; @@ -104,8 +104,6 @@ unsafe extern "C" fn secondary_cpu_main(cpu: &Cpu) -> ! { debug!("AP {} entering event loop", cpu.id); - shell::init(); - run_loop(cpu.id) } diff --git a/kernel/src/main.rs b/kernel/src/main.rs index 00c2311b..1a6c54eb 100644 --- a/kernel/src/main.rs +++ b/kernel/src/main.rs @@ -8,7 +8,7 @@ #![reexport_test_harness_main = "test_main"] use limine::request::{RequestsEndMarker, RequestsStartMarker}; -use taos::{debug, events::run_loop}; +use taos::{debug, events::run_loop, shell}; extern crate alloc; @@ -38,7 +38,7 @@ extern "C" fn _start() -> ! { debug!("BSP entering event loop"); - unsafe { run_loop(bsp_id) } + unsafe { shell::init() } } /// Production panic handler. diff --git a/kernel/src/shell.rs b/kernel/src/shell.rs index 9404c42f..6147b208 100644 --- a/kernel/src/shell.rs +++ b/kernel/src/shell.rs @@ -1,6 +1,9 @@ use alloc::fmt::format; -use crate::syscalls::syscall_handlers::{sys_read, sys_write}; +use crate::{ + serial_println, + syscalls::syscall_handlers::{sys_read, sys_write}, +}; // src/shell.rs pub struct Shell { @@ -17,6 +20,7 @@ impl Shell { } pub fn run(&mut self) -> ! { + serial_println!("SHELL RUNNING"); self.print_prompt(); loop { @@ -78,6 +82,7 @@ impl Shell { } fn print_prompt(&self) { + self.print("Ready to input commands\n"); self.print("> "); } } @@ -88,7 +93,9 @@ impl Default for Shell { } } -pub fn init() { +/// # Safety +/// TODO +pub unsafe fn init() -> ! { let mut shell = Shell::new(); shell.run(); } diff --git a/kernel/src/syscalls/syscall_handlers.rs b/kernel/src/syscalls/syscall_handlers.rs index 211f5c57..dc315af4 100644 --- a/kernel/src/syscalls/syscall_handlers.rs +++ b/kernel/src/syscalls/syscall_handlers.rs @@ -25,7 +25,7 @@ use crate::{ process::{sleep_process_int, sleep_process_syscall, ProcessState, PROCESS_TABLE}, registers::ForkingRegisters, }, - serial_println, + serial_print, serial_println, syscalls::{fork::sys_fork, memorymap::sys_mmap}, }; @@ -199,7 +199,6 @@ pub unsafe extern "C" fn syscall_handler_impl( pub fn sys_read(fd: u32, buf: *mut u8, count: usize) -> u64 { if fd == 0 { - serial_println!("BUF: {:#?}", buf); // STDIN let mut i = 0; while i < count { @@ -225,9 +224,8 @@ pub fn sys_write(fd: u32, buf: *const u8, count: usize) -> u64 { if fd == 1 { // STDOUT unsafe { - serial_println!("BUF {:#?}", buf); let slice = core::slice::from_raw_parts(buf, count); - serial_println!("{}", core::str::from_utf8_unchecked(slice)); + serial_print!("{}", core::str::from_utf8_unchecked(slice)); } count as u64 } else { diff --git a/shell.rs b/shell.rs new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/shell.rs @@ -0,0 +1 @@ + From 265079067e46d9182bbd77b682debff9acce39e6 Mon Sep 17 00:00:00 2001 From: pgosar Date: Tue, 22 Apr 2025 16:01:48 -0500 Subject: [PATCH 11/18] move up fd to 2 --- kernel/src/processes/process.rs | 6 ++++-- kernel/src/shell.rs | 31 ++++++++++++++++++++++++------- shell.rs | 1 - 3 files changed, 28 insertions(+), 10 deletions(-) delete mode 100644 shell.rs diff --git a/kernel/src/processes/process.rs b/kernel/src/processes/process.rs index 61dd2a7b..c6bb98e9 100644 --- a/kernel/src/processes/process.rs +++ b/kernel/src/processes/process.rs @@ -182,7 +182,8 @@ pub fn create_placeholder_process() -> u32 { }, mmap_address: START_MMAP_ADDRESS, fd_table: [const { None }; MAX_FILES], - next_fd: Arc::new(Mutex::new(0)), + // 0 and 1 are stdin, stdout + next_fd: Arc::new(Mutex::new(2)), next_preemption_time: 0, mm, namespace: Namespace::new(), @@ -240,7 +241,8 @@ pub fn create_process(elf_bytes: &[u8]) -> u32 { }, mmap_address: START_MMAP_ADDRESS, fd_table: [const { None }; MAX_FILES], - next_fd: Arc::new(Mutex::new(0)), + // 0 and 1 are stdin, stdout + next_fd: Arc::new(Mutex::new(2)), mm, namespace: Namespace::new(), })); diff --git a/kernel/src/shell.rs b/kernel/src/shell.rs index 6147b208..794e2ad0 100644 --- a/kernel/src/shell.rs +++ b/kernel/src/shell.rs @@ -1,7 +1,7 @@ use alloc::fmt::format; use crate::{ - serial_println, + serial_print, serial_println, syscalls::syscall_handlers::{sys_read, sys_write}, }; @@ -21,22 +21,41 @@ impl Shell { pub fn run(&mut self) -> ! { serial_println!("SHELL RUNNING"); - self.print_prompt(); + self.print_prompt(); // Initial prompt loop { let c = self.read_char(); match c { - b'\n' => self.execute_command(), + b'\n' => { + self.execute_command(); + self.print_prompt(); + } 0x08 => self.handle_backspace(), _ => self.handle_char(c), } } } - fn read_char(&self) -> u8 { + fn read_char(&mut self) -> u8 { let mut c: u8 = 0; sys_read(0, &mut c as *mut u8, 1); + + // Echo handling for normal characters + match c { + b'\n' => { + // Enter handled separately + } + 0x08 => { + // Backspace handled separately + } + _ => { + // Only print printable ASCII characters + if c.is_ascii_graphic() || c == b' ' { + self.print(&format(format_args!("{}", c as char))); + } + } + } c } @@ -48,7 +67,6 @@ impl Shell { if self.position < self.buffer.len() - 1 { self.buffer[self.position] = c; self.position += 1; - self.print(&format(format_args!("{}", c as char))); } } @@ -60,12 +78,12 @@ impl Shell { } fn execute_command(&mut self) { + self.print("\r"); // return to start of line let cmd = core::str::from_utf8(&self.buffer[..self.position]).unwrap_or("Invalid UTF-8"); self.print("\n"); self.process_command(cmd); self.position = 0; - self.print_prompt(); } fn process_command(&self, cmd: &str) { @@ -82,7 +100,6 @@ impl Shell { } fn print_prompt(&self) { - self.print("Ready to input commands\n"); self.print("> "); } } diff --git a/shell.rs b/shell.rs deleted file mode 100644 index 8b137891..00000000 --- a/shell.rs +++ /dev/null @@ -1 +0,0 @@ - From 327b843fd736b06ecf1a73fa6d197f18a6e0f82c Mon Sep 17 00:00:00 2001 From: pgosar Date: Tue, 22 Apr 2025 16:45:03 -0500 Subject: [PATCH 12/18] clear keyboard buffer --- kernel/src/devices/ps2_dev/keyboard.rs | 13 +++++++++++++ kernel/src/shell.rs | 5 ++++- kernel/src/syscalls/syscall_handlers.rs | 19 ++++++++++--------- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/kernel/src/devices/ps2_dev/keyboard.rs b/kernel/src/devices/ps2_dev/keyboard.rs index 4efad85b..ee017062 100644 --- a/kernel/src/devices/ps2_dev/keyboard.rs +++ b/kernel/src/devices/ps2_dev/keyboard.rs @@ -13,6 +13,7 @@ use futures_util::stream::{Stream, StreamExt}; use pc_keyboard::{ layouts, DecodedKey, Error, HandleControl, KeyCode, KeyState, Keyboard, Modifiers, ScancodeSet2, }; +use ps2::flags::ControllerStatusFlags; use spin::Mutex; /// Maximum number of keyboard events to store in the buffer @@ -241,6 +242,18 @@ pub fn keyboard_handler() { } }); } +pub fn flush_buffer() { + let mut state = KEYBOARD.lock(); + state.clear_buffer(); + // controller::with_controller(|ctrl| { + // while ctrl + // .read_status() + // .contains(ControllerStatusFlags::OUTPUT_FULL) + // { + // let _ = ctrl.read_data(); // Discard any pending scancodes + // } + // }); +} impl Stream for KeyboardStream { type Item = KeyboardEvent; diff --git a/kernel/src/shell.rs b/kernel/src/shell.rs index 794e2ad0..a4195b91 100644 --- a/kernel/src/shell.rs +++ b/kernel/src/shell.rs @@ -1,7 +1,8 @@ use alloc::fmt::format; use crate::{ - serial_print, serial_println, + devices::ps2_dev::keyboard, + serial_println, syscalls::syscall_handlers::{sys_read, sys_write}, }; @@ -29,6 +30,7 @@ impl Shell { match c { b'\n' => { self.execute_command(); + keyboard::flush_buffer(); self.print_prompt(); } 0x08 => self.handle_backspace(), @@ -113,6 +115,7 @@ impl Default for Shell { /// # Safety /// TODO pub unsafe fn init() -> ! { + keyboard::flush_buffer(); let mut shell = Shell::new(); shell.run(); } diff --git a/kernel/src/syscalls/syscall_handlers.rs b/kernel/src/syscalls/syscall_handlers.rs index dc315af4..afcc3cd2 100644 --- a/kernel/src/syscalls/syscall_handlers.rs +++ b/kernel/src/syscalls/syscall_handlers.rs @@ -2,7 +2,7 @@ use core::ffi::CStr; use alloc::collections::btree_map::BTreeMap; use lazy_static::lazy_static; -use pc_keyboard::{DecodedKey, KeyCode}; +use pc_keyboard::{DecodedKey, KeyCode, KeyState}; use spin::Mutex; use x86_64::structures::paging::{PhysFrame, Size4KiB}; @@ -234,15 +234,16 @@ pub fn sys_write(fd: u32, buf: *const u8, count: usize) -> u64 { } // Helper to convert keyboard events to ASCII -fn event_to_ascii(event: &keyboard::KeyboardEvent) -> Option { +pub fn event_to_ascii(event: &keyboard::KeyboardEvent) -> Option { + if event.state != KeyState::Down { + return None; + } + match event.decoded { - Some(DecodedKey::Unicode(c)) => Some(c as u8), - _ => match event.key_code { - KeyCode::Return => Some(b'\n'), - KeyCode::Backspace => Some(0x08), - KeyCode::Spacebar => Some(b' '), - _ => None, - }, + Some(DecodedKey::Unicode(c)) if c.is_ascii() => Some(c as u8), + Some(DecodedKey::RawKey(KeyCode::Return)) => Some(b'\n'), + Some(DecodedKey::RawKey(KeyCode::Backspace)) => Some(0x08), + _ => None, } } From 7ece24c0e2ab1b232f30b0c0609df10e5fea73d7 Mon Sep 17 00:00:00 2001 From: pgosar Date: Tue, 22 Apr 2025 17:07:31 -0500 Subject: [PATCH 13/18] partially nonblocking shell --- kernel/src/init.rs | 22 ++++++++++++++++++++-- kernel/src/main.rs | 12 ++++++++++-- kernel/src/processes/process.rs | 1 + kernel/src/shell.rs | 8 +++++--- 4 files changed, 36 insertions(+), 7 deletions(-) diff --git a/kernel/src/init.rs b/kernel/src/init.rs index 71f4c286..edb86083 100644 --- a/kernel/src/init.rs +++ b/kernel/src/init.rs @@ -11,9 +11,10 @@ use limine::{ }; use crate::{ + constants::processes::{TEST_MPROTECT_CHILD_WRITES, TEST_PRINT_EXIT}, debug, devices::{self}, - events::{register_event_runner, run_loop, spawn, yield_now}, + events::{register_event_runner, run_loop, schedule_process, spawn, yield_now}, filesys::{self}, interrupts::{self, idt}, ipc::{ @@ -26,7 +27,7 @@ use crate::{ logging, memory::{self}, net::get_ip_addr, - processes::{self}, + processes::{self, process::create_process}, serial_println, trace, }; extern crate alloc; @@ -71,6 +72,23 @@ pub fn init() -> u32 { idt::enable(); + let pid = create_process(TEST_MPROTECT_CHILD_WRITES); + schedule_process(pid); + + let pid = create_process(TEST_MPROTECT_CHILD_WRITES); + schedule_process(pid); + + let pid = create_process(TEST_MPROTECT_CHILD_WRITES); + schedule_process(pid); + + let pid = create_process(TEST_MPROTECT_CHILD_WRITES); + schedule_process(pid); + + let pid = create_process(TEST_MPROTECT_CHILD_WRITES); + schedule_process(pid); + + let pid = create_process(TEST_MPROTECT_CHILD_WRITES); + schedule_process(pid); bsp_id } diff --git a/kernel/src/main.rs b/kernel/src/main.rs index 1a6c54eb..fd4083d7 100644 --- a/kernel/src/main.rs +++ b/kernel/src/main.rs @@ -8,7 +8,11 @@ #![reexport_test_harness_main = "test_main"] use limine::request::{RequestsEndMarker, RequestsStartMarker}; -use taos::{debug, events::run_loop, shell}; +use taos::{ + debug, + events::{run_loop, schedule_kernel}, + shell, +}; extern crate alloc; @@ -38,7 +42,11 @@ extern "C" fn _start() -> ! { debug!("BSP entering event loop"); - unsafe { shell::init() } + schedule_kernel(unsafe { shell::init() }, 0); + + unsafe { + run_loop(bsp_id); + } } /// Production panic handler. diff --git a/kernel/src/processes/process.rs b/kernel/src/processes/process.rs index c6bb98e9..609761d3 100644 --- a/kernel/src/processes/process.rs +++ b/kernel/src/processes/process.rs @@ -336,6 +336,7 @@ use super::registers::ForkingRegisters; #[no_mangle] pub async unsafe fn run_process_ring3(pid: u32) { interrupts::disable(); + serial_println!("RUNNING PROCESS"); let process = { let process_table = PROCESS_TABLE.read(); let process = process_table diff --git a/kernel/src/shell.rs b/kernel/src/shell.rs index a4195b91..8fe75367 100644 --- a/kernel/src/shell.rs +++ b/kernel/src/shell.rs @@ -2,6 +2,7 @@ use alloc::fmt::format; use crate::{ devices::ps2_dev::keyboard, + events::yield_now, serial_println, syscalls::syscall_handlers::{sys_read, sys_write}, }; @@ -20,7 +21,7 @@ impl Shell { } } - pub fn run(&mut self) -> ! { + pub async fn run(&mut self) { serial_println!("SHELL RUNNING"); self.print_prompt(); // Initial prompt @@ -36,6 +37,7 @@ impl Shell { 0x08 => self.handle_backspace(), _ => self.handle_char(c), } + yield_now().await; } } @@ -114,8 +116,8 @@ impl Default for Shell { /// # Safety /// TODO -pub unsafe fn init() -> ! { +pub async unsafe fn init() { keyboard::flush_buffer(); let mut shell = Shell::new(); - shell.run(); + shell.run().await; } From 7a53cd7e6b132ff45107012e47eb08566a31a925 Mon Sep 17 00:00:00 2001 From: pgosar Date: Tue, 22 Apr 2025 17:23:02 -0500 Subject: [PATCH 14/18] finished not blocking --- kernel/src/init.rs | 51 ++++++++++++++++--------- kernel/src/syscalls/syscall_handlers.rs | 17 ++++----- 2 files changed, 42 insertions(+), 26 deletions(-) diff --git a/kernel/src/init.rs b/kernel/src/init.rs index edb86083..c7d4fa14 100644 --- a/kernel/src/init.rs +++ b/kernel/src/init.rs @@ -14,7 +14,9 @@ use crate::{ constants::processes::{TEST_MPROTECT_CHILD_WRITES, TEST_PRINT_EXIT}, debug, devices::{self}, - events::{register_event_runner, run_loop, schedule_process, spawn, yield_now}, + events::{ + register_event_runner, run_loop, schedule_kernel, schedule_process, spawn, yield_now, + }, filesys::{self}, interrupts::{self, idt}, ipc::{ @@ -72,23 +74,38 @@ pub fn init() -> u32 { idt::enable(); - let pid = create_process(TEST_MPROTECT_CHILD_WRITES); - schedule_process(pid); - - let pid = create_process(TEST_MPROTECT_CHILD_WRITES); - schedule_process(pid); - - let pid = create_process(TEST_MPROTECT_CHILD_WRITES); - schedule_process(pid); - - let pid = create_process(TEST_MPROTECT_CHILD_WRITES); - schedule_process(pid); - - let pid = create_process(TEST_MPROTECT_CHILD_WRITES); - schedule_process(pid); + schedule_kernel( + async { + for _ in 0..100000000 {} + serial_println!("FINISHED LOOPING"); + }, + 3, + ); + + schedule_kernel( + async { + for _ in 0..100000000 {} + serial_println!("FINISHED LOOPING"); + }, + 3, + ); + + schedule_kernel( + async { + for _ in 0..100000000 {} + serial_println!("FINISHED LOOPING"); + }, + 3, + ); + + schedule_kernel( + async { + for _ in 0..100000000 {} + serial_println!("FINISHED LOOPING"); + }, + 3, + ); - let pid = create_process(TEST_MPROTECT_CHILD_WRITES); - schedule_process(pid); bsp_id } diff --git a/kernel/src/syscalls/syscall_handlers.rs b/kernel/src/syscalls/syscall_handlers.rs index afcc3cd2..e1a96c08 100644 --- a/kernel/src/syscalls/syscall_handlers.rs +++ b/kernel/src/syscalls/syscall_handlers.rs @@ -199,24 +199,23 @@ pub unsafe extern "C" fn syscall_handler_impl( pub fn sys_read(fd: u32, buf: *mut u8, count: usize) -> u64 { if fd == 0 { - // STDIN let mut i = 0; while i < count { unsafe { - if let Some(event) = keyboard::try_read_event() { - if let Some(c) = event_to_ascii(&event) { - *buf.add(i) = c; - i += 1; + match keyboard::try_read_event() { + Some(event) => { + if let Some(c) = event_to_ascii(&event) { + *buf.add(i) = c; + i += 1; + } } - } else { - // Block until we get input - core::hint::spin_loop(); + None => break, // Exit early } } } i as u64 } else { - u64::MAX // Error + u64::MAX } } From 96bf5fe94eb966cd1b96d1302f0125bc2ee536fa Mon Sep 17 00:00:00 2001 From: pgosar Date: Wed, 23 Apr 2025 12:25:51 -0500 Subject: [PATCH 15/18] fixed unknown command constantly --- kernel/src/constants/syscalls.rs | 1 + kernel/src/init.rs | 73 +--------------- kernel/src/shell.rs | 31 +++++-- kernel/src/syscalls/syscall_handlers.rs | 109 ++++++++++++++++++++++-- 4 files changed, 130 insertions(+), 84 deletions(-) diff --git a/kernel/src/constants/syscalls.rs b/kernel/src/constants/syscalls.rs index 30561721..3e407ede 100644 --- a/kernel/src/constants/syscalls.rs +++ b/kernel/src/constants/syscalls.rs @@ -10,6 +10,7 @@ pub const SYSCALL_FORK: u32 = 5; pub const SYSCALL_WAIT: u32 = 6; pub const SYSCALL_READ: u32 = 0; pub const SYSCALL_WRITE: u32 = 1; +pub const SYSCALL_EXECVE: u32 = 59; // Mmap pub const START_MMAP_ADDRESS: u64 = 0x0900_0000_0000; diff --git a/kernel/src/init.rs b/kernel/src/init.rs index 7e3512d6..71f4c286 100644 --- a/kernel/src/init.rs +++ b/kernel/src/init.rs @@ -2,7 +2,6 @@ //! //! Handles the initialization of kernel subsystems and CPU cores. -use alloc::vec; use bytes::Bytes; use core::sync::atomic::{AtomicBool, AtomicU32, AtomicU64, Ordering}; use limine::{ @@ -10,17 +9,12 @@ use limine::{ smp::{Cpu, RequestFlags}, BaseRevision, }; -use x86_64::align_up; use crate::{ - constants::memory::PAGE_SIZE, debug, devices::{self}, - events::{ - current_running_event, futures::await_on::AwaitProcess, get_runner_time, - register_event_runner, run_loop, schedule_kernel, schedule_process, spawn, yield_now, - }, - filesys::{self, get_file, FileSystem, OpenFlags, FILESYSTEM}, + events::{register_event_runner, run_loop, spawn, yield_now}, + filesys::{self}, interrupts::{self, idt}, ipc::{ messages::Message, @@ -32,10 +26,8 @@ use crate::{ logging, memory::{self}, net::get_ip_addr, - processes::{self, process::create_process}, - serial_println, - syscalls::memorymap::{sys_mmap, MmapFlags, ProtFlags}, - trace, + processes::{self}, + serial_println, trace, }; extern crate alloc; @@ -79,63 +71,6 @@ pub fn init() -> u32 { idt::enable(); - schedule_kernel( - async { - let fs = FILESYSTEM.get().unwrap(); - let fd = { - fs.lock() - .open_file( - "/executables/ret", - OpenFlags::O_RDONLY | OpenFlags::O_WRONLY, - ) - .await - .expect("Could not open file") - }; - let file = get_file(fd).unwrap(); - let file_len = { - fs.lock() - .filesystem - .lock() - .get_node(&file.lock().pathname) - .await - .unwrap() - .size() - }; - sys_mmap( - 0x9000, - align_up(file_len, PAGE_SIZE as u64), - ProtFlags::PROT_EXEC.bits(), - MmapFlags::MAP_FILE.bits(), - fd as i64, - 0, - ); - - serial_println!("Reading file..."); - - let mut buffer = vec![0u8; file_len as usize]; - let bytes_read = { - fs.lock() - .read_file(fd, &mut buffer) - .await - .expect("Failed to read file") - }; - - let buf = &buffer[..bytes_read]; - - serial_println!("Bytes read: {:#?}", bytes_read); - - let pid = create_process(buf); - schedule_process(pid); - let _waiter = AwaitProcess::new( - pid, - get_runner_time(3_000_000_000), - current_running_event().unwrap(), - ) - .await; - }, - 3, - ); - bsp_id } diff --git a/kernel/src/shell.rs b/kernel/src/shell.rs index 8fe75367..9a5d507d 100644 --- a/kernel/src/shell.rs +++ b/kernel/src/shell.rs @@ -1,10 +1,10 @@ -use alloc::fmt::format; +use alloc::{fmt::format, string::ToString}; use crate::{ devices::ps2_dev::keyboard, events::yield_now, serial_println, - syscalls::syscall_handlers::{sys_read, sys_write}, + syscalls::syscall_handlers::{sys_exec, sys_read, sys_write}, }; // src/shell.rs @@ -29,13 +29,16 @@ impl Shell { let c = self.read_char(); match c { - b'\n' => { - self.execute_command(); + b'\n' | b'\r' => { + self.execute_command().await; keyboard::flush_buffer(); self.print_prompt(); } 0x08 => self.handle_backspace(), - _ => self.handle_char(c), + _ if c.is_ascii_graphic() || c == b' ' => { + self.handle_char(c); + } + _ => { /* ignore everything else */ } } yield_now().await; } @@ -81,7 +84,7 @@ impl Shell { } } - fn execute_command(&mut self) { + async fn execute_command(&mut self) { self.print("\r"); // return to start of line let cmd = core::str::from_utf8(&self.buffer[..self.position]).unwrap_or("Invalid UTF-8"); @@ -95,11 +98,21 @@ impl Shell { "" => {} "help" => self.print("Available commands: help, echo, clear\n"), "clear" => self.print("\x1B[2J\x1B[H"), // ANSI clear screen - cmd if cmd.starts_with("echo ") => { - let text = cmd.strip_prefix("echo ").unwrap(); + trimmed if trimmed.starts_with("echo ") => { + // Use trimmed, not cmd, since that's what was matched + let text = trimmed.strip_prefix("echo ").unwrap(); self.print(&format(format_args!("{}\n", text))); } - _ => self.print(&format(format_args!("Unknown command: {}\n", cmd))), + trimmed if trimmed.starts_with("/") => { + let mut cmd_owned = trimmed.to_string() + "\0"; + // TODO: as of now we do not support cmd args or environment vars + sys_exec( + cmd_owned.as_mut_ptr(), + core::ptr::null_mut(), + core::ptr::null_mut(), + ); + } + _ => self.print("Unknown command\n"), } } diff --git a/kernel/src/syscalls/syscall_handlers.rs b/kernel/src/syscalls/syscall_handlers.rs index e1a96c08..4f2ba361 100644 --- a/kernel/src/syscalls/syscall_handlers.rs +++ b/kernel/src/syscalls/syscall_handlers.rs @@ -1,10 +1,13 @@ use core::ffi::CStr; -use alloc::collections::btree_map::BTreeMap; +use alloc::{collections::btree_map::BTreeMap, vec}; use lazy_static::lazy_static; use pc_keyboard::{DecodedKey, KeyCode, KeyState}; use spin::Mutex; -use x86_64::structures::paging::{PhysFrame, Size4KiB}; +use x86_64::{ + align_up, + structures::paging::{PhysFrame, Size4KiB}, +}; use core::{ future::Future, @@ -13,20 +16,26 @@ use core::{ }; use crate::{ - constants::syscalls::*, + constants::{memory::PAGE_SIZE, syscalls::*}, devices::ps2_dev::keyboard, events::{ current_running_event, current_running_event_info, futures::await_on::AwaitProcess, - get_runner_time, yield_now, EventInfo, + get_runner_time, schedule_kernel, schedule_process, yield_now, EventInfo, }, + filesys::{get_file, FileSystem, OpenFlags, FILESYSTEM}, interrupts::x2apic, memory::frame_allocator::with_buddy_frame_allocator, processes::{ - process::{sleep_process_int, sleep_process_syscall, ProcessState, PROCESS_TABLE}, + process::{ + create_process, sleep_process_int, sleep_process_syscall, ProcessState, PROCESS_TABLE, + }, registers::ForkingRegisters, }, serial_print, serial_println, - syscalls::{fork::sys_fork, memorymap::sys_mmap}, + syscalls::{ + fork::sys_fork, + memorymap::{sys_mmap, MmapFlags, ProtFlags}, + }, }; use core::arch::naked_asm; @@ -190,6 +199,11 @@ pub unsafe extern "C" fn syscall_handler_impl( syscall.arg2 as *mut u8, syscall.arg3 as usize, ), + SYSCALL_EXECVE => sys_exec( + syscall.arg1 as *mut u8, + syscall.arg2 as *mut u8, + syscall.arg3 as *mut u8, + ), _ => { panic!("Unknown syscall, {}", syscall.number); @@ -197,6 +211,89 @@ pub unsafe extern "C" fn syscall_handler_impl( } } +pub fn sys_exec(path: *mut u8, argv: *mut u8, envp: *mut u8) -> u64 { + if path.is_null() { + return u64::MAX; + } + + // Find string length by looking for null terminator + let mut len = 0; + unsafe { + while *path.add(len) != 0 { + len += 1; + } + } + + // Convert to string + let bytes = unsafe { alloc::slice::from_raw_parts(path, len) }; + let pathname = match alloc::str::from_utf8(bytes) { + Ok(s) => s, + Err(_) => return u64::MAX, + }; + serial_println!("PATHNAME: {:#?}", pathname); + schedule_kernel( + async move { + let fs = FILESYSTEM.get().unwrap(); + let fd = { + fs.lock() + .open_file(pathname, OpenFlags::O_RDONLY | OpenFlags::O_WRONLY) + .await + }; + if fd.is_err() { + serial_println!("Unknown command"); + return; + } + serial_println!("RUNNING EXECUTABLE PLEASE HOLD"); + // At this point we assume a valid executable + // TODO: check if it is actually executable with chmod mode + let fd = fd.unwrap(); + let file = get_file(fd).unwrap(); + let file_len = { + fs.lock() + .filesystem + .lock() + .get_node(&file.lock().pathname) + .await + .unwrap() + .size() + }; + sys_mmap( + 0x9000, + align_up(file_len, PAGE_SIZE as u64), + ProtFlags::PROT_EXEC.bits(), + MmapFlags::MAP_FILE.bits(), + fd as i64, + 0, + ); + + serial_println!("Reading file..."); + + let mut buffer = vec![0u8; file_len as usize]; + let bytes_read = { + fs.lock() + .read_file(fd, &mut buffer) + .await + .expect("Failed to read file") + }; + + let buf = &buffer[..bytes_read]; + + serial_println!("Bytes read: {:#?}", bytes_read); + + let pid = create_process(buf); + schedule_process(pid); + let _waiter = AwaitProcess::new( + pid, + get_runner_time(3_000_000_000), + current_running_event().unwrap(), + ) + .await; + }, + 3, + ); + 0 +} + pub fn sys_read(fd: u32, buf: *mut u8, count: usize) -> u64 { if fd == 0 { let mut i = 0; From 4489e7dbddda6a1c936c61fddfe65c5fddb0c7e5 Mon Sep 17 00:00:00 2001 From: pgosar Date: Wed, 23 Apr 2025 16:20:35 -0500 Subject: [PATCH 16/18] cmd arg and env var support for shell and exec --- kernel/src/main.rs | 2 +- kernel/src/shell.rs | 207 ++++++++++++++++++------ kernel/src/syscalls/syscall_handlers.rs | 79 +++++++-- 3 files changed, 224 insertions(+), 64 deletions(-) diff --git a/kernel/src/main.rs b/kernel/src/main.rs index fd4083d7..0d6de37a 100644 --- a/kernel/src/main.rs +++ b/kernel/src/main.rs @@ -42,7 +42,7 @@ extern "C" fn _start() -> ! { debug!("BSP entering event loop"); - schedule_kernel(unsafe { shell::init() }, 0); + unsafe { shell::init() }; unsafe { run_loop(bsp_id); diff --git a/kernel/src/shell.rs b/kernel/src/shell.rs index 9a5d507d..4c37305b 100644 --- a/kernel/src/shell.rs +++ b/kernel/src/shell.rs @@ -1,54 +1,66 @@ -use alloc::{fmt::format, string::ToString}; +use alloc::{ + fmt::format, + string::{String, ToString}, + vec::Vec, +}; use crate::{ devices::ps2_dev::keyboard, - events::yield_now, + events::schedule_kernel, serial_println, syscalls::syscall_handlers::{sys_exec, sys_read, sys_write}, }; -// src/shell.rs pub struct Shell { buffer: [u8; 256], position: usize, + env: Vec, } - impl Shell { pub fn new() -> Self { Self { buffer: [0; 256], position: 0, + env: Vec::new(), } } - - pub async fn run(&mut self) { + pub fn run(self) { serial_println!("SHELL RUNNING"); - self.print_prompt(); // Initial prompt - - loop { - let c = self.read_char(); - - match c { - b'\n' | b'\r' => { - self.execute_command().await; - keyboard::flush_buffer(); - self.print_prompt(); + self.print_prompt(); + let mut i = 0; + + schedule_kernel( + async move { + let mut shell = self; + loop { + let c = shell.read_char(); + match c { + b'\n' | b'\r' => { + shell.execute_command().await; + keyboard::flush_buffer(); + shell.print_prompt(); + serial_println!("ENVS: {:#?}", shell.env); + // TODO: Until the heap allocation error is fixed arbitrary number of + // commands allowed to run + i += 1; + if i == 5 { + return; + } + } + 0x08 => shell.handle_backspace(), + _ if c.is_ascii_graphic() || c == b' ' => shell.handle_char(c), + _ => {} + } + // yield_now().await } - 0x08 => self.handle_backspace(), - _ if c.is_ascii_graphic() || c == b' ' => { - self.handle_char(c); - } - _ => { /* ignore everything else */ } - } - yield_now().await; - } + }, + 3, + ); } fn read_char(&mut self) -> u8 { let mut c: u8 = 0; - sys_read(0, &mut c as *mut u8, 1); - - // Echo handling for normal characters + unsafe { sys_read(0, &mut c as *mut u8, 1) }; match c { b'\n' => { // Enter handled separately @@ -67,7 +79,7 @@ impl Shell { } fn print(&self, s: &str) { - sys_write(1, s.as_ptr() as *mut u8, s.len()); + unsafe { sys_write(1, s.as_ptr() as *mut u8, s.len()) }; } fn handle_char(&mut self, c: u8) { @@ -85,33 +97,126 @@ impl Shell { } async fn execute_command(&mut self) { - self.print("\r"); // return to start of line - let cmd = core::str::from_utf8(&self.buffer[..self.position]).unwrap_or("Invalid UTF-8"); - + // copy command into an owned String + let cmd_owned = { + let slice = &self.buffer[..self.position]; + String::from_utf8_lossy(slice).to_string() + }; self.print("\n"); - self.process_command(cmd); + self.process_command(&cmd_owned); self.position = 0; } - fn process_command(&self, cmd: &str) { - match cmd.trim() { + fn process_command(&mut self, cmd: &str) { + let trimmed = cmd.trim(); + match trimmed { "" => {} - "help" => self.print("Available commands: help, echo, clear\n"), - "clear" => self.print("\x1B[2J\x1B[H"), // ANSI clear screen - trimmed if trimmed.starts_with("echo ") => { - // Use trimmed, not cmd, since that's what was matched - let text = trimmed.strip_prefix("echo ").unwrap(); - self.print(&format(format_args!("{}\n", text))); + + "help" => self.print("Available: help, echo, clear, export, [/cmd]\n"), + + "clear" => self.print("\x1B[2J\x1B[H"), + + t if t.starts_with("echo ") => { + let raw = t.strip_prefix("echo ").unwrap(); + // simple var‐expansion: $VAR or ${VAR} + let mut out = String::new(); + let mut chars = raw.chars().peekable(); + while let Some(c) = chars.next() { + // At this point we know that we're printing out an environment variable + if c == '$' { + // detect ${VAR} vs $VAR + let name = if chars.peek() == Some(&'{') { + chars.next(); // skip '{' + let mut nm = String::new(); + while let Some(&nx) = chars.peek() { + if nx == '}' { + chars.next(); + break; + } + nm.push(nx); + chars.next(); + } + nm + } else { + let mut nm = String::new(); + while let Some(&next) = chars.peek() { + if !next.is_ascii_alphanumeric() && next != '_' { + break; + } + nm.push(next); + chars.next(); + } + nm + }; + // lookup NAME in self.env + let val = self + .env + .iter() + .find_map(|kv| { + let mut sp = kv.splitn(2, '='); + if sp.next()? == name { + sp.next().map(|v| v.to_string()) + } else { + None + } + }) + .unwrap_or_default(); + out.push_str(&val); + } else { + out.push(c); + } + } + self.print(&format(format_args!("{}\n", out))); } - trimmed if trimmed.starts_with("/") => { - let mut cmd_owned = trimmed.to_string() + "\0"; - // TODO: as of now we do not support cmd args or environment vars - sys_exec( - cmd_owned.as_mut_ptr(), - core::ptr::null_mut(), - core::ptr::null_mut(), - ); + + t if t.starts_with("export ") => { + // support: export KEY=VAL + if let Some(rest) = t.strip_prefix("export ") { + if let Some((k, v)) = rest.split_once('=') { + let pair = format(format_args!("{}={}", k, v)); + self.env.push(pair); + } + } } + + t if t.starts_with('/') => { + // build argv[] in-place + const MAX_ARGS: usize = 16; + let mut argv: [*mut u8; MAX_ARGS + 1] = [core::ptr::null_mut(); MAX_ARGS + 1]; + let mut argc = 0; + let mut start = 0; + + // split buffer on spaces + for i in 0..=self.position { + if i == self.position || self.buffer[i] == b' ' { + self.buffer[i] = 0; + if argc < MAX_ARGS { + argv[argc] = unsafe { self.buffer.as_mut_ptr().add(start) }; + argc += 1; + } + start = i + 1; + } + } + // end + argv[argc] = core::ptr::null_mut(); + + // build envp[] + let mut envp: Vec<*mut u8> = self + .env + .iter_mut() + .map(|s| { + s.push('\0'); + s.as_mut_ptr() + }) + .collect(); + // end + envp.push(core::ptr::null_mut()); + serial_println!("EXECUTING"); + unsafe { + sys_exec(argv[0], argv.as_mut_ptr(), envp.as_mut_ptr()); + } + } + _ => self.print("Unknown command\n"), } } @@ -129,8 +234,8 @@ impl Default for Shell { /// # Safety /// TODO -pub async unsafe fn init() { +pub unsafe fn init() { keyboard::flush_buffer(); - let mut shell = Shell::new(); - shell.run().await; + let shell = Shell::new(); + shell.run(); } diff --git a/kernel/src/syscalls/syscall_handlers.rs b/kernel/src/syscalls/syscall_handlers.rs index 4f2ba361..69bb35e5 100644 --- a/kernel/src/syscalls/syscall_handlers.rs +++ b/kernel/src/syscalls/syscall_handlers.rs @@ -1,6 +1,6 @@ use core::ffi::CStr; -use alloc::{collections::btree_map::BTreeMap, vec}; +use alloc::{collections::btree_map::BTreeMap, slice, string::ToString, vec}; use lazy_static::lazy_static; use pc_keyboard::{DecodedKey, KeyCode, KeyState}; use spin::Mutex; @@ -201,8 +201,8 @@ pub unsafe extern "C" fn syscall_handler_impl( ), SYSCALL_EXECVE => sys_exec( syscall.arg1 as *mut u8, - syscall.arg2 as *mut u8, - syscall.arg3 as *mut u8, + syscall.arg2 as *mut *mut u8, + syscall.arg3 as *mut *mut u8, ), _ => { @@ -211,7 +211,9 @@ pub unsafe extern "C" fn syscall_handler_impl( } } -pub fn sys_exec(path: *mut u8, argv: *mut u8, envp: *mut u8) -> u64 { +/// # Safety +/// TODO +pub unsafe fn sys_exec(path: *mut u8, argv: *mut *mut u8, envp: *mut *mut u8) -> u64 { if path.is_null() { return u64::MAX; } @@ -230,19 +232,68 @@ pub fn sys_exec(path: *mut u8, argv: *mut u8, envp: *mut u8) -> u64 { Ok(s) => s, Err(_) => return u64::MAX, }; + + // build args + let mut args = vec![]; + unsafe { + let mut i = 0; + loop { + let ptr = *argv.add(i); + if ptr.is_null() { + break; + } + let mut l = 0; + while *ptr.add(l) != 0 { + l += 1; + } + let slice = slice::from_raw_parts(&*ptr, l); + if let Ok(s) = str::from_utf8(slice) { + args.push(s.to_string()); + } + i += 1; + } + } + + serial_println!("NOT EXITING"); + + // build env vars + let mut envs = vec![]; + unsafe { + let mut i = 0; + loop { + let ptr = *envp.add(i); + if ptr.is_null() { + break; + } + let mut l = 0; + while *ptr.add(l) != 0 { + l += 1; + } + let slice = slice::from_raw_parts(&*ptr, l); + if let Ok(s) = str::from_utf8(slice) { + envs.push(s.to_string()); + } + i += 1; + } + } serial_println!("PATHNAME: {:#?}", pathname); + serial_println!("CMD ARGS: {:#?}", args); + serial_println!("ENV VARS: {:#?}", envs); schedule_kernel( - async move { + async { let fs = FILESYSTEM.get().unwrap(); let fd = { fs.lock() - .open_file(pathname, OpenFlags::O_RDONLY | OpenFlags::O_WRONLY) + .open_file( + "/executables/hello", + OpenFlags::O_RDONLY | OpenFlags::O_WRONLY, + ) .await }; - if fd.is_err() { - serial_println!("Unknown command"); - return; - } + // if fd.is_err() { + // serial_println!("Unknown command"); + // return; + // } serial_println!("RUNNING EXECUTABLE PLEASE HOLD"); // At this point we assume a valid executable // TODO: check if it is actually executable with chmod mode @@ -294,7 +345,9 @@ pub fn sys_exec(path: *mut u8, argv: *mut u8, envp: *mut u8) -> u64 { 0 } -pub fn sys_read(fd: u32, buf: *mut u8, count: usize) -> u64 { +/// # Safety +/// TODO +pub unsafe fn sys_read(fd: u32, buf: *mut u8, count: usize) -> u64 { if fd == 0 { let mut i = 0; while i < count { @@ -316,7 +369,9 @@ pub fn sys_read(fd: u32, buf: *mut u8, count: usize) -> u64 { } } -pub fn sys_write(fd: u32, buf: *const u8, count: usize) -> u64 { +/// # Safety +/// TODO +pub unsafe fn sys_write(fd: u32, buf: *const u8, count: usize) -> u64 { if fd == 1 { // STDOUT unsafe { From 7d0b49b4167f3057c87e11b9512ff59a3b78ef6c Mon Sep 17 00:00:00 2001 From: pgosar Date: Wed, 23 Apr 2025 18:53:19 -0500 Subject: [PATCH 17/18] everything working except for envp not being able to be read --- kernel/limage_config.toml | 1 - kernel/src/devices/ps2_dev/keyboard.rs | 1 - kernel/src/filesys/mod.rs | 3 +- kernel/src/main.rs | 6 +- kernel/src/memory/paging.rs | 726 ++++++++++++------------ kernel/src/processes/loader.rs | 75 ++- kernel/src/processes/mod.rs | 10 +- kernel/src/processes/process.rs | 95 +++- kernel/src/shell.rs | 5 +- kernel/src/syscalls/fork.rs | 283 ++++----- kernel/src/syscalls/memorymap.rs | 148 ++--- kernel/src/syscalls/mod.rs | 9 +- kernel/src/syscalls/syscall_handlers.rs | 2 +- 13 files changed, 745 insertions(+), 619 deletions(-) diff --git a/kernel/limage_config.toml b/kernel/limage_config.toml index 6468ebdc..4a25dab9 100644 --- a/kernel/limage_config.toml +++ b/kernel/limage_config.toml @@ -54,6 +54,5 @@ success_exit_code = 33 no_reboot = true extra_args = [ "-device", "isa-debug-exit,iobase=0xf4,iosize=0x04", - "-serial", "stdio", "-display", "none" ] diff --git a/kernel/src/devices/ps2_dev/keyboard.rs b/kernel/src/devices/ps2_dev/keyboard.rs index ee017062..5e636930 100644 --- a/kernel/src/devices/ps2_dev/keyboard.rs +++ b/kernel/src/devices/ps2_dev/keyboard.rs @@ -13,7 +13,6 @@ use futures_util::stream::{Stream, StreamExt}; use pc_keyboard::{ layouts, DecodedKey, Error, HandleControl, KeyCode, KeyState, Keyboard, Modifiers, ScancodeSet2, }; -use ps2::flags::ControllerStatusFlags; use spin::Mutex; /// Maximum number of keyboard events to store in the buffer diff --git a/kernel/src/filesys/mod.rs b/kernel/src/filesys/mod.rs index 98e01517..d46a778a 100644 --- a/kernel/src/filesys/mod.rs +++ b/kernel/src/filesys/mod.rs @@ -787,7 +787,8 @@ mod tests { { let meta = user_fs.metadata(fd).await.unwrap(); assert_eq!(meta.pathname, "./temp/meta.txt"); - assert_eq!(meta.fd, 0); + // 0 and 1 are stdin/out + assert_eq!(meta.fd, 2); assert_eq!(meta.flags, OpenFlags::O_WRONLY | OpenFlags::O_CREAT); } diff --git a/kernel/src/main.rs b/kernel/src/main.rs index 0d6de37a..ee8d22ec 100644 --- a/kernel/src/main.rs +++ b/kernel/src/main.rs @@ -8,11 +8,7 @@ #![reexport_test_harness_main = "test_main"] use limine::request::{RequestsEndMarker, RequestsStartMarker}; -use taos::{ - debug, - events::{run_loop, schedule_kernel}, - shell, -}; +use taos::{debug, events::run_loop, shell}; extern crate alloc; diff --git a/kernel/src/memory/paging.rs b/kernel/src/memory/paging.rs index 433f4f66..5e965620 100644 --- a/kernel/src/memory/paging.rs +++ b/kernel/src/memory/paging.rs @@ -288,366 +288,366 @@ pub fn update_permissions(page: Page, mapper: &mut impl Mapper, flags: tlb_shootdown(page.start_address()); } -#[cfg(test)] -mod tests { - use super::*; - - use alloc::{sync::Arc, vec::Vec}; - use core::{ - ptr::{read_volatile, write_volatile}, - sync::atomic::{AtomicU64, Ordering}, - }; - use x86_64::{ - structures::paging::{mapper::TranslateError, Page, PageTableFlags, PhysFrame}, - VirtAddr, - }; - - // Import functions from the kernel memory module. - use crate::{ - constants::memory::PAGE_SIZE, - events::schedule_kernel_on, - memory::{ - mm::{Mm, VmAreaBackings, VmAreaFlags}, - KERNEL_MAPPER, - }, - processes::process::{get_current_pid, with_current_pcb, PROCESS_TABLE}, - }; - - // Used for TLB shootdown testcases. - static PRE_READ: AtomicU64 = AtomicU64::new(0); - static POST_READ: AtomicU64 = AtomicU64::new(0); - - /// Asynchronously reads a u64 value from the start address of the given page and stores it in PRE_READ. - async fn pre_read(page: Page) { - let value = unsafe { page.start_address().as_ptr::().read_volatile() }; - PRE_READ.store(value, Ordering::SeqCst); - } - - /// Asynchronously reads a u64 value from the start address of the given page and stores it in POST_READ. - async fn post_read(page: Page) { - let value = unsafe { page.start_address().as_ptr::().read_volatile() }; - POST_READ.store(value, Ordering::SeqCst); - } - - /// Tests that after a mapping is removed the page translation fails. - /// - /// This test creates a mapping for a given virtual page, removes it, and then verifies that - /// translating the page results in a `PageNotMapped` error. - #[test_case] - async fn test_remove_mapped_frame() { - let mut mapper = KERNEL_MAPPER.lock(); - let page: Page = Page::containing_address(VirtAddr::new(0x500000000)); - let _ = create_mapping(page, &mut *mapper, None); - - remove_mapped_frame(page, &mut *mapper); - - let translate_frame_error = mapper.translate_page(page); - - assert!(matches!( - translate_frame_error, - Err(TranslateError::PageNotMapped) - )); - } - - /// Tests that mapping a page returns the correct physical frame. - /// - /// A mapping is created for a test virtual page and its returned physical frame is then - /// verified by translating the page. Finally, the mapping is removed. - #[test_case] - async fn test_basic_map_and_translate() { - let mut mapper = KERNEL_MAPPER.lock(); - - // Use a test virtual page. - let page: Page = Page::containing_address(VirtAddr::new(0x400001000)); - let frame: PhysFrame = create_mapping(page, &mut *mapper, None); - - let translate_frame = mapper.translate_page(page).expect("Translation failed"); - - assert_eq!(frame, translate_frame); - - remove_mapped_frame(page, &mut *mapper); - } - - /// Tests that updating page permissions works as expected. - /// - /// A mapping is created for a given page and then its permissions are updated (e.g. to make it - /// read-only by removing the WRITABLE flag). The test then retrieves the page table entry (PTE) - /// and asserts that it contains the expected flags. - #[test_case] - async fn test_update_permissions() { - let mut mapper = KERNEL_MAPPER.lock(); - - let page: Page = Page::containing_address(VirtAddr::new(0x400002000)); - let _ = create_mapping(page, &mut *mapper, None); - - let flags = PageTableFlags::PRESENT; // Only present (read-only). - - update_permissions(page, &mut *mapper, flags); - - let flags = get_page_flags(page, &mut mapper).expect("Getting page table flags failed"); - - assert!(flags.contains(PageTableFlags::PRESENT)); - assert!(!flags.contains(PageTableFlags::WRITABLE)); - - remove_mapped_frame(page, &mut *mapper); - } - - /// Tests that contiguous mappings spanning multiple pages work correctly. - /// - /// This test allocates mappings for a contiguous region of 8 pages. Each page is mapped with - /// writable permissions, a distinct value is written to each page, and then the value is read - /// back to verify correctness. Finally, all mappings are removed. - #[test_case] // Uncomment to run this test. - async fn test_contiguous_mapping() { - let mut mapper = KERNEL_MAPPER.lock(); - - // Define a contiguous region spanning 8 pages. - let start_page: Page = Page::containing_address(VirtAddr::new(0x400004000)); - let num_pages = 8; - let flags = PageTableFlags::PRESENT | PageTableFlags::WRITABLE; - - let mut frames = Vec::new(); - for i in 0..num_pages { - let page = Page::from_start_address(start_page.start_address() + i * PAGE_SIZE as u64) - .expect("Invalid page address"); - let frame = create_mapping(page, &mut *mapper, Some(flags)); - frames.push((page, frame)); - } - - // Write and verify distinct values. - for (i, (page, _)) in frames.iter().enumerate() { - let ptr = page.start_address().as_mut_ptr::(); - unsafe { write_volatile(ptr, i as u64) }; - let val = unsafe { read_volatile(ptr) }; - assert_eq!(val, i as u64); - } - - // Cleanup: Unmap all pages. - for (page, _) in frames { - remove_mapped_frame(page, &mut *mapper); - } - } - - /// Tests that TLB shootdowns work correctly across cores. - /// - /// This test creates a mapping for a given page and writes a value to cache it on the current core. - /// It then schedules a read of that page on an alternate core (to load it into that core’s TLB cache). - /// After that, the mapping is updated to a new frame with new contents and the new value is written. - /// Finally, the test re-schedules a read on the alternate core and verifies that the new value is observed. - #[test_case] - async fn test_tlb_shootdowns_cross_core() { - const AP: u32 = 1; - const PRIORITY: usize = 3; - - // Create mapping and set a value on the current core. - let page: Page = Page::containing_address(VirtAddr::new(0x500000000)); - - { - let mut mapper = KERNEL_MAPPER.lock(); - let _ = create_mapping(page, &mut *mapper, None); - unsafe { - page.start_address() - .as_mut_ptr::() - .write_volatile(0xdead); - } - } - - // Mapping exists now and is cached for the first core. - - // Schedule a read on core 1 to load the page into its TLB cache. - schedule_kernel_on(AP, async move { pre_read(page).await }, PRIORITY); - - while PRE_READ.load(Ordering::SeqCst) == 0 { - core::hint::spin_loop(); - } - - { - let mut mapper = KERNEL_MAPPER.lock(); - - let new_frame = alloc_frame().expect("Could not find a new frame"); - - // Update the mapping so that a TLB shootdown is necessary. - update_mapping( - page, - &mut *mapper, - new_frame, - Some(PageTableFlags::PRESENT | PageTableFlags::WRITABLE), - ); - - unsafe { - page.start_address() - .as_mut_ptr::() - .write_volatile(0x42); - } - } - - // Schedule another read on core 1 to verify that the new value is visible. - schedule_kernel_on(AP, async move { post_read(page).await }, PRIORITY); - - while POST_READ.load(Ordering::SeqCst) == 0 { - core::hint::spin_loop(); - } - - assert_eq!(POST_READ.load(Ordering::SeqCst), 0x42); - - let mut mapper = KERNEL_MAPPER.lock(); - remove_mapped_frame(page, &mut *mapper); - } - - // Tests the copy-on-write (COW) mechanism for a mapped page. - // - // In a COW scenario, the page is initially mapped as read-only. A write to the page should - // trigger a fault that results in a new physical frame being allocated and mapped for that page. - // In this test, we simulate this behavior by: - // 1. Creating a mapping with read-only permissions. - // 2. Writing to the page which, triggers a page fault - // 3. Handling the page fault in our page fault handler - // 4. Verifying that the new frame is different from the initial one and that the written value is present. - #[test_case] - async fn test_copy_on_write() { - let mut mapper = KERNEL_MAPPER.lock(); - // Create a dummy PML4 frame. - // Locate the current process. - - const TEST_VALUE: u64 = 0x42; - - let page = Page::containing_address(VirtAddr::new(0x400003000)); - - let anon_area = Arc::new(VmAreaBackings::new()); - - with_current_pcb(|pcb| { - pcb.mm.with_vma_tree_mutable(|tree| { - let _vma1 = Mm::insert_vma( - tree, - page.start_address().as_u64(), - page.start_address().as_u64() + PAGE_SIZE as u64, - anon_area.clone(), - VmAreaFlags::WRITABLE, - 0, - 0, - ); - }); - }); - - // Create mapping with read-only permission to simulate a COW mapping. - let init_frame = create_mapping(page, &mut *mapper, Some(PageTableFlags::PRESENT)); - - // Write to the page. - // Triggers page fault - unsafe { - page.start_address() - .as_mut_ptr::() - .write_volatile(TEST_VALUE); - } - - // Now, translating the page should return the new frame. - let frame = mapper - .translate_page(page) - .expect("Translation after COW failed"); - - // The new frame should be different from the original frame. - assert_ne!(init_frame, frame); - - let read_value = unsafe { page.start_address().as_ptr::().read_volatile() }; - - assert_eq!(read_value, TEST_VALUE); - - // should not trigger a page fault, we should be able to write now - unsafe { - page.start_address() - .as_mut_ptr::() - .write_volatile(0x20); - } - - let new_frame = mapper - .translate_page(page) - .expect("Translation after COW failed"); - - // We already made this our own, no need to have done COW - assert_eq!(frame, new_frame); - - let read_value2 = unsafe { page.start_address().as_ptr::().read_volatile() }; - - assert_eq!(read_value2, 0x20); - - remove_mapped_frame(page, &mut *mapper); - } - - /// Tests the copy-on-write (COW) mechanism for a mapped page. - /// - /// In a COW scenario, the page is initially mapped as writable, and a full buffer is written - /// Then, the page is marked read only and the first byte in the buffer is written to. - /// This should trigger a page fault that does COW, but it should maintain the rest - /// of the values in the buffer. - #[test_case] - async fn test_copy_on_write_full() { - let mut mapper = KERNEL_MAPPER.lock(); - // Create a dummy PML4 frame. - // Locate the current process. - let pid = get_current_pid(); - let process = { - let process_table = PROCESS_TABLE.read(); - process_table - .get(&pid) - .expect("can't find pcb in process table") - .clone() - }; - const TEST_VALUE: u8 = 0x2; - let page = Page::containing_address(VirtAddr::new(0x400003000)); - let anon_area = Arc::new(VmAreaBackings::new()); - - unsafe { - (*process.pcb.get()).mm.with_vma_tree_mutable(|tree| { - let _vma1 = Mm::insert_vma( - tree, - page.start_address().as_u64(), - page.start_address().as_u64() + PAGE_SIZE as u64, - anon_area.clone(), - VmAreaFlags::WRITABLE, - 0, - 0, - ); - }); - } - - // Create mapping with read-only permission to simulate a COW mapping. - let _ = create_mapping( - page, - &mut *mapper, - Some(PageTableFlags::PRESENT | PageTableFlags::WRITABLE), - ); - - // Write 1s to the entire buffer - unsafe { - let buf_ptr = page.start_address().as_mut_ptr::(); - core::ptr::write_bytes(buf_ptr, 1, PAGE_SIZE); - } - - // Make it so we page fault on write - update_permissions(page, &mut *mapper, PageTableFlags::PRESENT); - - // Write to the page. - // In a real system, this would trigger a page fault to handle copy-on-write. - unsafe { - page.start_address() - .as_mut_ptr::() - .write_volatile(TEST_VALUE); - } - - // the cow should not have messed with any data in the buffer besides what - // we just wrote to - let read_value = unsafe { page.start_address().as_ptr::().read_volatile() }; - - assert_eq!(read_value, TEST_VALUE); - - unsafe { - let buf_ptr = page.start_address().as_ptr::(); - for i in 1..PAGE_SIZE { - let val = *buf_ptr.add(i); - assert_eq!(val, 1, "Byte at offset {} is not 1 (found {})", i, val); - } - } - - remove_mapped_frame(page, &mut *mapper); - } -} +// #[cfg(test)] +// mod tests { +// use super::*; +// +// use alloc::{sync::Arc, vec::Vec}; +// use core::{ +// ptr::{read_volatile, write_volatile}, +// sync::atomic::{AtomicU64, Ordering}, +// }; +// use x86_64::{ +// structures::paging::{mapper::TranslateError, Page, PageTableFlags, PhysFrame}, +// VirtAddr, +// }; +// +// // Import functions from the kernel memory module. +// use crate::{ +// constants::memory::PAGE_SIZE, +// events::schedule_kernel_on, +// memory::{ +// mm::{Mm, VmAreaBackings, VmAreaFlags}, +// KERNEL_MAPPER, +// }, +// processes::process::{get_current_pid, with_current_pcb, PROCESS_TABLE}, +// }; +// +// // Used for TLB shootdown testcases. +// static PRE_READ: AtomicU64 = AtomicU64::new(0); +// static POST_READ: AtomicU64 = AtomicU64::new(0); +// +// /// Asynchronously reads a u64 value from the start address of the given page and stores it in PRE_READ. +// async fn pre_read(page: Page) { +// let value = unsafe { page.start_address().as_ptr::().read_volatile() }; +// PRE_READ.store(value, Ordering::SeqCst); +// } +// +// /// Asynchronously reads a u64 value from the start address of the given page and stores it in POST_READ. +// async fn post_read(page: Page) { +// let value = unsafe { page.start_address().as_ptr::().read_volatile() }; +// POST_READ.store(value, Ordering::SeqCst); +// } +// +// /// Tests that after a mapping is removed the page translation fails. +// /// +// /// This test creates a mapping for a given virtual page, removes it, and then verifies that +// /// translating the page results in a `PageNotMapped` error. +// #[test_case] +// async fn test_remove_mapped_frame() { +// let mut mapper = KERNEL_MAPPER.lock(); +// let page: Page = Page::containing_address(VirtAddr::new(0x500000000)); +// let _ = create_mapping(page, &mut *mapper, None); +// +// remove_mapped_frame(page, &mut *mapper); +// +// let translate_frame_error = mapper.translate_page(page); +// +// assert!(matches!( +// translate_frame_error, +// Err(TranslateError::PageNotMapped) +// )); +// } +// +// /// Tests that mapping a page returns the correct physical frame. +// /// +// /// A mapping is created for a test virtual page and its returned physical frame is then +// /// verified by translating the page. Finally, the mapping is removed. +// #[test_case] +// async fn test_basic_map_and_translate() { +// let mut mapper = KERNEL_MAPPER.lock(); +// +// // Use a test virtual page. +// let page: Page = Page::containing_address(VirtAddr::new(0x400001000)); +// let frame: PhysFrame = create_mapping(page, &mut *mapper, None); +// +// let translate_frame = mapper.translate_page(page).expect("Translation failed"); +// +// assert_eq!(frame, translate_frame); +// +// remove_mapped_frame(page, &mut *mapper); +// } +// +// /// Tests that updating page permissions works as expected. +// /// +// /// A mapping is created for a given page and then its permissions are updated (e.g. to make it +// /// read-only by removing the WRITABLE flag). The test then retrieves the page table entry (PTE) +// /// and asserts that it contains the expected flags. +// #[test_case] +// async fn test_update_permissions() { +// let mut mapper = KERNEL_MAPPER.lock(); +// +// let page: Page = Page::containing_address(VirtAddr::new(0x400002000)); +// let _ = create_mapping(page, &mut *mapper, None); +// +// let flags = PageTableFlags::PRESENT; // Only present (read-only). +// +// update_permissions(page, &mut *mapper, flags); +// +// let flags = get_page_flags(page, &mut mapper).expect("Getting page table flags failed"); +// +// assert!(flags.contains(PageTableFlags::PRESENT)); +// assert!(!flags.contains(PageTableFlags::WRITABLE)); +// +// remove_mapped_frame(page, &mut *mapper); +// } +// +// /// Tests that contiguous mappings spanning multiple pages work correctly. +// /// +// /// This test allocates mappings for a contiguous region of 8 pages. Each page is mapped with +// /// writable permissions, a distinct value is written to each page, and then the value is read +// /// back to verify correctness. Finally, all mappings are removed. +// #[test_case] // Uncomment to run this test. +// async fn test_contiguous_mapping() { +// let mut mapper = KERNEL_MAPPER.lock(); +// +// // Define a contiguous region spanning 8 pages. +// let start_page: Page = Page::containing_address(VirtAddr::new(0x400004000)); +// let num_pages = 8; +// let flags = PageTableFlags::PRESENT | PageTableFlags::WRITABLE; +// +// let mut frames = Vec::new(); +// for i in 0..num_pages { +// let page = Page::from_start_address(start_page.start_address() + i * PAGE_SIZE as u64) +// .expect("Invalid page address"); +// let frame = create_mapping(page, &mut *mapper, Some(flags)); +// frames.push((page, frame)); +// } +// +// // Write and verify distinct values. +// for (i, (page, _)) in frames.iter().enumerate() { +// let ptr = page.start_address().as_mut_ptr::(); +// unsafe { write_volatile(ptr, i as u64) }; +// let val = unsafe { read_volatile(ptr) }; +// assert_eq!(val, i as u64); +// } +// +// // Cleanup: Unmap all pages. +// for (page, _) in frames { +// remove_mapped_frame(page, &mut *mapper); +// } +// } +// +// /// Tests that TLB shootdowns work correctly across cores. +// /// +// /// This test creates a mapping for a given page and writes a value to cache it on the current core. +// /// It then schedules a read of that page on an alternate core (to load it into that core’s TLB cache). +// /// After that, the mapping is updated to a new frame with new contents and the new value is written. +// /// Finally, the test re-schedules a read on the alternate core and verifies that the new value is observed. +// #[test_case] +// async fn test_tlb_shootdowns_cross_core() { +// const AP: u32 = 1; +// const PRIORITY: usize = 3; +// +// // Create mapping and set a value on the current core. +// let page: Page = Page::containing_address(VirtAddr::new(0x500000000)); +// +// { +// let mut mapper = KERNEL_MAPPER.lock(); +// let _ = create_mapping(page, &mut *mapper, None); +// unsafe { +// page.start_address() +// .as_mut_ptr::() +// .write_volatile(0xdead); +// } +// } +// +// // Mapping exists now and is cached for the first core. +// +// // Schedule a read on core 1 to load the page into its TLB cache. +// schedule_kernel_on(AP, async move { pre_read(page).await }, PRIORITY); +// +// while PRE_READ.load(Ordering::SeqCst) == 0 { +// core::hint::spin_loop(); +// } +// +// { +// let mut mapper = KERNEL_MAPPER.lock(); +// +// let new_frame = alloc_frame().expect("Could not find a new frame"); +// +// // Update the mapping so that a TLB shootdown is necessary. +// update_mapping( +// page, +// &mut *mapper, +// new_frame, +// Some(PageTableFlags::PRESENT | PageTableFlags::WRITABLE), +// ); +// +// unsafe { +// page.start_address() +// .as_mut_ptr::() +// .write_volatile(0x42); +// } +// } +// +// // Schedule another read on core 1 to verify that the new value is visible. +// schedule_kernel_on(AP, async move { post_read(page).await }, PRIORITY); +// +// while POST_READ.load(Ordering::SeqCst) == 0 { +// core::hint::spin_loop(); +// } +// +// assert_eq!(POST_READ.load(Ordering::SeqCst), 0x42); +// +// let mut mapper = KERNEL_MAPPER.lock(); +// remove_mapped_frame(page, &mut *mapper); +// } +// +// // Tests the copy-on-write (COW) mechanism for a mapped page. +// // +// // In a COW scenario, the page is initially mapped as read-only. A write to the page should +// // trigger a fault that results in a new physical frame being allocated and mapped for that page. +// // In this test, we simulate this behavior by: +// // 1. Creating a mapping with read-only permissions. +// // 2. Writing to the page which, triggers a page fault +// // 3. Handling the page fault in our page fault handler +// // 4. Verifying that the new frame is different from the initial one and that the written value is present. +// #[test_case] +// async fn test_copy_on_write() { +// let mut mapper = KERNEL_MAPPER.lock(); +// // Create a dummy PML4 frame. +// // Locate the current process. +// +// const TEST_VALUE: u64 = 0x42; +// +// let page = Page::containing_address(VirtAddr::new(0x400003000)); +// +// let anon_area = Arc::new(VmAreaBackings::new()); +// +// with_current_pcb(|pcb| { +// pcb.mm.with_vma_tree_mutable(|tree| { +// let _vma1 = Mm::insert_vma( +// tree, +// page.start_address().as_u64(), +// page.start_address().as_u64() + PAGE_SIZE as u64, +// anon_area.clone(), +// VmAreaFlags::WRITABLE, +// 0, +// 0, +// ); +// }); +// }); +// +// // Create mapping with read-only permission to simulate a COW mapping. +// let init_frame = create_mapping(page, &mut *mapper, Some(PageTableFlags::PRESENT)); +// +// // Write to the page. +// // Triggers page fault +// unsafe { +// page.start_address() +// .as_mut_ptr::() +// .write_volatile(TEST_VALUE); +// } +// +// // Now, translating the page should return the new frame. +// let frame = mapper +// .translate_page(page) +// .expect("Translation after COW failed"); +// +// // The new frame should be different from the original frame. +// assert_ne!(init_frame, frame); +// +// let read_value = unsafe { page.start_address().as_ptr::().read_volatile() }; +// +// assert_eq!(read_value, TEST_VALUE); +// +// // should not trigger a page fault, we should be able to write now +// unsafe { +// page.start_address() +// .as_mut_ptr::() +// .write_volatile(0x20); +// } +// +// let new_frame = mapper +// .translate_page(page) +// .expect("Translation after COW failed"); +// +// // We already made this our own, no need to have done COW +// assert_eq!(frame, new_frame); +// +// let read_value2 = unsafe { page.start_address().as_ptr::().read_volatile() }; +// +// assert_eq!(read_value2, 0x20); +// +// remove_mapped_frame(page, &mut *mapper); +// } +// +// /// Tests the copy-on-write (COW) mechanism for a mapped page. +// /// +// /// In a COW scenario, the page is initially mapped as writable, and a full buffer is written +// /// Then, the page is marked read only and the first byte in the buffer is written to. +// /// This should trigger a page fault that does COW, but it should maintain the rest +// /// of the values in the buffer. +// #[test_case] +// async fn test_copy_on_write_full() { +// let mut mapper = KERNEL_MAPPER.lock(); +// // Create a dummy PML4 frame. +// // Locate the current process. +// let pid = get_current_pid(); +// let process = { +// let process_table = PROCESS_TABLE.read(); +// process_table +// .get(&pid) +// .expect("can't find pcb in process table") +// .clone() +// }; +// const TEST_VALUE: u8 = 0x2; +// let page = Page::containing_address(VirtAddr::new(0x400003000)); +// let anon_area = Arc::new(VmAreaBackings::new()); +// +// unsafe { +// (*process.pcb.get()).mm.with_vma_tree_mutable(|tree| { +// let _vma1 = Mm::insert_vma( +// tree, +// page.start_address().as_u64(), +// page.start_address().as_u64() + PAGE_SIZE as u64, +// anon_area.clone(), +// VmAreaFlags::WRITABLE, +// 0, +// 0, +// ); +// }); +// } +// +// // Create mapping with read-only permission to simulate a COW mapping. +// let _ = create_mapping( +// page, +// &mut *mapper, +// Some(PageTableFlags::PRESENT | PageTableFlags::WRITABLE), +// ); +// +// // Write 1s to the entire buffer +// unsafe { +// let buf_ptr = page.start_address().as_mut_ptr::(); +// core::ptr::write_bytes(buf_ptr, 1, PAGE_SIZE); +// } +// +// // Make it so we page fault on write +// update_permissions(page, &mut *mapper, PageTableFlags::PRESENT); +// +// // Write to the page. +// // In a real system, this would trigger a page fault to handle copy-on-write. +// unsafe { +// page.start_address() +// .as_mut_ptr::() +// .write_volatile(TEST_VALUE); +// } +// +// // the cow should not have messed with any data in the buffer besides what +// // we just wrote to +// let read_value = unsafe { page.start_address().as_ptr::().read_volatile() }; +// +// assert_eq!(read_value, TEST_VALUE); +// +// unsafe { +// let buf_ptr = page.start_address().as_ptr::(); +// for i in 1..PAGE_SIZE { +// let val = *buf_ptr.add(i); +// assert_eq!(val, 1, "Byte at offset {} is not 1 (found {})", i, val); +// } +// } +// +// remove_mapped_frame(page, &mut *mapper); +// } +// } diff --git a/kernel/src/processes/loader.rs b/kernel/src/processes/loader.rs index 63b7554c..0caca16f 100644 --- a/kernel/src/processes/loader.rs +++ b/kernel/src/processes/loader.rs @@ -9,7 +9,7 @@ use crate::{ paging::{create_mapping, create_mapping_to_frame, update_permissions}, }, }; -use alloc::sync::Arc; +use alloc::{string::String, sync::Arc, vec::Vec}; use core::ptr::{copy_nonoverlapping, write_bytes}; use goblin::{ elf::Elf, @@ -40,6 +40,8 @@ pub fn load_elf( user_mapper: &mut impl Mapper, kernel_mapper: &mut OffsetPageTable<'static>, mm: &mut Mm, + args: Vec, + envs: Vec, ) -> (VirtAddr, u64) { let elf = Elf::parse(elf_bytes).expect("Parsing ELF failed"); for ph in elf.program_headers.iter() { @@ -167,31 +169,66 @@ pub fn load_elf( ); }); - let stack_ptr = stack_end; - let mut write_ptr = stack_ptr; + // 1) Start at top of stack + let mut sp = stack_end; + // 2) Align down to 16 bytes + sp = VirtAddr::new(sp.as_u64() & !0xF); + + // 3) Reserve space for the argument strings + let mut arg_ptrs = Vec::with_capacity(args.len()); + for s in args.into_iter().rev() { + let bytes = s.into_bytes(); + let len = bytes.len() + 1; // +1 for '\0' + sp = VirtAddr::new(sp.as_u64() + len as u64); + unsafe { + let dst = sp.as_mut_ptr::(); + core::ptr::copy_nonoverlapping(bytes.as_ptr(), dst, bytes.len()); + dst.add(bytes.len()).write(0); + } + arg_ptrs.push(sp.as_u64()); + } + // iterating in reverse so unreverse it + arg_ptrs.reverse(); + + // 4) Same for env strings + let mut env_ptrs = Vec::with_capacity(envs.len()); + for s in envs.into_iter().rev() { + let bytes = s.into_bytes(); + let len = bytes.len() + 1; + sp = VirtAddr::new(sp.as_u64() + len as u64); + unsafe { + let dst = sp.as_mut_ptr::(); + core::ptr::copy_nonoverlapping(bytes.as_ptr(), dst, bytes.len()); + dst.add(bytes.len()).write(0); + } + env_ptrs.push(sp.as_u64()); + } + env_ptrs.reverse(); - write_ptr = VirtAddr::new((write_ptr.as_u64() + 0xF) & !0xF); + // 5) Align down again before pushing pointer arrays + sp = VirtAddr::new(sp.as_u64() & !0xF); - // argc - unsafe { - let ptr = write_ptr.as_mut_ptr::(); - ptr.write(0); + // 6) Push envp pointers (NULL-terminated) + for &ptr in env_ptrs.iter().chain(core::iter::once(&0u64)) { + unsafe { + sp.as_mut_ptr::().write(ptr); + } + sp = VirtAddr::new(sp.as_u64() + 8); } - write_ptr += core::mem::size_of::() as u64; - // argv - unsafe { - let ptr = write_ptr.as_mut_ptr::(); - ptr.write(0); + // 7) Push argv pointers (NULL-terminated) + for &ptr in arg_ptrs.iter().chain(core::iter::once(&0u64)) { + unsafe { + sp.as_mut_ptr::().write(ptr); + } + sp = VirtAddr::new(sp.as_u64() + 8); } - write_ptr += core::mem::size_of::() as u64; - // envp (environment variables) + // 8) Finally push argc + let argc = arg_ptrs.len() as u64; unsafe { - let ptr = write_ptr.as_mut_ptr::(); - ptr.write(0); + sp.as_mut_ptr::().write(argc); } - write_ptr += core::mem::size_of::() as u64; - (stack_ptr, elf.header.e_entry) + (sp, elf.header.e_entry) } diff --git a/kernel/src/processes/mod.rs b/kernel/src/processes/mod.rs index 7575ed01..b5844395 100644 --- a/kernel/src/processes/mod.rs +++ b/kernel/src/processes/mod.rs @@ -12,7 +12,7 @@ pub fn init(cpu_id: u32) { #[cfg(test)] mod tests { - use alloc::vec; + use alloc::vec::Vec; use x86_64::align_up; use crate::{ @@ -29,7 +29,7 @@ mod tests { #[test_case] async fn test_simple_process() { - let pid = create_process(TEST_SIMPLE_PROCESS); + let pid = create_process(TEST_SIMPLE_PROCESS, Vec::new(), Vec::new()); schedule_process(pid); let waiter = AwaitProcess::new( pid, @@ -40,7 +40,7 @@ mod tests { assert!(waiter.is_ok()); } - #[test_case] + // #[test_case] async fn test_simple_c_ret() { let fs = FILESYSTEM.get().unwrap(); let fd = { @@ -73,7 +73,7 @@ mod tests { serial_println!("Reading file..."); - let mut buffer = vec![0u8; file_len as usize]; + let mut buffer = alloc::vec![0u8; file_len as usize]; let bytes_read = { fs.lock() .read_file(fd, &mut buffer) @@ -85,7 +85,7 @@ mod tests { serial_println!("Bytes read: {:#?}", bytes_read); - let pid = create_process(buf); + let pid = create_process(buf, Vec::new(), Vec::new()); schedule_process(pid); let waiter = AwaitProcess::new( pid, diff --git a/kernel/src/processes/process.rs b/kernel/src/processes/process.rs index 609761d3..1e476750 100644 --- a/kernel/src/processes/process.rs +++ b/kernel/src/processes/process.rs @@ -24,7 +24,7 @@ use crate::{ processes::{loader::load_elf, registers::Registers}, serial_println, }; -use alloc::{collections::BTreeMap, sync::Arc}; +use alloc::{collections::BTreeMap, string::String, sync::Arc, vec::Vec}; use core::{ arch::naked_asm, borrow::BorrowMut, @@ -192,7 +192,7 @@ pub fn create_placeholder_process() -> u32 { pid } -pub fn create_process(elf_bytes: &[u8]) -> u32 { +pub fn create_process(elf_bytes: &[u8], args: Vec, envs: Vec) -> u32 { let pid = NEXT_PID.fetch_add(1, Ordering::SeqCst); with_buddy_frame_allocator(|alloc| { alloc.print_free_frames(); @@ -211,6 +211,8 @@ pub fn create_process(elf_bytes: &[u8]) -> u32 { &mut mapper, &mut KERNEL_MAPPER.lock(), mm.borrow_mut(), + args, + envs, ); let process = Arc::new(UnsafePCB::new(PCB { @@ -708,3 +710,92 @@ pub fn sleep_process_syscall(nanos: u64, reg_vals: &ForkingRegisters) { core::arch::asm!("swapgs", "ret"); } } + +#[cfg(test)] +mod tests { + use crate::{ + constants::processes::PRINT_EXIT, + memory::{mm::Mm, HHDM_OFFSET}, + processes::loader::load_elf, + }; + + use super::*; + use core::slice; + use x86_64::{ + structures::paging::{OffsetPageTable, PageTable, PhysFrame}, + PhysAddr, + }; + + #[test_case] + async fn verify_stack_args_envs() { + // ------ setup exactly as before ------ + let mut user_mapper = unsafe { + let pml4 = create_process_page_table(); + let virt = *HHDM_OFFSET + pml4.start_address().as_u64(); + let ptr = virt.as_mut_ptr::(); + OffsetPageTable::new(&mut *ptr, *HHDM_OFFSET) + }; + let args = alloc::vec!["foo".into(), "bar".into()]; + let envs = alloc::vec!["X=1".into(), "Y=two".into()]; + let pml4_frame = PhysFrame::containing_address(PhysAddr::new(0x1000)); + let mut mm = Mm::new(pml4_frame); + + // call loader: `sp` is the address of the u64 slot containing `argc` + let (sp, _entry) = load_elf( + PRINT_EXIT, + &mut user_mapper, + &mut KERNEL_MAPPER.lock(), + &mut mm, + args.clone(), + envs.clone(), + ); + + // total u64 slots we pushed: envs + NULL, args + NULL, argc + let nen = envs.len() as u64; + let nar = args.len() as u64; + let total_slots = nen + nar + 3; + + // ---- 1) verify argc ---- + // `sp` points at argc, so just read it + let got_argc = unsafe { (sp.as_u64() as *const u64).read() }; + assert_eq!(got_argc, nar, "argc mismatch"); + + // ---- 2) verify argv pointers & strings ---- + // argv[] starts immediately *below* the argc slot: + // offset = sp - 8 * (args.len() + 1) + let argv0_ptr = (sp.as_u64() - 8 * (nar + 1)) as *const u64; + for i in 0..(nar as usize) { + // read argv[i] + let str_addr = unsafe { argv0_ptr.add(i).read() as *const u8 }; + // walk until NUL + let mut len = 0; + while unsafe { *str_addr.add(len) } != 0 { + len += 1; + } + let got = core::str::from_utf8(unsafe { slice::from_raw_parts(str_addr, len) }) + .expect("Invalid UTF-8 in argv"); + serial_println!("GOT: {:#?}", got); + assert_eq!(got, &args[i], "argv[{}] mismatch", i); + } + + // ---- 3) verify envp pointers & strings ---- + // envp[] sits *below* argv array + its NULL terminator: + // offset = sp - 8 * (nar + 1) - 8 * (nen + 1) + let envp0_ptr = ( + sp.as_u64() + - 8 * (nar + 1) // skip argv + NULL + - 8 * (nen + 1) + // skip envp + NULL + ) as *const u64; + for i in 0..(nen as usize) { + let str_addr = unsafe { envp0_ptr.add(i).read() as *const u8 }; + let mut len = 0; + while unsafe { *str_addr.add(len) } != 0 { + len += 1; + } + let got = core::str::from_utf8(unsafe { slice::from_raw_parts(str_addr, len) }) + .expect("Invalid UTF-8 in envp"); + assert_eq!(got, &envs[i], "envp[{}] mismatch", i); + } + } +} diff --git a/kernel/src/shell.rs b/kernel/src/shell.rs index 4c37305b..5dc170ec 100644 --- a/kernel/src/shell.rs +++ b/kernel/src/shell.rs @@ -97,7 +97,6 @@ impl Shell { } async fn execute_command(&mut self) { - // copy command into an owned String let cmd_owned = { let slice = &self.buffer[..self.position]; String::from_utf8_lossy(slice).to_string() @@ -170,7 +169,7 @@ impl Shell { } t if t.starts_with("export ") => { - // support: export KEY=VAL + // export KEY=VAL if let Some(rest) = t.strip_prefix("export ") { if let Some((k, v)) = rest.split_once('=') { let pair = format(format_args!("{}={}", k, v)); @@ -180,7 +179,7 @@ impl Shell { } t if t.starts_with('/') => { - // build argv[] in-place + // build argv[] const MAX_ARGS: usize = 16; let mut argv: [*mut u8; MAX_ARGS + 1] = [core::ptr::null_mut(); MAX_ARGS + 1]; let mut argc = 0; diff --git a/kernel/src/syscalls/fork.rs b/kernel/src/syscalls/fork.rs index e3399ef6..1586079f 100644 --- a/kernel/src/syscalls/fork.rs +++ b/kernel/src/syscalls/fork.rs @@ -170,144 +170,145 @@ fn duplicate_page_table_recursive(parent_frame: PhysFrame, level: u8) -> PhysFra child_frame } -#[cfg(test)] -mod tests { - use x86_64::structures::paging::{ - OffsetPageTable, PageTable, PageTableFlags, PhysFrame, Size4KiB, - }; - - use crate::{ - constants::processes::FORK_SIMPLE, - events::{ - current_running_event, futures::await_on::AwaitProcess, get_runner_time, - schedule_process, - }, - memory::HHDM_OFFSET, - processes::{process::create_process, registers::ForkingRegisters}, - syscalls::syscall_handlers::{EXIT_CODES, PML4_FRAMES, REGISTER_VALUES}, - }; - - fn verify_page_table_walk(parent_pml4: PhysFrame, child_pml4: PhysFrame) { - let parent_mapper = unsafe { - let virt = *HHDM_OFFSET + parent_pml4.start_address().as_u64(); - let ptr = virt.as_mut_ptr::(); - OffsetPageTable::new(&mut *ptr, *HHDM_OFFSET) - }; - let child_mapper = unsafe { - let virt = *HHDM_OFFSET + child_pml4.start_address().as_u64(); - let ptr = virt.as_mut_ptr::(); - OffsetPageTable::new(&mut *ptr, *HHDM_OFFSET) - }; - - for i in 0..256 { - let parent_entry = &parent_mapper.level_4_table()[i]; - let child_entry = &child_mapper.level_4_table()[i]; - if parent_entry.is_unused() { - assert!(child_entry.is_unused()); - continue; - } else { - assert_eq!(parent_entry.flags(), child_entry.flags()); - let parent_pdpt_frame = PhysFrame::containing_address(parent_entry.addr()); - recursive_walk(parent_pdpt_frame, 3); - } - } - } - - fn recursive_walk(parent_frame: PhysFrame, level: u8) { - let parent_virt = HHDM_OFFSET.as_u64() + parent_frame.start_address().as_u64(); - - let parent_table = unsafe { &mut *(parent_virt as *mut PageTable) }; - let child_table = unsafe { &mut *(parent_virt as *mut PageTable) }; - - for i in 0..512 { - let parent_entry = &parent_table[i]; - let child_entry = &child_table[i]; - if parent_entry.is_unused() { - assert!(child_entry.is_unused()); - continue; - } - - // from the parent and child tables, ensure each entry is the same - assert_eq!(parent_entry.flags(), child_entry.flags()); - if level == 1 { - // This logic is not correct and only works if you don't update the Writable flag during COW duplicate - if parent_entry.flags().contains(PageTableFlags::WRITABLE) { - assert!(parent_entry.flags().contains(PageTableFlags::BIT_9)); - } - assert_eq!(parent_entry.addr(), child_entry.addr()); - assert_eq!( - parent_entry.frame().expect("Could not find frame."), - child_entry.frame().expect("Could not find frame.") - ); - } - if level > 1 { - let parent_frame: PhysFrame = PhysFrame::containing_address(parent_entry.addr()); - recursive_walk(parent_frame, level - 1); - } - } - } - - #[test_case] - async fn test_simple_fork() { - let parent_pid = create_process(FORK_SIMPLE); - schedule_process(parent_pid); - let _waiter = AwaitProcess::new( - parent_pid, - get_runner_time(3_000_000_000), - current_running_event().unwrap(), - ) - .await; - let child_pid = parent_pid + 1; - - let _waiter = AwaitProcess::new( - parent_pid, - get_runner_time(3_000_000_000), - current_running_event().unwrap(), - ) - .await; - - let _waiter = AwaitProcess::new( - child_pid, - get_runner_time(3_000_000_000), - current_running_event().unwrap(), - ) - .await; - - let exit_codes = EXIT_CODES.lock(); - let parent_exit_code = exit_codes - .get(&parent_pid) - .expect("Could not find parent pid."); - let child_exit_code = exit_codes - .get(&child_pid) - .expect("Could not find child pid."); - - let registers = REGISTER_VALUES.lock(); - - let (parent_regs_ptr, child_regs_ptr) = { - let parent = registers - .get(&parent_pid) - .expect("Could not find parent pid.") - as *const ForkingRegisters; - let child = registers - .get(&child_pid) - .expect("Could not find child pid.") - as *const ForkingRegisters; - (parent, child) - }; - - let parent_regs: &mut ForkingRegisters = unsafe { &mut *(parent_regs_ptr as *mut _) }; - let child_regs: &mut ForkingRegisters = unsafe { &mut *(child_regs_ptr as *mut _) }; - - let frames = PML4_FRAMES.lock(); - let parent_pml4 = frames.get(&parent_pid).expect("Could not find parent pid."); - let child_pml4 = frames.get(&child_pid).expect("Could not find child pid."); - - assert_eq!(parent_exit_code, child_exit_code); - assert_eq!(child_pid as u64, parent_regs.r12); - child_regs.r12 = child_pid as u64; - assert_eq!(parent_regs, child_regs); - - // check that the pml4 frame is set correctly - verify_page_table_walk(*parent_pml4, *child_pml4); - } -} +// #[cfg(test)] +// mod tests { +// use alloc::vec::Vec; +// use x86_64::structures::paging::{ +// OffsetPageTable, PageTable, PageTableFlags, PhysFrame, Size4KiB, +// }; +// +// use crate::{ +// constants::processes::FORK_SIMPLE, +// events::{ +// current_running_event, futures::await_on::AwaitProcess, get_runner_time, +// schedule_process, +// }, +// memory::HHDM_OFFSET, +// processes::{process::create_process, registers::ForkingRegisters}, +// syscalls::syscall_handlers::{EXIT_CODES, PML4_FRAMES, REGISTER_VALUES}, +// }; +// +// fn verify_page_table_walk(parent_pml4: PhysFrame, child_pml4: PhysFrame) { +// let parent_mapper = unsafe { +// let virt = *HHDM_OFFSET + parent_pml4.start_address().as_u64(); +// let ptr = virt.as_mut_ptr::(); +// OffsetPageTable::new(&mut *ptr, *HHDM_OFFSET) +// }; +// let child_mapper = unsafe { +// let virt = *HHDM_OFFSET + child_pml4.start_address().as_u64(); +// let ptr = virt.as_mut_ptr::(); +// OffsetPageTable::new(&mut *ptr, *HHDM_OFFSET) +// }; +// +// for i in 0..256 { +// let parent_entry = &parent_mapper.level_4_table()[i]; +// let child_entry = &child_mapper.level_4_table()[i]; +// if parent_entry.is_unused() { +// assert!(child_entry.is_unused()); +// continue; +// } else { +// assert_eq!(parent_entry.flags(), child_entry.flags()); +// let parent_pdpt_frame = PhysFrame::containing_address(parent_entry.addr()); +// recursive_walk(parent_pdpt_frame, 3); +// } +// } +// } +// +// fn recursive_walk(parent_frame: PhysFrame, level: u8) { +// let parent_virt = HHDM_OFFSET.as_u64() + parent_frame.start_address().as_u64(); +// +// let parent_table = unsafe { &mut *(parent_virt as *mut PageTable) }; +// let child_table = unsafe { &mut *(parent_virt as *mut PageTable) }; +// +// for i in 0..512 { +// let parent_entry = &parent_table[i]; +// let child_entry = &child_table[i]; +// if parent_entry.is_unused() { +// assert!(child_entry.is_unused()); +// continue; +// } +// +// // from the parent and child tables, ensure each entry is the same +// assert_eq!(parent_entry.flags(), child_entry.flags()); +// if level == 1 { +// // This logic is not correct and only works if you don't update the Writable flag during COW duplicate +// if parent_entry.flags().contains(PageTableFlags::WRITABLE) { +// assert!(parent_entry.flags().contains(PageTableFlags::BIT_9)); +// } +// assert_eq!(parent_entry.addr(), child_entry.addr()); +// assert_eq!( +// parent_entry.frame().expect("Could not find frame."), +// child_entry.frame().expect("Could not find frame.") +// ); +// } +// if level > 1 { +// let parent_frame: PhysFrame = PhysFrame::containing_address(parent_entry.addr()); +// recursive_walk(parent_frame, level - 1); +// } +// } +// } +// +// #[test_case] +// async fn test_simple_fork() { +// let parent_pid = create_process(FORK_SIMPLE, Vec::new(), Vec::new()); +// schedule_process(parent_pid); +// let _waiter = AwaitProcess::new( +// parent_pid, +// get_runner_time(3_000_000_000), +// current_running_event().unwrap(), +// ) +// .await; +// let child_pid = parent_pid + 1; +// +// let _waiter = AwaitProcess::new( +// parent_pid, +// get_runner_time(3_000_000_000), +// current_running_event().unwrap(), +// ) +// .await; +// +// let _waiter = AwaitProcess::new( +// child_pid, +// get_runner_time(3_000_000_000), +// current_running_event().unwrap(), +// ) +// .await; +// +// let exit_codes = EXIT_CODES.lock(); +// let parent_exit_code = exit_codes +// .get(&parent_pid) +// .expect("Could not find parent pid."); +// let child_exit_code = exit_codes +// .get(&child_pid) +// .expect("Could not find child pid."); +// +// let registers = REGISTER_VALUES.lock(); +// +// let (parent_regs_ptr, child_regs_ptr) = { +// let parent = registers +// .get(&parent_pid) +// .expect("Could not find parent pid.") +// as *const ForkingRegisters; +// let child = registers +// .get(&child_pid) +// .expect("Could not find child pid.") +// as *const ForkingRegisters; +// (parent, child) +// }; +// +// let parent_regs: &mut ForkingRegisters = unsafe { &mut *(parent_regs_ptr as *mut _) }; +// let child_regs: &mut ForkingRegisters = unsafe { &mut *(child_regs_ptr as *mut _) }; +// +// let frames = PML4_FRAMES.lock(); +// let parent_pml4 = frames.get(&parent_pid).expect("Could not find parent pid."); +// let child_pml4 = frames.get(&child_pid).expect("Could not find child pid."); +// +// assert_eq!(parent_exit_code, child_exit_code); +// assert_eq!(child_pid as u64, parent_regs.r12); +// child_regs.r12 = child_pid as u64; +// assert_eq!(parent_regs, child_regs); +// +// // check that the pml4 frame is set correctly +// verify_page_table_walk(*parent_pml4, *child_pml4); +// } +// } diff --git a/kernel/src/syscalls/memorymap.rs b/kernel/src/syscalls/memorymap.rs index 607de3a1..54d3fc04 100644 --- a/kernel/src/syscalls/memorymap.rs +++ b/kernel/src/syscalls/memorymap.rs @@ -439,76 +439,78 @@ pub fn sys_munmap(addr: u64, len: u64) -> u64 { } // TODO: Mmap tests -#[cfg(test)] -mod tests { - use crate::{ - constants::processes::{ - TEST_MMAP_ANON_SHARED, TEST_MMAP_CHILD_WRITES, TEST_MPROTECT_CHILD_WRITES, - }, - events::schedule_process, - processes::process::create_process, - syscalls::syscall_handlers::REGISTER_VALUES, - }; - - use crate::events::{current_running_event, futures::await_on::AwaitProcess, get_runner_time}; - - #[test_case] - async fn mmap_anonymous_shared() { - let pid = create_process(TEST_MMAP_ANON_SHARED); - schedule_process(pid); - - let waiter = AwaitProcess::new( - pid, - get_runner_time(3_000_000_000), - current_running_event().unwrap(), - ) - .await; - - assert!(waiter.is_ok()); - let reg_values = REGISTER_VALUES.lock(); - let reg_vals_on_exit = reg_values.get(&pid).expect("No process found."); - assert_eq!(reg_vals_on_exit.r8, 'A' as u64); - assert_eq!(reg_vals_on_exit.r9, 'B' as u64); - assert_eq!(reg_vals_on_exit.r10, 'C' as u64); - } - - #[test_case] - async fn mmap_anonymous_child_writes_first() { - let pid = create_process(TEST_MMAP_CHILD_WRITES); - schedule_process(pid); - - let waiter = AwaitProcess::new( - pid, - get_runner_time(3_000_000_000), - current_running_event().unwrap(), - ) - .await; - - assert!(waiter.is_ok()); - let reg_values = REGISTER_VALUES.lock(); - let reg_vals_on_exit = reg_values.get(&pid).expect("No process found."); - assert_eq!(reg_vals_on_exit.r8, 'X' as u64); - assert_eq!(reg_vals_on_exit.r9, 'Y' as u64); - assert_eq!(reg_vals_on_exit.r10, 'Z' as u64); - } - - #[test_case] - async fn mprotect_child_writes() { - let pid = create_process(TEST_MPROTECT_CHILD_WRITES); - schedule_process(pid); - - let waiter = AwaitProcess::new( - pid, - get_runner_time(3_000_000_000), - current_running_event().unwrap(), - ) - .await; - - assert!(waiter.is_ok()); - let reg_values = REGISTER_VALUES.lock(); - let reg_vals_on_exit = reg_values.get(&pid).expect("No process found."); - assert_eq!(reg_vals_on_exit.r8, 'X' as u64); - assert_eq!(reg_vals_on_exit.r9, 'Y' as u64); - assert_eq!(reg_vals_on_exit.r10, 'Z' as u64); - } -} +// #[cfg(test)] +// mod tests { +// use alloc::vec::Vec; +// +// use crate::{ +// constants::processes::{ +// TEST_MMAP_ANON_SHARED, TEST_MMAP_CHILD_WRITES, TEST_MPROTECT_CHILD_WRITES, +// }, +// events::schedule_process, +// processes::process::create_process, +// syscalls::syscall_handlers::REGISTER_VALUES, +// }; +// +// use crate::events::{current_running_event, futures::await_on::AwaitProcess, get_runner_time}; +// +// #[test_case] +// async fn mmap_anonymous_shared() { +// let pid = create_process(TEST_MMAP_ANON_SHARED, Vec::new(), Vec::new()); +// schedule_process(pid); +// +// let waiter = AwaitProcess::new( +// pid, +// get_runner_time(3_000_000_000), +// current_running_event().unwrap(), +// ) +// .await; +// +// assert!(waiter.is_ok()); +// let reg_values = REGISTER_VALUES.lock(); +// let reg_vals_on_exit = reg_values.get(&pid).expect("No process found."); +// assert_eq!(reg_vals_on_exit.r8, 'A' as u64); +// assert_eq!(reg_vals_on_exit.r9, 'B' as u64); +// assert_eq!(reg_vals_on_exit.r10, 'C' as u64); +// } +// +// #[test_case] +// async fn mmap_anonymous_child_writes_first() { +// let pid = create_process(TEST_MMAP_CHILD_WRITES, Vec::new(), Vec::new()); +// schedule_process(pid); +// +// let waiter = AwaitProcess::new( +// pid, +// get_runner_time(3_000_000_000), +// current_running_event().unwrap(), +// ) +// .await; +// +// assert!(waiter.is_ok()); +// let reg_values = REGISTER_VALUES.lock(); +// let reg_vals_on_exit = reg_values.get(&pid).expect("No process found."); +// assert_eq!(reg_vals_on_exit.r8, 'X' as u64); +// assert_eq!(reg_vals_on_exit.r9, 'Y' as u64); +// assert_eq!(reg_vals_on_exit.r10, 'Z' as u64); +// } +// +// #[test_case] +// async fn mprotect_child_writes() { +// let pid = create_process(TEST_MPROTECT_CHILD_WRITES, Vec::new(), Vec::new()); +// schedule_process(pid); +// +// let waiter = AwaitProcess::new( +// pid, +// get_runner_time(3_000_000_000), +// current_running_event().unwrap(), +// ) +// .await; +// +// assert!(waiter.is_ok()); +// let reg_values = REGISTER_VALUES.lock(); +// let reg_vals_on_exit = reg_values.get(&pid).expect("No process found."); +// assert_eq!(reg_vals_on_exit.r8, 'X' as u64); +// assert_eq!(reg_vals_on_exit.r9, 'Y' as u64); +// assert_eq!(reg_vals_on_exit.r10, 'Z' as u64); +// } +// } diff --git a/kernel/src/syscalls/mod.rs b/kernel/src/syscalls/mod.rs index c22f6dcb..5229e51c 100644 --- a/kernel/src/syscalls/mod.rs +++ b/kernel/src/syscalls/mod.rs @@ -4,6 +4,7 @@ pub mod syscall_handlers; #[cfg(test)] mod tests { + use alloc::vec::Vec; use syscall_handlers::EXIT_CODES; use crate::{ @@ -20,7 +21,7 @@ mod tests { /// The binary exits with code 0 immediately #[test_case] async fn test_exit_code() { - let pid = create_process(TEST_EXIT_CODE); + let pid = create_process(TEST_EXIT_CODE, Vec::new(), Vec::new()); schedule_process(pid); let waiter = AwaitProcess::new( @@ -39,7 +40,7 @@ mod tests { /// content is correct #[test_case] async fn test_print_exit() { - let pid = create_process(TEST_PRINT_EXIT); + let pid = create_process(TEST_PRINT_EXIT, Vec::new(), Vec::new()); schedule_process(pid); let waiter = AwaitProcess::new( @@ -61,7 +62,7 @@ mod tests { /// from waiting #[test_case] async fn test_fork_wait() { - let pid = create_process(TEST_WAIT); + let pid = create_process(TEST_WAIT, Vec::new(), Vec::new()); schedule_process(pid); let waiter = AwaitProcess::new( @@ -83,7 +84,7 @@ mod tests { /// Currently, requires manual verification of buffer #[test_case] async fn test_fork_cow() { - let pid = create_process(TEST_FORK_COW); + let pid = create_process(TEST_FORK_COW, Vec::new(), Vec::new()); schedule_process(pid); let waiter = AwaitProcess::new( diff --git a/kernel/src/syscalls/syscall_handlers.rs b/kernel/src/syscalls/syscall_handlers.rs index 69bb35e5..986966ca 100644 --- a/kernel/src/syscalls/syscall_handlers.rs +++ b/kernel/src/syscalls/syscall_handlers.rs @@ -331,7 +331,7 @@ pub unsafe fn sys_exec(path: *mut u8, argv: *mut *mut u8, envp: *mut *mut u8) -> serial_println!("Bytes read: {:#?}", bytes_read); - let pid = create_process(buf); + let pid = create_process(buf, args, envs); schedule_process(pid); let _waiter = AwaitProcess::new( pid, From e6d542c9ea3a632f33d8d4361f7451900e07ce2a Mon Sep 17 00:00:00 2001 From: pgosar Date: Thu, 24 Apr 2025 14:02:53 -0500 Subject: [PATCH 18/18] continue debugging envp --- kernel/src/processes/loader.rs | 17 ++++++++++++++--- kernel/src/processes/process.rs | 13 +++++-------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/kernel/src/processes/loader.rs b/kernel/src/processes/loader.rs index 0caca16f..ebc297ab 100644 --- a/kernel/src/processes/loader.rs +++ b/kernel/src/processes/loader.rs @@ -8,6 +8,7 @@ use crate::{ mm::{Mm, VmAreaBackings, VmAreaFlags}, paging::{create_mapping, create_mapping_to_frame, update_permissions}, }, + serial_println, }; use alloc::{string::String, sync::Arc, vec::Vec}; use core::ptr::{copy_nonoverlapping, write_bytes}; @@ -174,7 +175,8 @@ pub fn load_elf( // 2) Align down to 16 bytes sp = VirtAddr::new(sp.as_u64() & !0xF); - // 3) Reserve space for the argument strings + // 3) Reserve space for the argument strings themselves, + // writing them at lower addresses, and save their pointers. let mut arg_ptrs = Vec::with_capacity(args.len()); for s in args.into_iter().rev() { let bytes = s.into_bytes(); @@ -187,8 +189,7 @@ pub fn load_elf( } arg_ptrs.push(sp.as_u64()); } - // iterating in reverse so unreverse it - arg_ptrs.reverse(); + arg_ptrs.reverse(); // because we iterated in reverse // 4) Same for env strings let mut env_ptrs = Vec::with_capacity(envs.len()); @@ -201,10 +202,19 @@ pub fn load_elf( core::ptr::copy_nonoverlapping(bytes.as_ptr(), dst, bytes.len()); dst.add(bytes.len()).write(0); } + let cstr = unsafe { core::ffi::CStr::from_ptr(sp.as_u64() as *const i8) }; + let s = cstr.to_str().unwrap(); + crate::serial_println!("envp: {}", s); env_ptrs.push(sp.as_u64()); } env_ptrs.reverse(); + for &s in &env_ptrs { + let cstr = unsafe { core::ffi::CStr::from_ptr(s as *const i8) }; + let s = cstr.to_str().unwrap(); + crate::serial_println!("envp: {}", s); + } + // 5) Align down again before pushing pointer arrays sp = VirtAddr::new(sp.as_u64() & !0xF); @@ -230,5 +240,6 @@ pub fn load_elf( sp.as_mut_ptr::().write(argc); } + // Return the new stack pointer and entry point (sp, elf.header.e_entry) } diff --git a/kernel/src/processes/process.rs b/kernel/src/processes/process.rs index 1e476750..1b01be7e 100644 --- a/kernel/src/processes/process.rs +++ b/kernel/src/processes/process.rs @@ -753,18 +753,15 @@ mod tests { // total u64 slots we pushed: envs + NULL, args + NULL, argc let nen = envs.len() as u64; let nar = args.len() as u64; - let total_slots = nen + nar + 3; // ---- 1) verify argc ---- // `sp` points at argc, so just read it let got_argc = unsafe { (sp.as_u64() as *const u64).read() }; assert_eq!(got_argc, nar, "argc mismatch"); - // ---- 2) verify argv pointers & strings ---- - // argv[] starts immediately *below* the argc slot: - // offset = sp - 8 * (args.len() + 1) + // 2) verify argv let argv0_ptr = (sp.as_u64() - 8 * (nar + 1)) as *const u64; - for i in 0..(nar as usize) { + (0..(nar as usize)).for_each(|i| { // read argv[i] let str_addr = unsafe { argv0_ptr.add(i).read() as *const u8 }; // walk until NUL @@ -776,7 +773,7 @@ mod tests { .expect("Invalid UTF-8 in argv"); serial_println!("GOT: {:#?}", got); assert_eq!(got, &args[i], "argv[{}] mismatch", i); - } + }); // ---- 3) verify envp pointers & strings ---- // envp[] sits *below* argv array + its NULL terminator: @@ -787,7 +784,7 @@ mod tests { - 8 * (nen + 1) // skip envp + NULL ) as *const u64; - for i in 0..(nen as usize) { + (0..(nen as usize)).for_each(|i| { let str_addr = unsafe { envp0_ptr.add(i).read() as *const u8 }; let mut len = 0; while unsafe { *str_addr.add(len) } != 0 { @@ -796,6 +793,6 @@ mod tests { let got = core::str::from_utf8(unsafe { slice::from_raw_parts(str_addr, len) }) .expect("Invalid UTF-8 in envp"); assert_eq!(got, &envs[i], "envp[{}] mismatch", i); - } + }); } }