Updated driver loading code

This commit is contained in:
Alex
2022-12-16 03:08:31 +02:00
parent e930e02752
commit d33a812703
7 changed files with 506 additions and 383 deletions

View File

@ -17,6 +17,7 @@ namespace Driver
INVALID_FEX_HEADER,
INVALID_DRIVER_DATA,
NOT_DRIVER,
NOT_IMPLEMENTED,
DRIVER_RETURNED_ERROR,
UNKNOWN_DRIVER_TYPE,
PCI_DEVICE_NOT_FOUND
@ -55,6 +56,10 @@ namespace Driver
unsigned long DriverUIDs = 0;
DriverCode CallDriverEntryPoint(void *fex);
DriverCode DriverLoadBindPCI(void *DrvExtHdr, uint64_t DriverAddress, uint64_t Size, bool IsElf = false);
DriverCode DriverLoadBindInterrupt(void *DrvExtHdr, uint64_t DriverAddress, uint64_t Size, bool IsElf = false);
DriverCode DriverLoadBindInput(void *DrvExtHdr, uint64_t DriverAddress, uint64_t Size, bool IsElf = false);
DriverCode DriverLoadBindProcess(void *DrvExtHdr, uint64_t DriverAddress, uint64_t Size, bool IsElf = false);
public:
Vector<DriverFile *> GetDrivers() { return Drivers; }