]> Projects (at) Tadryanom (dot) Me - AdrOS.git/commit
fix: restore immediate VGA flush in vga_write_buf to fix ring3 display hang
authorTulio A M Mendes <[email protected]>
Sat, 14 Feb 2026 06:54:50 +0000 (03:54 -0300)
committerTulio A M Mendes <[email protected]>
Sat, 14 Feb 2026 06:54:50 +0000 (03:54 -0300)
commit7c445159a6925232ce01761633ca202fd70cd8c0
tree326e189dd68a797ba06afe06fff52bc151d58109
parent619cf907568dc2f996cf3364687c55e0f488cd19
fix: restore immediate VGA flush in vga_write_buf to fix ring3 display hang

The deferred-only VGA flush (timer tick at 50Hz) caused VGA output
to stop updating when the ring3 test was active. Restoring the
immediate flush after each write batch fixes the issue.

The shadow buffer still provides the key performance wins:
- Scrolling in RAM (memmove on shadow, not MMIO)
- Single cursor update per write batch (not per character)
- Dirty-region tracking (only modified cells flushed)

Tests: 20/20 smoke (11s), 16/16 battery, cppcheck clean.
src/drivers/vga_console.c