1
2022-07-23 14:33:51 +02:00
2022-07-23 14:33:23 +02:00
2022-07-23 14:33:51 +02:00
2022-07-22 18:11:31 +02:00
2022-07-22 18:11:31 +02:00
2022-07-04 11:23:15 +02:00
2022-07-04 11:31:17 +02:00
2022-07-19 12:17:17 +02:00
2022-07-22 18:11:56 +02:00
2022-07-22 22:34:52 +02:00

Makefile

  • Added the -std=c++17 flag to enable better constexpr support.
  • Removed optimizations as the system would crash with them. The BlueScreen would show an empty callstack on crashes with -O2 so I guess the problem is the missing ebp or something like that.

Changes

  • Removed the Input.h/Input.cc files
  • Made device classes singletons
  • Changed the multitasking assembly (use stack instead of thread_state)
  • Many changes to the scheduler (strategy is still round robin):
    • Merged dispatcher into the scheduler
    • Scheduler no longer uses queue but vector
    • Scheduler owns threads (no outside references)
    • Threads are addressed by tid from the outside
    • Threads are deallocated automatically when killed/exited
    • Retrieve threads from the scheduler without deallocation
    • Scheduler manages blocked threads

Additions

  • Some stream manipulators for CGA_Stream (color) and OutStream (fixed width)
  • Logging class with support for colored serial port output
  • Main menu to start demos
  • A very basic system to broadcast keyboard events to threads
  • Basic implementation of vector with iterator support
  • Basic implementation of unique_ptr
  • Basic implementation of fixed size array (just a wrapper for C-style arrays)

Bugs

  • Can't exit the PCSPKdemo (bluescreen)
  • Random bluescreens that are hard to pinpoint
  • Tree Allocator (uses a red black tree to find best-fit blocks) crashes when freelist root is removed
Description
No description provided
Readme 734 KiB
Languages
C++ 94.7%
Assembly 2.5%
C 1.3%
Makefile 1.1%
Nix 0.4%