]> Projects (at) Tadryanom (dot) Me - AdrOS.git/commit
feat: /dev/fb0 framebuffer device + fd-backed mmap support
authorTulio A M Mendes <[email protected]>
Thu, 12 Feb 2026 07:26:30 +0000 (04:26 -0300)
committerTulio A M Mendes <[email protected]>
Fri, 13 Feb 2026 02:44:55 +0000 (23:44 -0300)
commitc2ff7e0af5d985d10f389016af1ba9e827a7f911
tree70f6432a2ca2f73ed6d7f87283f9bb32ec7bcde3
parent15056bac8a755ee88ed16a107f5aae85aaf1c173
feat: /dev/fb0 framebuffer device + fd-backed mmap support

Added /dev/fb0 device node registered via devfs by vbe.c:
- ioctl: FBIOGET_VSCREENINFO (resolution, bpp), FBIOGET_FSCREENINFO
  (phys addr, pitch, size)
- mmap: maps physical framebuffer into userspace with NOCACHE flags
- read/write: direct pixel buffer access via offset

Extended syscall_mmap_impl to support fd-backed mmap: when
MAP_ANONYMOUS is not set, the file descriptor's node->mmap callback
is invoked. This enables userspace to mmap /dev/fb0 for direct
framebuffer access (required for DOOM).

Marked syscall_mmap_impl as noinline to prevent GCC from merging it
into syscall_handler (4KB kernel stack limit).
include/fb.h [new file with mode: 0644]
include/vbe.h
src/drivers/vbe.c
src/kernel/init.c
src/kernel/syscall.c