mirror of
https://github.com/Fennix-Project/Drivers.git
synced 2025-05-27 15:04:28 +00:00
Check if ATA is present
This commit is contained in:
parent
a631029d48
commit
5d0cc519ae
@ -31,6 +31,18 @@ KernelAPI *KAPI;
|
|||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------------------- */
|
/* --------------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
bool IsATAPresent()
|
||||||
|
{
|
||||||
|
outb(0x1F0 + 2, 0);
|
||||||
|
outb(0x1F0 + 3, 0);
|
||||||
|
outb(0x1F0 + 4, 0);
|
||||||
|
outb(0x1F0 + 5, 0);
|
||||||
|
outb(0x1F0 + 7, 0xEC);
|
||||||
|
if (inb(0x1F0 + 7) == 0 || inb(0x1F0 + 1) != 0)
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
int DriverEntry(void *Data)
|
int DriverEntry(void *Data)
|
||||||
{
|
{
|
||||||
if (!Data)
|
if (!Data)
|
||||||
@ -38,7 +50,12 @@ int DriverEntry(void *Data)
|
|||||||
KAPI = (KernelAPI *)Data;
|
KAPI = (KernelAPI *)Data;
|
||||||
if (KAPI->Version.Major < 0 || KAPI->Version.Minor < 0 || KAPI->Version.Patch < 0)
|
if (KAPI->Version.Major < 0 || KAPI->Version.Minor < 0 || KAPI->Version.Patch < 0)
|
||||||
return KERNEL_API_VERSION_NOT_SUPPORTED;
|
return KERNEL_API_VERSION_NOT_SUPPORTED;
|
||||||
return OK;
|
|
||||||
|
if (!IsATAPresent())
|
||||||
|
return NOT_AVAILABLE;
|
||||||
|
print("ATA device found.");
|
||||||
|
|
||||||
|
return NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CallbackHandler(KernelCallback *Data)
|
int CallbackHandler(KernelCallback *Data)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user