From 75b96052bd9a128ef9cfc518fd8cc5490ee6a71b Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 4 Nov 2022 04:37:46 +0200 Subject: [PATCH] Updated drivers --- Disk/AHCI/AHCI.cpp | 8 ++++---- Generic/ExampleDriver/Example.cpp | 14 +++++++------- Network/AMDPCNET/pcnet.cpp | 8 ++++---- Network/E1000/e1000.cpp | 8 ++++---- Network/RTL8139/rtl8139.cpp | 8 ++++---- Network/RTL8169/rtl8169.cpp | 8 ++++---- Network/Virtio/Virtio.cpp | 8 ++++---- 7 files changed, 31 insertions(+), 31 deletions(-) diff --git a/Disk/AHCI/AHCI.cpp b/Disk/AHCI/AHCI.cpp index 6637fd4..6b12a1a 100644 --- a/Disk/AHCI/AHCI.cpp +++ b/Disk/AHCI/AHCI.cpp @@ -5,7 +5,7 @@ #include "../../../Kernel/DAPI.hpp" #include "../../../Kernel/Fex.hpp" -extern "C" int DriverEntry(KernelAPI *Data); +extern "C" int DriverEntry(void *Data); int CallbackHandler(KernelCallback *Data); HEAD(FexFormatType_Driver, FexOSType_Fennix, DriverEntry); @@ -365,13 +365,13 @@ PortType CheckPortType(HBAPort *Port) } } -int DriverEntry(KernelAPI *Data) +int DriverEntry(void *Data) { if (!Data) return INVALID_KERNEL_API; - if (Data->Version.Major < 0 || Data->Version.Minor < 0 || Data->Version.Patch < 0) + KAPI = (KernelAPI *)Data; + if (KAPI->Version.Major < 0 || KAPI->Version.Minor < 0 || KAPI->Version.Patch < 0) return KERNEL_API_VERSION_NOT_SUPPORTED; - KAPI = Data; return OK; } diff --git a/Generic/ExampleDriver/Example.cpp b/Generic/ExampleDriver/Example.cpp index 5d81f93..df3fcc4 100644 --- a/Generic/ExampleDriver/Example.cpp +++ b/Generic/ExampleDriver/Example.cpp @@ -1,7 +1,7 @@ #include "../../../Kernel/DAPI.hpp" #include "../../../Kernel/Fex.hpp" -extern "C" int DriverEntry(KernelAPI *Data); +extern "C" int DriverEntry(void *Data); int CallbackHandler(KernelCallback *Data); /* The driver is @@ -30,18 +30,18 @@ KernelAPI *KAPI; /* --------------------------------------------------------------------------------------------------------- */ // Driver entry point. This is called at initialization. "Data" argument points to the kernel API structure. -int DriverEntry(KernelAPI *Data) +int DriverEntry(void *Data) { // Check if kernel API is valid if (!Data) return INVALID_KERNEL_API; - // // Check if kernel API version is valid. this is important because the kernel API may change in the future. - if (Data->Version.Major < 0 || Data->Version.Minor < 0 || Data->Version.Patch < 0) - return KERNEL_API_VERSION_NOT_SUPPORTED; - // Set the global variable to the kernel API - KAPI = Data; + KAPI = (KernelAPI *)Data; + + // Check if kernel API version is valid. this is important because the kernel API may change in the future. + if (KAPI->Version.Major < 0 || KAPI->Version.Minor < 0 || KAPI->Version.Patch < 0) + return KERNEL_API_VERSION_NOT_SUPPORTED; // We print "Hello World!" to UART. KAPI->Util.DebugPrint(((char *)"Hello World!" + KAPI->Info.Offset), KAPI->Info.DriverUID); diff --git a/Network/AMDPCNET/pcnet.cpp b/Network/AMDPCNET/pcnet.cpp index 01b52f8..4f0f823 100644 --- a/Network/AMDPCNET/pcnet.cpp +++ b/Network/AMDPCNET/pcnet.cpp @@ -5,7 +5,7 @@ #include "../../../Kernel/DAPI.hpp" #include "../../../Kernel/Fex.hpp" -extern "C" int DriverEntry(KernelAPI *Data); +extern "C" int DriverEntry(void *Data); int CallbackHandler(KernelCallback *Data); HEAD(FexFormatType_Driver, FexOSType_Fennix, DriverEntry); @@ -71,13 +71,13 @@ void WriteCSR16(uint16_t CSR, uint16_t Value) outportw(BAR.IOBase + 0x10, Value); } -int DriverEntry(KernelAPI *Data) +int DriverEntry(void *Data) { if (!Data) return INVALID_KERNEL_API; - if (Data->Version.Major < 0 || Data->Version.Minor < 0 || Data->Version.Patch < 0) + KAPI = (KernelAPI *)Data; + if (KAPI->Version.Major < 0 || KAPI->Version.Minor < 0 || KAPI->Version.Patch < 0) return KERNEL_API_VERSION_NOT_SUPPORTED; - KAPI = Data; return OK; } diff --git a/Network/E1000/e1000.cpp b/Network/E1000/e1000.cpp index ea269da..fdd3427 100644 --- a/Network/E1000/e1000.cpp +++ b/Network/E1000/e1000.cpp @@ -5,7 +5,7 @@ #include "../../../Kernel/DAPI.hpp" #include "../../../Kernel/Fex.hpp" -extern "C" int DriverEntry(KernelAPI *Data); +extern "C" int DriverEntry(void *Data); int CallbackHandler(KernelCallback *Data); HEAD(FexFormatType_Driver, FexOSType_Fennix, DriverEntry); @@ -302,13 +302,13 @@ void InitializeTX() OutCMD(REG::TIPG, 0x0060200A); } -int DriverEntry(KernelAPI *Data) +int DriverEntry(void *Data) { if (!Data) return INVALID_KERNEL_API; - if (Data->Version.Major < 0 || Data->Version.Minor < 0 || Data->Version.Patch < 0) + KAPI = (KernelAPI *)Data; + if (KAPI->Version.Major < 0 || KAPI->Version.Minor < 0 || KAPI->Version.Patch < 0) return KERNEL_API_VERSION_NOT_SUPPORTED; - KAPI = Data; return OK; } diff --git a/Network/RTL8139/rtl8139.cpp b/Network/RTL8139/rtl8139.cpp index d4df6a6..1596a9b 100644 --- a/Network/RTL8139/rtl8139.cpp +++ b/Network/RTL8139/rtl8139.cpp @@ -5,7 +5,7 @@ #include "../../../Kernel/DAPI.hpp" #include "../../../Kernel/Fex.hpp" -extern "C" int DriverEntry(KernelAPI *Data); +extern "C" int DriverEntry(void *Data); int CallbackHandler(KernelCallback *Data); HEAD(FexFormatType_Driver, FexOSType_Fennix, DriverEntry); @@ -113,13 +113,13 @@ MediaAccessControl GetMAC() return mac; } -int DriverEntry(KernelAPI *Data) +int DriverEntry(void *Data) { if (!Data) return INVALID_KERNEL_API; - if (Data->Version.Major < 0 || Data->Version.Minor < 0 || Data->Version.Patch < 0) + KAPI = (KernelAPI *)Data; + if (KAPI->Version.Major < 0 || KAPI->Version.Minor < 0 || KAPI->Version.Patch < 0) return KERNEL_API_VERSION_NOT_SUPPORTED; - KAPI = Data; return OK; } diff --git a/Network/RTL8169/rtl8169.cpp b/Network/RTL8169/rtl8169.cpp index bb3f592..3c54110 100644 --- a/Network/RTL8169/rtl8169.cpp +++ b/Network/RTL8169/rtl8169.cpp @@ -5,7 +5,7 @@ #include "../../../Kernel/DAPI.hpp" #include "../../../Kernel/Fex.hpp" -extern "C" int DriverEntry(KernelAPI *Data); +extern "C" int DriverEntry(void *Data); int CallbackHandler(KernelCallback *Data); HEAD(FexFormatType_Driver, FexOSType_Fennix, DriverEntry); @@ -44,13 +44,13 @@ BARData BAR; MediaAccessControl MAC; InternetProtocol4 IP; -int DriverEntry(KernelAPI *Data) +int DriverEntry(void *Data) { if (!Data) return INVALID_KERNEL_API; - if (Data->Version.Major < 0 || Data->Version.Minor < 0 || Data->Version.Patch < 0) + KAPI = (KernelAPI *)Data; + if (KAPI->Version.Major < 0 || KAPI->Version.Minor < 0 || KAPI->Version.Patch < 0) return KERNEL_API_VERSION_NOT_SUPPORTED; - KAPI = Data; return OK; } diff --git a/Network/Virtio/Virtio.cpp b/Network/Virtio/Virtio.cpp index 99dfde7..7e0b8d6 100644 --- a/Network/Virtio/Virtio.cpp +++ b/Network/Virtio/Virtio.cpp @@ -5,7 +5,7 @@ #include "../../../Kernel/DAPI.hpp" #include "../../../Kernel/Fex.hpp" -extern "C" int DriverEntry(KernelAPI *Data); +extern "C" int DriverEntry(void *Data); int CallbackHandler(KernelCallback *Data); HEAD(FexFormatType_Driver, FexOSType_Fennix, DriverEntry); @@ -44,13 +44,13 @@ BARData BAR; MediaAccessControl MAC; InternetProtocol4 IP; -int DriverEntry(KernelAPI *Data) +int DriverEntry(void *Data) { if (!Data) return INVALID_KERNEL_API; - if (Data->Version.Major < 0 || Data->Version.Minor < 0 || Data->Version.Patch < 0) + KAPI = (KernelAPI *)Data; + if (KAPI->Version.Major < 0 || KAPI->Version.Minor < 0 || KAPI->Version.Patch < 0) return KERNEL_API_VERSION_NOT_SUPPORTED; - KAPI = Data; return OK; }