nullndvoid
b26dc6de01
Wrote stack unwinder. NEEDTO: fix NoUnwindInfo
...
Probably incorrect PC was set.
2025-03-05 22:21:38 +00:00
zxq5
ef70bcf51e
- heap allocator now makes sure virtual memory pages are mapped before using them. this means we no longer have to use page faults to allocate frames, it is done automatically.
...
- fixed the apic code that caused a page fault. it now writes the correct values at the correct physical address
- improved startup logging including displaying how much RAM is installed.
2025-03-05 20:49:21 +00:00
nullndvoid
2d3bc56962
Fix some clippy errors
2025-03-03 14:53:30 +00:00
zxq5
3966e697da
refactor mega-commit.
...
- reorganised the entire project so that the entire kernel is a single codebase rather than a kernel and a libk.
2025-03-03 02:49:56 +00:00
zxq5
8a3e9e3afc
- implemented a custom allocator (fixed size block) with a fallback (linked list allocator) for larger block sizes
...
- apic code still not working (commented out, check lib.rs)
2025-02-28 04:18:35 +00:00
zxq5
c8bb85364c
- updated to-dos
...
- removed unnecessary debugging code
- moved x86_64-kernel.json to the project root
2025-02-28 03:05:10 +00:00
zxq5
fe18004f7d
Merge remote-tracking branch 'origin' into editor
...
merging into dev
2025-02-27 23:58:01 +00:00
zxq5
192100be7a
changed page allocation to happen on page fault for performance reasons
2025-02-27 23:57:23 +00:00
zxq5
3b6e272fd2
not working
2025-02-27 01:16:07 +00:00
nullndvoid
4fe6109e5b
Rename scheduling to 'async_io', general cleanup
2025-02-25 03:18:12 +00:00
zxq5
27ee8226d8
implemented stdin methods for reading a string (async) and reading keystrokes (sync + async). added a very basic shell on top of it for debugging
2025-02-25 02:16:01 +00:00
nullndvoid
8d57540566
Fix clippy errors
2025-02-24 15:02:44 +00:00
zxq5
d9bbdff08c
- added a new libary libm containing procedural macros for the kernel.
...
these should be used to include external files and resources in the kernel binary
at compile time.
- libm currently supports loading psf-1 formatted fonts
- added two fonts that are included in the binary at compile time
- refactored libk to make the crate structure more organised and maintainable in future.
new structure:
- drivers (hardware interaction)
- resources (consts and statics included either manually or via macros)
- std (standard functions for higher level interaction with the os, for example creating windows)
- added geometry.rs
- provides the Vec2<T> struct for use with dimensions, coordinates etc.
- added window.rs
- provides the Window struct for rendering the state of an application to the screen
- added application.rs
- provides the Application trait for custom programs to implement in order to run
2025-02-24 03:26:49 +00:00
zxq5
7ff33659fe
async works!
2025-02-23 19:27:13 +00:00
nullndvoid
b8aa203c05
Bump edition to now stable 2024 edition (shiny!).
2025-02-23 11:52:54 +00:00
nullndvoid
43b1db41ca
Introducing the hottest library crate in town (libk!)
2025-02-23 04:43:22 +00:00
nullndvoid
e722874cee
Formatting and fixing warnings
2025-02-23 01:38:21 +00:00
zxq5
27b0ed634c
setup but not working
2025-02-22 23:12:46 +00:00
zxq5
f9bc75c4f3
added boot messages
2025-02-22 21:30:13 +00:00
zxq5
361c67764d
totally didn't import an allocator...
2025-02-22 21:02:29 +00:00
zxq5
28afe25cca
check boot was successful else panic
Continuous integration / build (push) Has been cancelled
2025-02-22 03:52:32 +00:00
zxq5
5b1f04c1da
changed some code order
Continuous integration / build (push) Has been cancelled
2025-02-22 03:47:54 +00:00
zxq5
bb5bf9115b
fixed weird merge issues
Continuous integration / build (push) Has been cancelled
2025-02-22 03:29:33 +00:00
zxq5
2ee21dea05
did interrupts stuff
2025-02-22 03:19:05 +00:00
nullndvoid
f5f5aeb8dc
Formatting changes, called 'cargo fmt'
Continuous integration / build (push) Has been cancelled
2025-02-22 03:09:46 +00:00
zxq5
1b313c67e0
first interrupt handler + setup IDT
2025-02-22 01:06:55 +00:00
zxq5
f0e25c7a5d
started work on lib_application - progress limited as requires alloc support to make further progress
2025-02-21 16:13:06 +00:00
zxq5
34b960c20a
println works
2025-02-20 22:59:24 +00:00
zxq5
60efcf39b6
started setting up support for C code in the kernel
2025-02-20 17:13:40 +00:00
zxq5
294e6f0e33
created example lib for sake of testing
2025-02-20 15:52:42 +00:00
zxq5
2f0e09b9bc
it compiles!
2025-02-20 02:47:18 +00:00
zxq5
0df671c3fc
started setting up
2025-02-19 16:49:10 +00:00