8 Commits

Author SHA1 Message Date
karina 2c7396353c Readme and license 2026-05-03 13:05:55 +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 272b9c8998 chore: general cleanup in code (removed unused includes and cosmetic stuff 2026-05-02 22:43:32 +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 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