SchOS/kernel/drivers
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nexoniarz fe32833ade display: a 64-bit framebuffer address, no mirroring onto itself
Three fixes for real machines that broke at any resolution but 800x600:

- kmain() took the loader's framebuffer address as uint32, and
  vga_fb_init() re-published the scanout from that and the 16-bit VBE
  block. An aperture above 4 GB moved the console onto the wrong memory
  right after the vga: line. Both now use the loader's 64-bit display
  block, mapped with ioremap().
- The loader mirrored onto the console splitter's GOP, which forwards to
  the primary itself, and onto GOPs that share the primary's aperture.
  After a mode change that rewrote the screen over itself with another
  mode's stride. Handles without a device path and overlapping apertures
  are skipped, and a mode change re-matches the remaining mirrors.
- A mode whose reported size, stride or aperture does not add up after
  SetMode is refused, and the loader returns to the previous one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S1giNvrHTrPMPw7V6x1kQ4
2026-10-23 15:46:42 +02:00
..
audio include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
bus/xhci include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
gpu display: a 64-bit framebuffer address, no mirroring onto itself 2026-10-23 15:46:42 +02:00
net include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
storage include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
usb include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00
registry.c include: one folder per subsystem, and includes that name it 2026-10-23 15:05:12 +02:00