Klim Tsoutsman

Results 23 issues of Klim Tsoutsman

> Theseus uses the `MutexIrqSafe` type to ensure that interrupts are disabled when accessing the inner data. This is quite useful for sensitive contexts where deadlock could otherwise occur if...

The crate mimics the `RngCore` interface. It was named `random` to not conflict with `rand`'s symbols. I've also replaced locally defined RNGs in the `ixgbe` and `ota_update_client` crates, that used...

Our eventual goal is to have `std` depend on `libtheseus`. This means getting rid of the patch tables in `Cargo.toml`, as they only work within a workspace: - [x] `spin`...

#576 provides a simple mutex implementation; ideally, we'd use a more performant one. Currently, `raw_mutex` only has a fast path (mutex is unlocked) and a slow path (mutex is locked...

The current implementation isn't particularly performant, but it is correct. Improving the performance of the mutex is something we could do in a later PR. Unlike `mutex_sleep`, `raw_mutex` lock operations...

This pull request abstracts hardware timers behind a generic `ClockSource` trait. All existing functionality has been implemented, but there are a couple of additional features that can be addressed either...

When compiling the kernel with `-DKernelVerificationBuild:BOOL=OFF`, my builds failing with the following error: ``` [46/47] Building C object CMakeFiles/kernel.elf.dir/kernel_all.c.obj FAILED: CMakeFiles/kernel.elf.dir/kernel_all.c.obj /usr/bin/gcc --sysroot=/home/klim/Downloads/seL4/build -I/home/klim/Downloads/seL4/include -I/home/klim/Downloads/seL4/include/64 -I/home/klim/Downloads/seL4/include/arch/x86 -I/home/klim/Downloads/seL4/include/arch/x86/arch/64 -I/home/klim/Downloads/seL4/include/plat/pc99 -I/home/klim/Downloads/seL4/include/plat/pc99/plat/64 -I/home/klim/Downloads/seL4/libsel4/include...

This PR reworks the file system API. It also includes a port of `memfs`. The new API should also be simple to integrate with `fatfs` and other physical file systems....

This PR is a simplification of #569. It adds the timer abstraction without implementing or using it anywhere. We would implement `ClockSource` for various ZSTs e.g. `Pit`, `Tsc`, `Hpet`. Then...

I haven't worked with make much, so this may be a terrible way to do it. It definitely feels terrible. This way of doing it unnecessarily forces us to rebuild...