All notable changes to this project will be documented in this file. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Documentation for existing Code
- Spinlock Support
- Remove
make doc
functionality. - Removal of unused linker sections
- Removal of code to handle c++ ctors (we're not using them)
- Rewrite of docs/ subdirectory
- Rewrite of linker files (Fixes gcc warning)
- Move "modules" & "drivers" sections to ".modules" & ".drivers" respectively
0.0.5 - 2022-09-10
- Raspberry Pi 4 Support (In Progress)
- Driver Subsystem
- Resource Management API
- CircleCI Artifacts and Releases
- Serial driver (16550) rewrite
- Change existing driver code to be platform agnostic
- Makefile Changes to facilitate multi-arch
- Markdown to HTML Generation with
markdown
instead ofpandoc
- x86 IDT code working properly
0.0.4 - 2022-07-30
- Fancy VGA support (8x8 Font)
- iso creation in makefile
- kmain() Now displays system information
debug=y
parsing turns on kernel debugging messages
- HAL:
get_num_processors()
now reports 1 as default - Standardized naming of kernel (always kernel.mod now)
- VGA Console code cleanup
- IDT Triple fault fix
- pre-compiled binaries and images from bin/ directory
0.0.3 - 2022-04-30
- ipxe iso image
- Kconfig files
- Modular Makefile system
- Qemu-specific shutdown driver
- Shutdown function in HAL
- Rewrote Multiboot code
- Modified Code Struture
- Changed build system entirely
0.0.2 - 2018-12-12
- MIT License tag for README.md
- Testing autoload just like modules
- Tests for Ringbuffer and Interrupts
- Menu for iPXE boot
- Moved Testing into a seperate directory
- Testing is seamlessly ran now thanks to core/testing.c and macro magic
- Changelog spec to 1.0.0 from 0.3.0. (Visibility changes)
0.0.1 - 2018-12-08
- Semantic Versioning starting at 0.0.1
- This CHANGELOG file
- CONTRIBUTING.md for contributors to follow our guides
0.0.0 - Before 2018-12-08
This is documenting the state of the kernel before CHANGELOG was implemented
- Makefile system that allows for multiple platforms and targets
- x86 target for kernel
- Drivers for PIC, PIT, UARTS, and a VGA Text Console
- Modules for Interrupts, the GDT, and I/O ports
- hosted target for kernel
- Driver for Text Console
- Core System
- Module auto loading system
- Hardware Abstraction Layer API declaration
- Console Driver
- Testing System implemented by port of Unity
- Standard Library
- Implemented most of
string.c
- Implemented
printf()
,putchar()
, andputs()
from stdio
- Implemented most of
- Abstract Data Types
- Ring Buffer