ladybird/Kernel/VM
Sahan Fernando ed0e7b53a5 Kernel: Move VirtIO code away from using a scatter gather list
Currently, when passing buffers into VirtIOQueues, we use scatter-gather
lists, which contain an internal vector of buffers. This vector is
allocated, filled and the destroy whenever we try to provide buffers
into a virtqueue, which would happen a lot in performance cricital code
(the main transport mechanism for certain paravirtualized devices).

This commit moves it over to using VirtIOQueueChains and building the
chain in place in the VirtIOQueue. Also included are a bunch of fixups
for the VirtIO Console device, making it use an internal VM::RingBuffer
instead.
2021-05-13 10:00:42 +02:00
..
AllocationStrategy.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
AnonymousVMObject.cpp Everywhere: Turn #if *_DEBUG into dbgln_if/if constexpr 2021-05-01 21:25:06 +02:00
AnonymousVMObject.h Kernel: Mark AsyncBlockDeviceRequest + AnonymousVMObject as final 2021-05-03 16:03:17 +02:00
ContiguousVMObject.cpp AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
ContiguousVMObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
InodeVMObject.cpp Kernel: Remove the now defunct LOCKER(..) macro. 2021-04-25 09:38:27 +02:00
InodeVMObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MappedROM.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MemoryManager.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MemoryManager.h Kernel: Move VirtIO code away from using a scatter gather list 2021-05-13 10:00:42 +02:00
PageDirectory.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PageDirectory.h AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
PageFaultResponse.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
PhysicalPage.cpp AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
PhysicalPage.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PhysicalRegion.cpp AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
PhysicalRegion.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PrivateInodeVMObject.cpp AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
PrivateInodeVMObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ProcessPagingScope.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ProcessPagingScope.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PurgeablePageRanges.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PurgeablePageRanges.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Range.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Range.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
RangeAllocator.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
RangeAllocator.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Region.cpp Kernel: Change Inode::{read/write}_bytes interface to KResultOr<ssize_t> 2021-05-02 13:27:37 +02:00
Region.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
RingBuffer.cpp Kernel: Create VM::RingBuffer class 2021-05-13 10:00:42 +02:00
RingBuffer.h Kernel: Create VM::RingBuffer class 2021-05-13 10:00:42 +02:00
ScatterGatherList.cpp Kernel: Move VirtIO code away from using a scatter gather list 2021-05-13 10:00:42 +02:00
ScatterGatherList.h Kernel: Move VirtIO code away from using a scatter gather list 2021-05-13 10:00:42 +02:00
SharedInodeVMObject.cpp AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
SharedInodeVMObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Space.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Space.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TypedMapping.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
VMObject.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
VMObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00