feature: mirror all diagnostics to syslog, add VESA fallback for gfxd crashes
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing

- syslogDump now outputs all five diagnostic sections (Fault Info,
  CPU Registers, Process Info, System Info, Call Stack) to serial,
  matching the on-screen BSOD content
- panic() detects if the crash occurred in the gfxd process and
  falls back to rendering the BSOD directly to the VESA framebuffer
  via driver.video text drawing, bypassing LVGL entirely
- Add DrawChar, DrawString, DrawHex, DrawInt to driver.video for
  8x16 bitmap font rendering directly to the framebuffer
- Export SHOULD_CRASH flag from svc.gfxd interface so test commands
  can trigger a deliberate gfxd crash
- Add app.divzero with DIV0, PF, and CRASHGFXD test commands
- Update doc/src/core/core.panic.md and doc/src/driver/video/driver.video.md
This commit is contained in:
t3hn3rd committed 2026-03-10 12:35:22 +00:00
1 parent 97b4460c48
commit aa28d62e03
7 files changed
+444 -11

No files matched your search

+10
View File
@@ -13,6 +13,10 @@ unit svc.gfxd;
interface
var
SHOULD_CRASH : boolean; { set to true to intentionally trigger a crash for testing purposes }
procedure init;
implementation
@@ -56,6 +60,12 @@ begin
lvgl_handler;
driver.video.Flush;
end;
if SHOULD_CRASH then begin
asm
XOR EAX, EAX
DIV EAX { this will trigger a divide by zero exception (interrupt 0) }
end;
end;
end;
end;