mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 07:08:10 +00:00
Kernel: Add driver for RTL8168 & RTL8111 NICs
These are pretty common on older LGA1366 & LGA1150 motherboards. NOTE: Since the registers datasheets for all versions of the chip besides versions 1 - 3 are still under NDAs i had to collect several "magical vendor constants" from the *BSD driver and the linux driver that i was not able to name verbosely, and as such these are labeled with the comment "vendor magic values".
This commit is contained in:
parent
de6d032273
commit
a898e01d4d
8 changed files with 1683 additions and 1 deletions
|
@ -16,6 +16,7 @@
|
|||
#include <Kernel/Net/NE2000NetworkAdapter.h>
|
||||
#include <Kernel/Net/NetworkingManagement.h>
|
||||
#include <Kernel/Net/RTL8139NetworkAdapter.h>
|
||||
#include <Kernel/Net/RTL8168NetworkAdapter.h>
|
||||
#include <Kernel/Panic.h>
|
||||
#include <Kernel/VM/AnonymousVMObject.h>
|
||||
|
||||
|
@ -81,6 +82,8 @@ UNMAP_AFTER_INIT RefPtr<NetworkAdapter> NetworkingManagement::determine_network_
|
|||
return candidate;
|
||||
if (auto candidate = RTL8139NetworkAdapter::try_to_initialize(address); !candidate.is_null())
|
||||
return candidate;
|
||||
if (auto candidate = RTL8168NetworkAdapter::try_to_initialize(address); !candidate.is_null())
|
||||
return candidate;
|
||||
if (auto candidate = NE2000NetworkAdapter::try_to_initialize(address); !candidate.is_null())
|
||||
return candidate;
|
||||
return {};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue