Commit Graph

32 Commits

Author SHA1 Message Date
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