1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 18:37:34 +00:00

Kernel: Add an initial implementation of virtio-net driver

It can be exercised by setting
    SERENITY_ETHERNET_DEVICE_TYPE=virtio-net-pci.
This commit is contained in:
Kirill Nikolaev 2023-07-02 17:39:47 +02:00 committed by Andrew Kaster
parent b00a23b0b6
commit 6cdb1f0415
5 changed files with 347 additions and 0 deletions

View file

@ -24,6 +24,7 @@ public:
Spinlock<LockRank::None>& lock() { return m_lock; }
size_t used_bytes() const { return m_num_used_bytes; }
size_t available_bytes() const { return m_capacity_in_bytes - m_num_used_bytes; }
PhysicalAddress start_of_region() const { return m_region->physical_page(0)->paddr(); }
VirtualAddress vaddr() const { return m_region->vaddr(); }
size_t bytes_till_end() const { return (m_capacity_in_bytes - ((m_start_of_used + m_num_used_bytes) % m_capacity_in_bytes)) % m_capacity_in_bytes; }