Skip to content
This repository has been archived by the owner on May 20, 2023. It is now read-only.

Releases: egkoppel/popcorn-1

v0.2.0-alpha

10 Jan 15:42
ca26879
Compare
Choose a tag to compare
v0.2.0-alpha Pre-release
Pre-release

What's Changed

Core kernel changelog:

  • Remove rust completely from the codebase
  • Switch away from STLPort to custom C++20 semi-compatible STL
  • Switch to CMake
  • Add the beginnings of documentation
  • Try and reduce arch specific dependency
  • Add C++ exceptions
  • Add proper error handling and type-safety
  • Massivley overhaul memory management and paging
    • Add RAII based memory handles
    • Add refcounting of allocated frames to allow for shared memory in future
    • Add RAII based page tables
  • Add support for .tbss for CPU local variables
  • Add proper logging system
  • Add support for compiling with UBSan
  • Improve ACPI and APIC support
  • Scheduler overhaul

amd64 changelog:

  • Fix the TSS to make it actually be loaded
  • Overhaul IDT

Full Changelog: v0.0.1-alpha...v0.2.0-alpha

Known bugs

  • Crashes during boot if UBSan is disabled

First release

13 Oct 16:59
c53ea1e
Compare
Choose a tag to compare
First release Pre-release
Pre-release

First release
It boots!
Other than that it's completely useless
But it doesn't crash anymore

Current abilities:

  • Boot into long mode
  • Parse APIC tables and boot other cores
  • Preemptive round-robin scheduling on a single core
  • Switches to userspace and starts unfinished core services

System requirements:

  • x86_64 processor
  • Some amount of memory
  • At least a 480p screen or something
  • 0GiB of disk space (hugOS does not yet support the disk)