34#if defined(__GNUC__) || defined(__clang__)
45#define DRIVER_CLASS_AUDIO 1
46#define DRIVER_CLASS_VIDEO 2
47#define DRIVER_CLASS_NETWORK 3
48#define DRIVER_CLASS_CONNECTIVITY_BLUETOOTH 4
49#define DRIVER_CLASS_CONNECTIVITY_WIFI 5
50#define DRIVER_CLASS_STORAGE 6
51#define DRIVER_CLASS_USB 7
52#define DRIVER_CLASS_HID 8
53#define DRIVER_CLASS_UNKNOWN 9
55#define DEVICE_CLASS_ETHERNET 1
56#define DEVICE_CLASS_HD_AUDIO 2
57#define DEVICE_CLASS_USB3 3
59#define AURORA_MAX_DRIVERS 256
#define AU_EXTERN
Definition aurora.h:55
#define AU_EXPORT
Definition aurora.h:41
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
COMPILER_DEPENDENT_UINT64 uint64_t
Definition acefiex.h:165
unsigned short int uint16_t
Definition acefiex.h:162
int(* au_drv_unload)(void *drv)
Definition audrv.h:62
uint64_t AuDrvMgrGetBaseAddress()
AuDrvMgrGetBaseAddress – returns the current driver load base address.
Definition audrv.cpp:428
AU_EXTERN AU_EXPORT void AuBootDriverInitialise(KERNEL_BOOT_INFO *info)
AuBootDriverInitialise – Initialise and load all boot time drivers.
Definition audrv.cpp:395
char * AuGetConfEntry(uint32_t vendor_id, uint32_t device_id, uint8_t *buffer, int entryoff)
AuGetConfEntry – Get an entry offset in the file for required device.
Definition audrv.cpp:91
AuDriver * AuGetDriverName(uint32_t vendor_id, uint32_t device_id, uint8_t *buffer, int entryoff)
AuGetDriverName – Extract the driver path from its entry offset.
Definition audrv.cpp:199
void AuDrvMngrInitialize(KERNEL_BOOT_INFO *info)
AuDrvMngrInitialize – Initialize the driver manager.
Definition audrv.cpp:283
AU_EXTERN AU_EXPORT bool AuCheckDevice(uint16_t classC, uint16_t subclassC, uint8_t progIF)
AuCheckDevice – checks an aurora device if it's already present.
Definition audrv.cpp:357
AuDriver * AuDrvManagerCheckFault(uint64_t fault_addr)
AuDrvManagerCheckFault – check if this driver contain the fault address, helpful for debugging.
Definition audrv.c:616
void AuDrvCatchFault(AuDriver *drv, uint64_t fault_addr)
AuDrvCatchFault – resolves original virtual address of the driver and relocate its symbol name.
Definition audrv.c:633
struct _aurora_device_ AuDevice
void AuDrvMgrSetBaseAddress(uint64_t base_address)
AuDrvMgrSetBaseAddress – sets a new base address for driver to load it's highly risky because,...
Definition audrv.cpp:438
struct _aurora_driver_ AuDriver
int(* au_drv_entry)(void *drv)
Definition audrv.h:61
AU_EXTERN AU_EXPORT void AuRegisterDevice(AuDevice *dev)
AuRegisterDevice – register a new device to aurora system.
Definition audrv.cpp:345
void AuDrvUnloadAll()
AuDrvUnloadAll – call unload handler of all registered drivers.
Definition audrv.c:645
uint8_t progIf
Definition audrv.h:96
uint16_t subClassCode
Definition audrv.h:95
uint8_t aurora_dev_class
Definition audrv.h:98
uint8_t aurora_driver_class
Definition audrv.h:99
uint16_t classCode
Definition audrv.h:94
bool initialized
Definition audrv.h:97
uint64_t base
Definition audrv.h:71
int dev
Definition audrv.h:79
uint16_t vendorID
Definition audrv.h:73
uint8_t drv_type
Definition audrv.h:68
uint8_t classCode
Definition audrv.h:75
size_t image_sz
Definition audrv.h:85
bool present
Definition audrv.h:70
uint64_t new_load_base
Definition audrv.h:84
int bus
Definition audrv.h:77
au_drv_unload unload
Definition audrv.h:82
uint64_t device
Definition audrv.h:80
uint64_t end
Definition audrv.h:72
au_drv_entry entry
Definition audrv.h:81
int func
Definition audrv.h:78
char name[32]
Definition audrv.h:69
uint16_t deviceID
Definition audrv.h:74
uint8_t subClassCode
Definition audrv.h:76
uint8_t id
Definition audrv.h:67
uint64_t original_load_base
Definition audrv.h:83