c06425949a
Merge remote-tracking branch 'refs/remotes/origin/unified' into unified
zxq52025-03-06 01:21:02 +00:00
ecdc76b068
Merge remote-tracking branch 'origin' into unified
dev
zxq52025-03-06 01:18:43 +00:00
f197149d80
Forced unwind tables - still bugged
nullndvoid2025-03-06 01:01:04 +00:00
bc51f3ec43
Force rustc to generate unwind-tables - infinite loop :(
nullndvoid2025-03-05 22:37:19 +00:00
b26dc6de01
Wrote stack unwinder. NEEDTO: fix NoUnwindInfo
nullndvoid2025-03-05 22:21:38 +00:00
8ee4af1a48
someone broke a mod.rs so i fixed it.
zxq52025-03-05 21:10:36 +00:00
03c07cb5c4
Merging with origin/unified
zxq52025-03-05 21:04:58 +00:00
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.
zxq52025-03-05 20:49:21 +00:00
2fb1741100
Begin setting up stack unwinding/tracing.
nullndvoid2025-03-05 20:44:09 +00:00
af995d1d76
Tried and failed to use unwinding crate: shall do it myself tomorrow.
nullndvoid2025-03-05 03:24:26 +00:00
014ec5310c
Some more clippy fixes, warnings are noisy
nullndvoid2025-03-05 00:57:06 +00:00
d53661b9a0
Ran cargo fmt, clippy fixes, suppressed some warns
nullndvoid2025-03-04 23:06:47 +00:00
8704b5d249
FIXED THE APIC HELL YEAH
zxq52025-03-04 12:44:42 +00:00
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.
zxq52025-03-04 01:28:39 +00:00
3966e697da
refactor mega-commit. - reorganised the entire project so that the entire kernel is a single codebase rather than a kernel and a libk.
zxq52025-03-03 02:49:56 +00:00
e8237f4610
run_debug.sh now checks if it running on wsl and disables boot_flags if it is since it was causing issues with qemu
aha480
2025-03-01 12:49:42 +00:00
4bad44e475
Supressed clippy errors and add some rust docs
nullndvoid2025-02-28 21:12:41 +00:00
096a66adbb
Start refactoring code. No rush to merge anything.
nullndvoid2025-02-28 17:21:44 +00:00
53d325749d
Fix incorrect target name in config
nullndvoid2025-02-28 16:15:26 +00:00
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)
zxq52025-02-28 04:18:35 +00:00
e38c20dbd3
Merge pull request 'editor' (#6) from editor into dev
zxq52025-02-28 03:05:38 +00:00
c8bb85364c
- updated to-dos - removed unnecessary debugging code - moved x86_64-kernel.json to the project root
zxq52025-02-28 03:05:10 +00:00
92fe618a99
Megacommit to move some memory code into kernel crate
pmm
nullndvoid2025-02-28 02:13:50 +00:00
fe18004f7d
Merge remote-tracking branch 'origin' into editor merging into dev
zxq52025-02-27 23:58:01 +00:00
192100be7a
changed page allocation to happen on page fault for performance reasons
zxq52025-02-27 23:57:23 +00:00
2915d0c879
Add tips on debugging/disassembling kernel sources
nullndvoid2025-02-27 23:32:05 +00:00
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
zxq52025-02-25 02:16:01 +00:00
00d3a1de72
fb: Added support for typing backspaces.
nullndvoid2025-02-24 23:24:03 +00:00
f7723a3944
making the keyboard module more flexible, still needs work
zxq52025-02-24 18:24:21 +00:00
aefc368d41
updated readme for more comprehensive build instructions
zxq52025-02-24 03:44:22 +00:00
76ec29b7ec
changed #usage back to being a tag
zxq52025-02-24 03:36:28 +00:00
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
zxq52025-02-24 03:26:49 +00:00
efe3034ad0
Merge pull request 'libk now replaces the plethora of lib crates' (#5) from nullndvoid/FoundryOS:dev into dev
zxq52025-02-23 17:07:25 +00:00
d9b66f8008
Update README to remove refs to submodules.
nullndvoid2025-02-23 12:06:50 +00:00