Releases: carterisonline/lateral
Releases · carterisonline/lateral
v0.1.8 - It's about time
Changelogs
lateral::time::rtc
Adds support for a global RTC handler.
lateral::time::cmos
Adds a backend for periodic interrupts and sleeping, which can convert to RTC.
lateral::time
Adds utilities for handling time deltas and more.
lateral::syscall
Adds support for custom syscall implementations.
lateral::syscall::service
Adds backends for this new syscall implementation.
lateral::thread::ps2
Switches to this new custom interrupt system.
lateral::cpu::interrupt
Adds 16 new custom interrupt handlers, and systems to manage them.
lateral
(lib.rs) Adds these new modules.
Cargo.toml
Updates the version number.
Integrated Features
v0.1.7 - More than enough threads
Changelogs
The original multithreading system, lateral::future
, did not allow threads to yield during execution largely because of Rust's future model, and ran threads in order, completely synchronously. This has been changed to a new, custom-built solution called lateral::thread
which allows threads to be run in the background on seperate physical CPU threads, and for threads to yield during execution. This allows patterns such as infinite loops and keyboard input to coexist. Internal thread spawning still remains present, and now allows threads to outlive the parent thread.
lateral::future
has been removed.
lateral::thread
Adds the new thread model.
lateral::thread::ps2
Moves ps2 keyboard input to this new model.
lateral::thread::queue
Is a structure that allows spawning of internal threads.
lateral::io::logging
Adds a format for fancy kernel logging.
lateral::cpu::interrupt
Was changed to the new kernel logging system.
lateral::cpu::gdt
Adds a stack size parameter for threads.
lateral::alloc::heap
Changes the heap size from 100KiB to 10MB
lateral
(lib.rs) Adds the global thread queue, and a helpful spawn_thread
function.
main
Demonstrates these changes.
Cargo.toml
Updates the version number.
Integrated Features
v0.1.6 - Threads all the way down
Changelogs
lateral::future::task
Introduces the TaskCache
class.
lateral
(lib.rs) Introduces the TASKCACHE
global.
lateral::future::exec
Allows syncing of the TASKCACHE
global.
main
Demonstrates these changes.
Cargo.toml
Updates the version number.
Integrated Features
v0.1.5 - Async Everything
Changelogs
lateral::future
Introduces support for Futures.
lateral::future::task
Introduces tasks.
lateral::future::exec
Allows tasks to execute.
lateral::future::ps2
Introduces async PS/2 keyboard I/O.
lateral::cpu::interrupt
Switches to the new async keyboard interface.
main
Reflects these changes.
Cargo.toml
Adds the crossbeam-queue
, conquer-once
and futures-util
crates required above.
Integrated Features
v0.1 - The Pilot Episode
Changelogs
- The first release of Lateral!
Integrated Features