Philipp Oppermann
Philipp Oppermann
Currently the error message is just "No such file or directory (os error 2)" when QEMU isn't installed.
At the moment, polling the ethernet interface works by passing in a `SocketSet`, which is passed down to the `process_*` methods (e.g. `process_udp`). The `process_*` methods then iterate over the...
Add compiler support for interrupt calling conventions that are specific to an architecture or target. This way, interrupt handler functions can be written directly in Rust without needing assembly shims....
Consider code like this: ```rust use bytes::BufMut; fn main() { let mut buf = Vec::new(); buf.put_u8(42); print_slice(&buf, 1); } fn print_slice(slice: &[u8], len: usize) { println!("{:?}", &slice[..len]); } ``` We...
This pull requests implements the next version of the `bootloader` crate: `v0.11`. It contains multiple breaking changes: - **Separate API crate:** The bootloader is now split into two parts: An...
This code crates a page aligned `smp_trampoline` function that lives in the first megabyte and exports its address in the boot information. According to https://github.com/rust-osdev/bootloader/issues/74, it should be possible to...
Currently we only provide some minimal build instructions in the Readme. We should also document advanced patterns such as: - [ ] Creating a higher half kernel - [x] ~~Chainloading...
The bootloader currently sets up huge stack for the kernel by default (512 pages = 2MB). Now that the stack size is configurable, we should probably reduce the default. cc...
We currently only test the bootloader without the SSE feature. We should add an additional test kernel that makes use of it.
Instead of requiring the caller to specify the target frame, this method uses a frame allocated from the frame allocator. This makes the common use case of mapping a page...