XenevaOS
Loading...
Searching...
No Matches
Macros | Typedefs | Functions
aubuiltin.h File Reference
#include <stdint.h>
#include <stdbool.h>
Include dependency graph for aubuiltin.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define AU_BUILTIN_MAX   8
 

Typedefs

typedef void(* au_builtin_fn) (void)
 

Functions

void AuBuiltinRegister (const char *name, int bus, int dev, int func, au_builtin_fn release, au_builtin_fn reinit)
 
int AuBuiltinUnload (const char *name)
 
int AuBuiltinLoad (const char *name)
 
bool AuBuiltinClaimsPci (int bus, int dev, int func)
 
int AuBuiltinList (void(*cb)(const char *name, bool bound, int bus, int dev, int func))
 

Macro Definition Documentation

◆ AU_BUILTIN_MAX

#define AU_BUILTIN_MAX   8

Registry of drivers that are linked into the kernel but can still be handed over: a built-in driver registers the PCI function it bound, plus how to let go of it (release) and how to take it back (reinit). That makes them behave like loadable drivers for /dev/drvctl ("unload NAME" / "load NAME") and lets /dev/hwdev refuse a PCI function a built-in driver still owns, which is what allows a user-space server to take such a device over safely and the supervisor to give it back.

Typedef Documentation

◆ au_builtin_fn

typedef void(* au_builtin_fn) (void)

Function Documentation

◆ AuBuiltinClaimsPci()

bool AuBuiltinClaimsPci ( int  bus,
int  dev,
int  func 
)
extern

◆ AuBuiltinList()

int AuBuiltinList ( void(*)(const char *name, bool bound, int bus, int dev, int func)  cb)
extern

◆ AuBuiltinLoad()

int AuBuiltinLoad ( const char *  name)
extern

◆ AuBuiltinRegister()

void AuBuiltinRegister ( const char *  name,
int  bus,
int  dev,
int  func,
au_builtin_fn  release,
au_builtin_fn  reinit 
)
extern

◆ AuBuiltinUnload()

int AuBuiltinUnload ( const char *  name)
extern