comments
This commit is contained in:
12
README.md
12
README.md
@ -9,11 +9,11 @@ Changes
|
||||
- Removed the Input.h/Input.cc files
|
||||
- Made device classes singletons
|
||||
- Changed the multitasking assembly (use stack instead of thread_state)
|
||||
- Extensive changes to the scheduling:
|
||||
- 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
|
||||
- Threads are addressed by tid
|
||||
- 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
|
||||
@ -22,14 +22,14 @@ 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 demo
|
||||
- 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
|
||||
- Basic implementation of fixed size array (just a wrapper for C-style arrays)
|
||||
|
||||
Bugs
|
||||
======================================
|
||||
- Can't exit the PCSPKdemo
|
||||
- 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
|
||||
|
@ -74,22 +74,21 @@ CXX ?= g++
|
||||
# CC = clang
|
||||
# CXX = clang++
|
||||
|
||||
# Separate these as they are not compatible with clang14
|
||||
EMPTY :=
|
||||
GCC = gcc
|
||||
ifeq ($(CXX),$(GCC))
|
||||
# Separate these as they are not compatible with clang14
|
||||
EXTRAFLAGS = -mmanual-endbr -mpreferred-stack-boundary=2
|
||||
else
|
||||
EXTRAFLAGS = $(EMPTY)
|
||||
endif
|
||||
|
||||
|
||||
# NOTE: In some cases I needed O1/O0 to allow paging/bluescreen to work (We need the ebp on the stack)
|
||||
# I don't know why but right now it works with O2
|
||||
# NOTE: Need -O0 to allow paging/bluescreen to work (We need the ebp on the stack)
|
||||
CFLAGS := $(CFLAGS) -O0 -m32 -march=i486 -Wall -fno-stack-protector -nostdlib -I. -g -ffreestanding -fno-pie -fno-pic -Wno-write-strings -mno-sse -mno-sse2 $(EXTRAFLAGS)
|
||||
|
||||
# I added -std=c++17 for if constexpr, but it isn't necessary for anything critical (I think?)
|
||||
# -std=c++20 is needed for template concepts and optional references, but we don't have it available :(
|
||||
# NOTE: -std=c++17 for if constexpr and probably some other stuff
|
||||
# -std=c++20 is needed for template concepts and optional references, but we don't have it available :(
|
||||
CXXFLAGS := $(CFLAGS) -Wno-non-virtual-dtor -fno-threadsafe-statics -fno-use-cxa-atexit -fno-rtti -fno-exceptions -std=c++17
|
||||
|
||||
BOOT = ../boot
|
||||
|
Reference in New Issue
Block a user