nullndvoid
f197149d80
Forced unwind tables - still bugged
2025-03-06 01:01:04 +00:00
nullndvoid
bc51f3ec43
Force rustc to generate unwind-tables - infinite loop :(
2025-03-05 22:37:19 +00:00
nullndvoid
b26dc6de01
Wrote stack unwinder. NEEDTO: fix NoUnwindInfo
...
Probably incorrect PC was set.
2025-03-05 22:21:38 +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
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
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
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
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
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
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
nullndvoid
39f1f4905d
Ban mod.rs.
2025-02-24 15:29:39 +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
c763f512f1
Accidentally forgot to add lib alloc lol
2025-02-23 03:16:22 +00:00
nullndvoid
5dc73e7000
Update Cargo.toml to use new registry
2025-02-23 03:15:19 +00:00
nullndvoid
c2c552ef25
Fixed most of the clippy warnings/suggestions.
2025-02-23 02:05:13 +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
36cb118933
paging done, starting on allocation.
Continuous integration / build (push) Failing after 1m51s
2025-02-22 16:56:01 +00:00