Releases: Mrgoblings/AnasOS
Release v0.4.0
Referenced issue
Resolves #26
Description
Adds an executor to collect all the async tasks.
The keyboard is moved to its own task.
Breaking change?
Is the change you are introducing going to affect already other existing resources?
- No, this code change does not affect other project resources.
- Yes, the code changes modify already existing project resources.
Additional context
Release v0.3.0
Referenced issue
Resolves #5
Resolves #23
Resolves #25
Description
adds paging memory, allows dynamic memory.
Adds logo for the AnasOS
Breaking change?
Is the change you are introducing going to affect already other existing resources?
- No, this code change does not affect other project resources.
- Yes, the code changes modify already existing project resources.
Additional context
this took 1 month
Release v0.2.0
Referenced issue
Resolves #19
Description
The following interrupts are handled:
-
Breakpoint Exception:
- Handler:
breakpoint_handler
- Interrupt Vector: Typically interrupt vector 3 (0x03)
- Handler:
-
Double Fault Exception:
- Handler:
double_fault_handler
- Interrupt Vector: Typically interrupt vector 8 (0x08)
- Handler:
-
Timer Interrupt:
- Handler:
timer_interrupt_handler
- Interrupt Vector:
InterruptIndex::Timer
which isPIC_1_OFFSET
(32)
- Handler:
-
Keyboard Interrupt:
- Handler:
keyboard_interrupt_handler
- Interrupt Vector:
InterruptIndex::Keyboard
which isPIC_1_OFFSET + 1
(33)
- Handler:
Summary of Handled Interrupts:
- Breakpoint Exception:
breakpoint_handler
- Double Fault Exception:
double_fault_handler
- Timer Interrupt:
timer_interrupt_handler
- Keyboard Interrupt:
keyboard_interrupt_handler
Breaking change?
Is the change you are introducing going to affect already other existing resources?
- No, this code change does not affect other project resources.
- Yes, the code changes modify already existing project resources.
Additional context
The Global Descriptor Table (GDT) and Task State Segment (TSS) have been set up. The GDT is initialized with entries for the kernel code segment and the TSS, which includes a stack for handling double faults. The init
function loads the GDT and TSS, ensuring that the CPU can correctly handle segmentation and task switching, particularly for critical exceptions like double faults.
Release v0.1.1
Referenced issue
References #18
Description
Adds documentation for the Bootloader, the Kernel, VGA, CI Github Actions and Multiboot
Breaking change?
Is the change you are introducing going to affect already other existing resources?
- No, this code change does not affect other project resources.
- Yes, the code changes modify already existing project resources.
Release v0.1.0
Referenced issue
Resolves #16
Resolves #15
Resolves #14
Resolves #9
References #5
Description
Implements Video Graphics Array (VGA) support and ensures correct booting into 64-bit operating mode.
Root Cause (if fixing a bug)
The bootloader failed to initiate a jump to 64-bit operating mode as expected, causing it to operate incorrectly in 64-bit mode.
Breaking change?
Is the change you are introducing going to affect already other existing resources?
- No, this code change does not affect other project resources.
- Yes, the code changes modify already existing project resources.
Additional context
The build process has been simplified to use cargo build instead of cargo rustc, enhancing ease of use. Rust’s core print macros are now fully operational.