Added network fetch cb

This commit is contained in:
Alex 2022-12-24 04:12:05 +02:00
parent 4d4c2aeba6
commit f44e63555b
Signed by untrusted user who does not match committer: enderice2
GPG Key ID: EACC3AD603BAB4DD
5 changed files with 34 additions and 4 deletions

View File

@ -108,6 +108,12 @@ int CallbackHandler(KernelCallback *Data)
return DEVICE_NOT_SUPPORTED;
break;
}
case FetchReason:
{
KAPI->Util.memcpy(Data->NetworkCallback.Fetch.Name, (void *)"AMD PCNET", 10);
Data->NetworkCallback.Fetch.MAC = MAC.ToHex();
break;
}
case InterruptReason:
{
break;

View File

@ -384,6 +384,12 @@ int CallbackHandler(KernelCallback *Data)
return DEVICE_NOT_SUPPORTED;
break;
}
case FetchReason:
{
KAPI->Util.memcpy(Data->NetworkCallback.Fetch.Name, (void*)"Intel 82540EM Gigabit Ethernet Controller", 42);
Data->NetworkCallback.Fetch.MAC = MAC.ToHex();
break;
}
case InterruptReason:
{
OutCMD(REG::IMASK, 0x1);
@ -404,8 +410,8 @@ int CallbackHandler(KernelCallback *Data)
}
case SendReason:
{
TX[TXCurrent]->Address = (uint64_t)Data->NetworkCallback.Data;
TX[TXCurrent]->Length = Data->NetworkCallback.Length;
TX[TXCurrent]->Address = (uint64_t)Data->NetworkCallback.Send.Data;
TX[TXCurrent]->Length = Data->NetworkCallback.Send.Length;
TX[TXCurrent]->Command = CMD::EOP | CMD::IFCS | CMD::RS;
TX[TXCurrent]->Status = 0;
uint8_t OldTXCurrent = TXCurrent;

View File

@ -167,6 +167,12 @@ int CallbackHandler(KernelCallback *Data)
return DEVICE_NOT_SUPPORTED;
break;
}
case FetchReason:
{
KAPI->Util.memcpy(Data->NetworkCallback.Fetch.Name, (void *)"RTL-8139", 9);
Data->NetworkCallback.Fetch.MAC = MAC.ToHex();
break;
}
case InterruptReason:
{
uint16_t Status = RTLIW(0x3E);
@ -186,8 +192,8 @@ int CallbackHandler(KernelCallback *Data)
}
case SendReason:
{
RTLOL(TSAD[TXCurrent], static_cast<uint32_t>(reinterpret_cast<uint64_t>(Data->NetworkCallback.Data)));
RTLOL(TSD[TXCurrent++], Data->NetworkCallback.Length);
RTLOL(TSAD[TXCurrent], static_cast<uint32_t>(reinterpret_cast<uint64_t>(Data->NetworkCallback.Send.Data)));
RTLOL(TSD[TXCurrent++], Data->NetworkCallback.Send.Length);
if (TXCurrent > 3)
TXCurrent = 0;
break;

View File

@ -78,6 +78,12 @@ int CallbackHandler(KernelCallback *Data)
return DEVICE_NOT_SUPPORTED;
break;
}
case FetchReason:
{
KAPI->Util.memcpy(Data->NetworkCallback.Fetch.Name, (void *)"RTL-8169", 9);
Data->NetworkCallback.Fetch.MAC = MAC.ToHex();
break;
}
case InterruptReason:
{
break;

View File

@ -78,6 +78,12 @@ int CallbackHandler(KernelCallback *Data)
return DEVICE_NOT_SUPPORTED;
break;
}
case FetchReason:
{
KAPI->Util.memcpy(Data->NetworkCallback.Fetch.Name, (void *)"Virtio Network", 15);
Data->NetworkCallback.Fetch.MAC = MAC.ToHex();
break;
}
case InterruptReason:
{
break;