Skip to content

Releases: carterisonline/lateral

v0.1.8 - It's about time

17 Jul 18:38
Compare
Choose a tag to compare
Pre-release

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

Feature Included
Asynchronous Interrupts
  • Asynchronous Paging
  • CPU Interrupts
  • Embedded Modules
  • Filesystem
  • Global Allocator
  • Heap Allocator
  • Internal Multithreading
  • Memory Paging
  • QEMU Integration
  • Serial Output
  • VGA Output
  • Video Display Adapter
  • v0.1.7 - More than enough threads

    16 Jul 17:56
    Compare
    Choose a tag to compare
    Pre-release

    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

    Feature Included
    Asynchronous Interrupts
  • Asynchronous Paging
  • CPU Interrupts
  • Embedded Modules
  • Filesystem
  • Global Allocator
  • Heap Allocator
  • Internal Multithreading
  • Memory Paging
  • QEMU Integration
  • Serial Output
  • VGA Output
  • Video Display Adapter
  • v0.1.6 - Threads all the way down

    29 Jun 21:21
    Compare
    Choose a tag to compare
    Pre-release

    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

    Feature Included
    Asynchronous Interrupts
  • Asynchronous Paging
  • CPU Interrupts
  • Embedded Modules
  • Filesystem
  • Global Allocator
  • Heap Allocator
  • Internal Multithreading
  • Memory Paging
  • QEMU Integration
  • Serial Output
  • VGA Output
  • Video Display Adapter
  • v0.1.5 - Async Everything

    29 Jun 00:40
    Compare
    Choose a tag to compare
    Pre-release

    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

    Feature Included
    Asynchronous Interrupts
  • Asynchronous Paging
  • CPU Interrupts
  • Embedded Modules
  • Filesystem
  • Global Allocator
  • Heap Allocator
  • Memory Paging
  • QEMU Integration
  • Serial Output
  • VGA Output
  • Video Display Adapter
  • v0.1 - The Pilot Episode

    28 Jun 20:24
    Compare
    Choose a tag to compare
    Pre-release

    Changelogs

    • The first release of Lateral!

    Integrated Features

    Feature Included
    Asynchronous Interrupts
  • Asynchronous Paging
  • CPU Interrupts
  • Embedded Modules
  • Filesystem
  • Global Allocator
  • Heap Allocator
  • Memory Paging
  • QEMU Integration
  • Serial Output
  • VGA Output
  • Video Display Adapter