Commit Graph

127 Commits

Author SHA1 Message Date
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
nullndvoid 2fb1741100 Begin setting up stack unwinding/tracing.
This actually worked so I am chuffed, but it doesn't read the necessary
DWARF structures just yet. Still a good step forwards.
2025-03-05 20:44:09 +00:00
nullndvoid af995d1d76 Tried and failed to use unwinding crate: shall do it myself tomorrow. 2025-03-05 03:24:26 +00:00
nullndvoid 014ec5310c Some more clippy fixes, warnings are noisy 2025-03-05 00:57:06 +00:00
nullndvoid d53661b9a0 Ran cargo fmt, clippy fixes, suppressed some warns
I will start working on stack traces tonight and tomorrow.

We need to be able to 'unwind' by finding calling functions.
2025-03-04 23:06:47 +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
nullndvoid 6e913b15d7 Update macro to use relative working dirs, Spans 2025-03-03 15:57:16 +00:00
nullndvoid 0a5269eeb0 Fix clippy errors 2025-03-03 15:51:39 +00:00
zxq5 a0f5ce8797 reorganised memory. starting on threads 2025-03-03 15:50:58 +00:00
nullndvoid 2d3bc56962 Fix some clippy errors 2025-03-03 14:53:30 +00:00
nullndvoid 5703032f87 Fix module inception 2025-03-03 14:47:24 +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
nullndvoid 53d325749d Fix incorrect target name in config 2025-02-28 16:15:26 +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
nullndvoid 2915d0c879 Add tips on debugging/disassembling kernel sources 2025-02-27 23:32:05 +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
nullndvoid b7397d8a1b Remove unused clippy lints 2025-02-25 03:20:05 +00:00
nullndvoid 4fe6109e5b Rename scheduling to 'async_io', general cleanup 2025-02-25 03:18:12 +00:00
nullndvoid e294a13a91 Cleanup the README a little more 2025-02-25 02:59:55 +00:00
nullndvoid 752800a3ca Merge UEFI support for qemu into our runner scripts/build system 2025-02-25 02:56:48 +00:00
nullndvoid 177fddcf7d Add warnings to hardware script (dd implies 'doubly dangerous') 2025-02-25 02:55:52 +00:00
nullndvoid 375c5aa561 Update limine.conf to boot up faster 2025-02-25 02:54:19 +00:00
nullndvoid b945416665 Add qemu UEFI firmware support. 2025-02-25 02:53:28 +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 00d3a1de72 fb: Added support for typing backspaces. 2025-02-24 23:24:03 +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
nullndvoid 1c147dd933 Ban module inception, this is annoying.
@zxq5 thoughts?
2025-02-24 15:34:29 +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
nullndvoid 39f1f4905d Ban mod.rs. 2025-02-24 15:29:39 +00:00