]> 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)
commit54c22ec785df7d4a45b0b6035cdbdf2eddfa9fa4
treeb3078ca826e7ba337cfc50b1f9b6f769c50e7be5
parent9a18fdf7bc09df78d47832fa055e7daf4d9dfc5a
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