serenity/Kernel
Liav A 64aaf263a2 Kernel/Net: Generate interface name near construction point
This change allows the Kernel to actually construct other interfaces
besides the E1000 type.
This solves a breakage that was introduced recently because of move
semantics.

A couple of points on this patch:
1. In current situation, we can waste time to create a KString and throw
it for nothing. This patch ensures we only create it near construction
point so we know we actually need it.
2. It's very likely to assume that non-x86 machines will expose network
device with a device tree (or with ACPI). The raspberry pi machine is a
good example of that. Therefore, each driver should explicitly ask the
correct interface name generation method, and this patch simplifies this
pattern greatly, especially in a case where the same network device can
appear as a PCI device or as device in another bus type on the same
platform target. For example, the (in)famous ne2000 device can be used
either as a PCI device or as an ISA device, depending on the model.
3. In my opinion, it seems much more readable to construct the name near
calling point of the object constructor than to just pass it with move
semantics.
2021-10-18 12:25:56 -07:00
..
API Kernel: Implement pread syscall 2021-10-13 16:10:50 +02:00
Arch Kernel: Move ScopedCritical + SmapDisabler CPP files into x86 common 2021-10-16 15:43:41 -07:00
Bus Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +01:00
Devices Kernel: Add cross platform RegisterState header and Aarch64 version 2021-10-15 21:48:45 +01:00
FileSystem Kernel/ProcFS: Provide a way to write to ProcFS inodes 2021-10-17 14:46:59 +02:00
Firmware Kernel/SysFS: Provide a way to "truncate" and "set" mtime on inodes 2021-10-09 12:07:56 +02:00
Graphics Kernel: Use operator ""sv in all class_name() implementations 2021-10-03 13:36:10 +02:00
Heap Kernel: Access Processor static methods statically 2021-10-02 18:16:15 +02:00
Interrupts Kernel: Add cross platform RegisterState header and Aarch64 version 2021-10-15 21:48:45 +01:00
Library Kernel: Split ScopedCritical so header is platform independent 2021-10-15 21:48:45 +01:00
Locking Kernel: Move spinlock into Arch 2021-10-15 21:48:45 +01:00
Memory Kernel: Split SmapDisabler so header is platform independent 2021-10-15 21:48:45 +01:00
Net Kernel/Net: Generate interface name near construction point 2021-10-18 12:25:56 -07:00
Prekernel Toolchain+Meta: Update LLVM version to 13.0.0 2021-10-17 17:09:58 +01:00
Storage Kernel: Declare copy-ability of IOAddressGroup 2021-10-10 21:03:27 +01:00
Syscalls Kernel: Split SmapDisabler so header is platform independent 2021-10-15 21:48:45 +01:00
Tasks
Time Kernel: Add cross platform RegisterState header and Aarch64 version 2021-10-15 21:48:45 +01:00
TTY Kernel: Handle backspace for tab character in TTY cooked mode 2021-10-06 12:31:13 +02:00
AddressSanitizer.cpp
AddressSanitizer.h
Assertions.h
AtomicEdgeAction.h Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +01:00
BootInfo.h
CMakeLists.txt Kernel: Enable LTO for kernel_heap if ENABLE_KERNEL_LTO is set 2021-10-17 17:09:58 +01:00
CMOS.cpp Kernel: Move x86 IO instructions code into the x86 specific folder 2021-10-01 12:27:20 +02:00
CMOS.h
CommandLine.cpp Kernel: Fix -Wunreachable-code warnings from clang 2021-10-08 23:33:46 +02:00
CommandLine.h
Coredump.cpp Kernel: Exclude userspace heap memory from coredumps by default 2021-09-30 17:54:32 +02:00
Coredump.h Kernel: Exclude userspace heap memory from coredumps by default 2021-09-30 17:54:32 +02:00
Debug.h.in Kernel: Disable lock rank enforcement by default for now 2021-09-14 18:31:16 +00:00
DoubleBuffer.cpp
DoubleBuffer.h
embedmap.sh
Forward.h
FutexQueue.cpp
FutexQueue.h
GlobalProcessExposed.cpp Kernel: Add the /proc/stat ProcFS component 2021-10-07 21:09:38 +02:00
init.cpp Everywhere: Make some symbols __attribute__((used)) for LTO 2021-10-17 17:09:58 +01:00
KBuffer.h
KBufferBuilder.cpp AK+Kernel: Avoid unescaped control chars in append_escaped_for_json() 2021-09-13 14:38:53 +04:30
KBufferBuilder.h
KLexicalPath.cpp
KLexicalPath.h
kprintf.cpp Kernel: Move x86 IO instructions code into the x86 specific folder 2021-10-01 12:27:20 +02:00
kstdio.h
KString.cpp
KString.h Kernel: Specialize Traits<(Nonnull)OwnPtr<T>> for KString 2021-09-13 14:38:53 +04:30
KSyms.cpp Kernel: Split SmapDisabler so header is platform independent 2021-10-15 21:48:45 +01:00
KSyms.h
linker.ld Kernel: Support split data sections 2021-10-17 17:09:58 +01:00
MiniStdLib.cpp
mkmap.sh
Multiboot.h
Panic.cpp Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +01:00
Panic.h
PerformanceEventBuffer.cpp Kernel: Add cross platform RegisterState header and Aarch64 version 2021-10-15 21:48:45 +01:00
PerformanceEventBuffer.h Kernel: Accept RegisterState in append_with_ip_and_bp 2021-10-12 10:49:56 -07:00
PerformanceManager.h Kernel: Pass RegisterState by ref to event buffer 2021-10-12 10:49:56 -07:00
PhysicalAddress.h
Process.cpp Kernel: Fix -Wunreachable-code warnings from clang 2021-10-08 23:33:46 +02:00
Process.h Kernel: Implement pread syscall 2021-10-13 16:10:50 +02:00
ProcessExposed.cpp Kernel/ProcFS: Provide a way to write to ProcFS inodes 2021-10-17 14:46:59 +02:00
ProcessExposed.h Kernel/ProcFS: Provide a way to write to ProcFS inodes 2021-10-17 14:46:59 +02:00
ProcessGroup.cpp
ProcessGroup.h
ProcessProcFSTraits.cpp
ProcessSpecificExposed.cpp
Random.cpp Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +01:00
Random.h
RTC.cpp Kernel: Move x86 IO instructions code into the x86 specific folder 2021-10-01 12:27:20 +02:00
RTC.h
SanCov.cpp
Scheduler.cpp
Scheduler.h
Sections.h
StdLib.cpp Kernel: Introduce workaround to make LTO builds work with Clang 2021-10-17 17:09:58 +01:00
StdLib.h
Syscall.cpp Kernel: Fix -Wunreachable-code warnings from clang 2021-10-08 23:33:46 +02:00
Thread.cpp Kernel: Split SmapDisabler so header is platform independent 2021-10-15 21:48:45 +01:00
Thread.h Kernel: Remove unused includes 2021-10-14 01:23:08 +01:00
ThreadBlockers.cpp
ThreadTracer.cpp Kernel: Add cross platform RegisterState header and Aarch64 version 2021-10-15 21:48:45 +01:00
ThreadTracer.h
TimerQueue.cpp
TimerQueue.h
UBSanitizer.cpp Kernel: Add per platform Processor.h headers 2021-10-14 01:23:08 +01:00
UnixTypes.h
UserOrKernelBuffer.cpp
UserOrKernelBuffer.h
VirtualAddress.h
WaitQueue.cpp
WaitQueue.h
WorkQueue.cpp
WorkQueue.h