karina
038219772e
fix(scheduler): yield fixed and dont panic
2026-05-03 12:28:30 +04:00
karina
5ef70cc72d
feat: CPUCleanAndInvalidateCode for future EL0 support
2026-05-03 12:27:47 +04:00
karina
c428097ec6
fix(serial): VMPhysToHHDM
2026-05-03 12:26:46 +04:00
karina
359eaeb405
fix(VMM): use correct APTable encoding for table descriptors
...
fix(VMM): use correct APTable encoding for table descriptors
fix(vmm): changed flags to match ARMv8
2026-05-03 10:47:15 +04:00
karina
a3dc3054b8
build: added -Wno-incompatible-library-redeclaration to kernel cmakelists to disable warning
2026-05-03 00:43:31 +04:00
karina
6dd68f8162
fix: plug memory map leak, save sp_el0, dynamic UART, kill loop
...
- Bootloader: reallocate memory map buffer when ExitBootServices fails,
so GetMemoryMap doesn't scribble past the old allocation on retry.
- vectors.S: actually store sp_el0 into the exception frame. Previously
it was read into x24 and then… vanished. EL0 tasks would wake up with
a corrupted stack pointer. Not great.
- Serial: split hardcoded 0x09000000 into a fallback default; add
SerialUpdate() so the DTB-parsed UART address actually gets used.
- DTB: add bounds check on reserved[] with PMM's 3 extra slots accounted
for, so malformed/overstuffed DTBs don't silently corrupt memory.
- PMM.h: bump kVMMaxReservedRegions 128→256, define kPMMReservedRegionCount.
- Types.h: remove `#define loop while(1)`. while(true) is fine.
- Rename IOSerial* → Serial* — the IO prefix was redundant, Serial.c
already lives under IO/.
2026-05-03 00:32:30 +04:00
karina
7ff9f4ad4c
fix: use rounded bitmap size in VMM kernel mapping calculation
2026-05-02 23:17:09 +04:00
karina
5673c44a99
fix: scheduler L0 table confusion, PMM bitmap rounding, dead task handling
2026-05-02 23:01:40 +04:00
karina
272b9c8998
chore: general cleanup in code (removed unused includes and cosmetic stuff
2026-05-02 22:43:32 +04:00
karina
b519e69fbd
feat(panic): funMessages in panic
...
feat(rand): also implemented rand
2026-04-30 13:10:07 +04:00
karina
e06abbcb23
feat(scheduler): working scheduler
2026-04-29 17:00:11 +04:00
karina
3f51d93a4e
fix(timer): fixed warning about implict casting int to UInt64
2026-04-29 09:35:22 +04:00
karina
f3e60da11d
ref: cleaned debug logs
2026-04-29 08:59:05 +04:00
karina
8d675abae9
fix: changed phyisical timer to virtual timer
2026-04-29 08:56:34 +04:00
karina
7fcb50587e
feat: GICv2 and timer
...
fix: TimerReset in GIC.c now uses kTimerFrequency
2026-04-29 08:49:37 +04:00
karina
7935a6132e
ref: cleaned code a bit
2026-04-27 07:02:56 +04:00
karina
5d010f7fb2
fix(vmm): make MMU bring-up and kernel mappings reliable
2026-04-26 23:41:57 +04:00
karina
b56b55e4b3
feat(arm64): higher-half kernel, early MMU in boot, and VMM
2026-04-26 21:47:41 +04:00
karina
55335013a9
feat: completely functional PMM
2026-04-26 15:12:04 +04:00
karina
785a61b451
feat: DTB now populates VMBootMemoryMap structure.
2026-04-26 13:32:44 +04:00
karina
d0948b9f2b
feat: checking bootinfo magic at the start of the kernel
2026-04-26 10:57:01 +04:00
karina
32931021d2
feat: parsing dtb
2026-04-26 10:51:53 +04:00
karina
f15a146608
wip: dtb;
2026-04-26 10:51:53 +04:00
karina
7d68e78cb2
wip: dtb:
2026-04-26 10:51:53 +04:00
karina
6698c4ab3f
feat: kernel is now elf
2026-04-26 09:32:07 +04:00
karina
716dc37da1
fix: rename types.h to Types.h to fix clang warnings
2026-04-25 11:22:50 +04:00
karina
14912b8067
build: switched to ninja
2026-04-25 10:01:31 +04:00
karina
e49af76aef
ref: renamed types.h to Types.h for match naming convention; also added Align.h and Bytes.h with helpers
2026-04-25 09:56:17 +04:00
karina
b606fa23d0
feat: OSPanic(message)
2026-04-25 06:55:41 +04:00
karina
730d88f9b0
fix: preserve bootinfo pointer in kernel _start
2026-04-25 06:05:46 +04:00
karina
560bdc8b1d
feat: error parse in panic
2026-04-24 18:14:04 +04:00
karina
78dcfdd662
feat: formatter and oslog()
2026-04-24 16:30:02 +04:00
karina
373ee00d04
feat: add kernel exception panic
2026-04-23 23:14:24 +04:00
karina
f469da7e0b
refactor(kernel): minor refactor. Changed naming convention
2026-04-23 22:22:13 +04:00
karina
93bce5a46d
feat(kernel): add vectors.S and Exceptions.h/c as a stub for future exceptions handling
2026-04-23 22:03:18 +04:00
karina
502413b9ab
feat(kernel): add PL011 UART console and arch I/O helpers
...
- Add IOSerial: PL011 (0x0900_0000) TX with FIFO-full polling, yield while waiting
- Add Arch/IO.h (32-bit MMIO with DSB) and Arch/CPU.h (yield, WFI)
- Extend types.h (e.g. ASCII, Address, Int/UInt aliases)
- Wire KernelMain to IOSerialPutString for early boot output
- Drop .sourcekit-lsp config; note IO glob in CMake (commented)
2026-04-23 21:25:15 +04:00
karina
cf142ba78e
fix: clangd
2026-04-23 06:49:40 +04:00
karina
bfa84040b8
wip: bare bones for C in kernel
2026-04-22 23:12:06 +04:00
karina
97538aa098
wip: vectors, panics and lsp fix
2026-04-22 09:32:01 +04:00
karina
7aa49b37f5
chore: compile_commands.json now is at {{TEMP_DIR}}/Kernel instead of Kernel sources
2026-04-21 06:37:34 +04:00
karina
0c1585a169
wip: transfer to laptop
2026-04-20 20:51:47 +04:00
karina
141c5e76d1
build: now SwiftLSP correctly see bootinfo:
2026-04-20 19:29:57 +04:00
karina
8b1105f8e7
fix: added \n to string
2026-04-20 16:34:37 +04:00
sonya
350776d5d1
fix: added arc4random_buf stub
...
this fixes linking error on aarch64
also _seralPutchar was made public to prevent mangling
2026-04-20 21:30:23 +09:00
karina
635052c8dc
feat: added UART support with a basic kprint in kernel
...
wip: DTB
2026-04-20 16:20:31 +04:00
karina
4020bf1b7a
chore: update .gitignore
2026-04-20 14:56:29 +04:00
Karina
aaa1af8e19
Merge pull request #2 from 0xKSor/wip/bridge
...
Added bridging header for swift
2026-04-20 14:54:14 +04:00
sonya
e1b74cd156
Added LSP file auto-generator
...
CMake will auto generate compile-commands.json file to help LSP find
symbols. this file is gitignored and will be regenerated each build
nothing else was changed, should work on any system, but please test
2026-04-20 18:31:27 +09:00
Karina
f9c2fa20f0
fix: swift toolchain path on linux
2026-04-20 11:49:12 +04:00
sonya
f3819a5450
Added bridging header for swift
...
c structures are now exposed to swift using a bridging header.
it is possible to access bootinfo using the structure (as oppossed to doing bytesfifts blind)
tested on aarch64 apple.
please test on other systems
2026-04-20 16:33:41 +09:00