]> 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)
commit89fbda518d76fd4b7cf245d27ff0eb0a568f6df4
tree90165334660bf2d028e9cce54f95387583c9ead3
parentb8667d1f8bcbf0084d1ae4f5f73f9302a1de94c9
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