git.cappig.dev / apheleiaOS.git master

5f77d53f39e193cf5c51e4961e41c87792910747 master
cappig <[email protected]> ยท 4 months ago
Display pipeline performance, PAT write-combining support

* Program x86 PAT MSR and remap framebuffer as write-combining
  in both UEFI and BIOS boot paths to eliminate screen tearing
* Add flags parameter to arch_phys_map (PHYS_MAP_WC) for portable
  cache-mode selection, update all callsites
* Add per-window dirty tracking in window server; WM redraws only
  on content changes, notify WM on virtual screen switch
* Batch PTY reads with O_NONBLOCK, optimize terminal scroll with
  pixel memmove, single pread for WM window blitting
* Optimize draw_fill_rect with memset/memcpy fast paths, remove
  _reap_dead_owners from hot I/O paths
30 files changed, 333 insertions, 111 deletions
kernel/arch/arch.h +4 -1
kernel/arch/x86/ahci.c +9 -9
kernel/arch/x86/apic.c +1 -1
kernel/arch/x86/arch.c +3 -2
kernel/arch/x86/asm.h +24 -0
kernel/arch/x86/boot/bios/elf.c +24 -0
kernel/arch/x86/boot/bios/paging64.c +3 -1
kernel/arch/x86/boot/uefi/main.c +41 -15
kernel/arch/x86/console.c +3 -3
kernel/arch/x86/mm/phys_window.c +14 -10
kernel/arch/x86/paging32.h +2 -0
kernel/arch/x86/paging64.h +2 -0
kernel/arch/x86/vm.c +1 -1
kernel/sched/scheduler.c +1 -1
kernel/sys/acpi.c +3 -3
kernel/sys/console.c +13 -0
kernel/sys/exec.c +2 -2
kernel/sys/framebuffer_dev.c +7 -8
kernel/sys/pci.c +4 -4
kernel/sys/syscall.c +1 -1
kernel/sys/ws.c +22 -4
kernel/sys/ws.h +2 -0
libs/gui/draw.c +22 -4
libs/gui/ui.c +13 -0
libs/gui/ui.h +1 -0
libs/gui/ws.h +1 -0
user/term/main.c +18 -10
user/term/term_screen.c +24 -1
user/wm/wm_loop.c +8 -7
user/wm/wm_state.c +60 -23