XenevaOS
Loading...
Searching...
No Matches
Macros | Functions | Variables
devgpu.c File Reference
#include <Fs/Dev/devgpu.h>
#include <Fs/Dev/devfs.h>
#include <Fs/Dev/devhw.h>
#include <Fs/vfs.h>
#include <Cred/group.h>
#include <Mm/kmalloc.h>
#include <Mm/pmmngr.h>
#include <Mm/vmmngr.h>
#include <Hal/AA64/aa64lowlevel.h>
#include <Drivers/uart.h>
#include <aucon.h>
#include <gpusrv.h>
#include <gpudamage.h>
#include <proctoken.h>
#include <string.h>
Include dependency graph for devgpu.c:

Macros

#define GPU_PHYS_MASK   0x0000FFFFFFFFF000ULL
 

Functions

void AuGpuProxyDamage (int x, int y, int width, int height)
 
void AuGpuProxyOwnerGone (AuProcess *proc, void *hw_device)
 
void AuGpuProxyInitialize (void)
 

Variables

AuConsole * aucon
 

Macro Definition Documentation

◆ GPU_PHYS_MASK

#define GPU_PHYS_MASK   0x0000FFFFFFFFF000ULL

Function Documentation

◆ AuGpuProxyDamage()

void AuGpuProxyDamage ( int  x,
int  y,
int  width,
int  height 
)

◆ AuGpuProxyInitialize()

void AuGpuProxyInitialize ( void  )

◆ AuGpuProxyOwnerGone()

void AuGpuProxyOwnerGone ( AuProcess *  proc,
void *  hw_device 
)

Variable Documentation

◆ aucon

AuConsole* aucon
extern

devgpu.c – thin kernel proxy for the user-space virtio-GPU server.

The server owns the PCI function through /dev/hwdev. This node keeps the compositor-facing framebuffer stable and performs the one safety-critical bridge operation: copying a bounded damage rectangle into DMA memory that belongs to the server's exact GPU capability. The kernel never submits a virtio command and never waits for the server.