84 Commits
Author SHA1 Message Date
zxq5 ecdc76b068 Merge remote-tracking branch 'origin' into unified 2025-03-06 01:18:43 +00:00
zxq5 8ee4af1a48 someone broke a mod.rs so i fixed it. 2025-03-05 21:10:36 +00:00
zxq5 03c07cb5c4 Merging with origin/unified 2025-03-05 21:04:58 +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
zxq5 8704b5d249 FIXED THE APIC HELL YEAH 2025-03-04 12:44:42 +00:00
zxq5 2186b829aa - made improvements to memory code (refactored)
- started on improvements to the page frame allocator. it should be able to provide a usable page for any given virtual memory address requested.
2025-03-04 01:28:39 +00:00
zxq5 f502104a6e changes 2025-03-04 00:53:38 +00:00
zxq5 48dcde0c02 minor changes & work on threading 2025-03-04 00:53:06 +00:00
zxq5 a0f5ce8797 reorganised memory. starting on threads 2025-03-03 15:50:58 +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 e38c20dbd3 Merge pull request 'editor' (#6) from editor into dev
Reviewed-on: OsDev/FoundryOS#6
2025-02-28 03:05:38 +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 9852cb14eb updated build scripts 2025-02-27 22:58:10 +00:00
zxq5 db8dbff9f2 added memory allocation flag to run command ``VM_MEMORY=<amount>G cargo run`` 2025-02-27 21:57:58 +00:00
zxq5 2178215a01 fixed triple fault 2025-02-27 16:52:31 +00:00
zxq5 821759ec63 apic broken pushing to debug 2025-02-27 16:19:43 +00:00
zxq5 0b3dbed4be updated documentation 2025-02-27 02:30:48 +00:00
zxq5 3b6e272fd2 not working 2025-02-27 01:16:07 +00:00
zxq5 ac0b47a45c merge 2025-02-26 04:00:00 +00:00
zxq5 15f59e68d5 initial apic implementaion (Commented out / NOT WORKING) 2025-02-26 03:48:11 +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
zxq5 f7723a3944 making the keyboard module more flexible, still needs work 2025-02-24 18:24:21 +00:00
zxq5 438ef7a748 stop banning mod.rs 2025-02-24 16:30:38 +00:00
zxq5 2f7ab8fe6b Merge remote-tracking branch 'refs/remotes/origin/dev' into dev 2025-02-24 16:29:58 +00:00
zxq5 ca1c695e32 created stdio module, added hardware script 2025-02-24 16:28:56 +00:00
zxq5 1c22f89665 reverted dumb change 2025-02-24 15:34:46 +00:00
zxq5 91044f5fad merged dumb change 2025-02-24 15:33:59 +00:00
zxq5 d5b15826e2 adding std io idk 2025-02-24 15:33:42 +00:00
zxq5 e303ecf5a4 fixed merge commit tomfoolery. 2025-02-24 15:14:21 +00:00
zxq5 2f08835d69 merge commit. probably broken tbh 2025-02-24 15:10:58 +00:00
zxq5 03290e52a3 fixed a dumb error about me hardcoding paths 2025-02-24 13:07:11 +00:00
zxq5 8908a6a281 Update README.md 2025-02-24 03:45:02 +00:00
zxq5 aefc368d41 updated readme for more comprehensive build instructions 2025-02-24 03:44:22 +00:00
zxq5 76ec29b7ec changed #usage back to being a tag
(was not a markdown fail, it's an obsidian tag)
2025-02-24 03:36:28 +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
zxq5 efe3034ad0 Merge pull request 'libk now replaces the plethora of lib crates' (#5) from nullndvoid/FoundryOS:dev into dev
Reviewed-on: OsDev/FoundryOS#5
2025-02-23 17:07:25 +00:00
zxq5 27b0ed634c setup but not working 2025-02-22 23:12:46 +00:00
zxq5 72fe78cbc6 Merge pull request 'dev' (#4) from dev into main
Continuous integration / build (push) Failing after 2m12s
Reviewed-on: OsDev/FoundryOS#4
2025-02-22 21:32:27 +00:00
zxq5 f9bc75c4f3 added boot messages 2025-02-22 21:30:13 +00:00
zxq5 494d00c53b Update .gitea/workflows/rust.yml 2025-02-22 21:18:14 +00:00
zxq5 114c70ffe9 updated submodules
Continuous integration / build (push) Failing after 2m7s
2025-02-22 21:03:17 +00:00
zxq5 361c67764d totally didn't import an allocator... 2025-02-22 21:02:29 +00:00
zxq5 36cb118933 paging done, starting on allocation.
Continuous integration / build (push) Failing after 1m51s
2025-02-22 16:56:01 +00:00
zxq5 7b3ba170f0 changes to submodules
Continuous integration / build (push) Failing after 1m56s
2025-02-22 15:43:06 +00:00
zxq5 49880fa9d7 Merge remote-tracking branch 'refs/remotes/origin/dev' into dev
merging into dev
2025-02-22 15:41:54 +00:00
zxq5 0bbbf653f8 setup GDT & fixed a deadlock 2025-02-22 15:41:41 +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 90faace7a2 changed name to snake case
Continuous integration / build (push) Has been cancelled
2025-02-22 03:50:13 +00:00
zxq5 5b1f04c1da changed some code order
Continuous integration / build (push) Has been cancelled
2025-02-22 03:47:54 +00:00
zxq5 3a232c8023 Merge remote-tracking branch 'refs/remotes/origin/dev' into dev (and add cargo fmt on save)
Continuous integration / build (push) Has been cancelled
2025-02-22 03:39:22 +00:00
zxq5 5eaf0d7c69 Merge remote-tracking branch 'refs/remotes/origin/dev' into dev
Continuous integration / build (push) Has been cancelled
2025-02-22 03:36:32 +00:00
zxq5 b4d0b05e13 updated submodule 2025-02-22 03:35:02 +00:00
zxq5 5c9717d384 cargo fmt
Continuous integration / build (push) Has been cancelled
2025-02-22 03:33:19 +00:00
zxq5 bb5bf9115b fixed weird merge issues
Continuous integration / build (push) Has been cancelled
2025-02-22 03:29:33 +00:00
zxq5 ae82e9c24b idk 2025-02-22 03:27:08 +00:00
zxq5 ab0ec35094 updated submodules
Continuous integration / build (push) Has been cancelled
2025-02-22 03:24:48 +00:00
zxq5 2ee21dea05 did interrupts stuff 2025-02-22 03:19:05 +00:00
zxq5 d12160c5d0 setup TSS 2025-02-22 03:16:13 +00:00
zxq5 a88059c5ff workflow builds nightly
Continuous integration / build (push) Has been cancelled
2025-02-22 02:13:38 +00:00
zxq5 68c3d2fa0e workflow changes
Continuous integration / build (push) Failing after 1m37s
2025-02-22 01:55:36 +00:00
zxq5 af3215d887 changed order of steps in rust.yml
Continuous integration / build (push) Failing after 23m3s
2025-02-22 01:28:31 +00:00
zxq5 11d63535e9 added submodule cloning to rust.yml
Continuous integration / build (push) Has been cancelled
2025-02-22 01:27:08 +00:00
zxq5 ee8dae4981 added rust.yml workflow, probably wont work.
Continuous integration / build (push) Failing after 7m45s
2025-02-22 01:12:15 +00:00
zxq5 650f34f354 removed redundant script 2025-02-22 01:08:07 +00:00
zxq5 1b313c67e0 first interrupt handler + setup IDT 2025-02-22 01:06:55 +00:00
zxq5 cb77883f4c done 2025-02-22 01:06:27 +00:00
zxq5 16d94f37cb moving libs to submodules 2025-02-22 01:05:18 +00:00
zxq5 d9f6b4b69a e 2025-02-22 00:58:51 +00:00
zxq5 cc56dc8072 idk 2025-02-22 00:58:40 +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 e626a3bcf2 working on colour support 2025-02-21 16:13:27 +00:00
zxq5 34b960c20a println works 2025-02-20 22:59:24 +00:00
zxq5 ee8de361dc Merge remote-tracking branch 'refs/remotes/origin/dev' into dev
merge
2025-02-20 17:13:57 +00:00
zxq5 60efcf39b6 started setting up support for C code in the kernel 2025-02-20 17:13:40 +00:00
zxq5 b028a97a44 vscode workspace setup 2025-02-20 17:12:25 +00:00
zxq5 294e6f0e33 created example lib for sake of testing 2025-02-20 15:52:42 +00:00
zxq5 76f070af8b idk 2025-02-20 02:54:01 +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
zxq5 501d1ac494 Initial commit 2025-02-17 23:46:23 +00:00