Selaa lähdekoodia

Kernel: Print out PCI devices during boot

This will make boot logs much more useful on real hardware, by showing
exactly what Serenity is trying to boot on.
Conrad Pankoff 6 vuotta sitten
vanhempi
commit
d1a7316799
1 muutettua tiedostoa jossa 11 lisäystä ja 0 poistoa
  1. 11 0
      Kernel/init.cpp

+ 11 - 0
Kernel/init.cpp

@@ -32,6 +32,7 @@
 #include <Kernel/Multiboot.h>
 #include <Kernel/Net/E1000NetworkAdapter.h>
 #include <Kernel/Net/NetworkTask.h>
+#include <Kernel/PCI.h>
 #include <Kernel/TTY/PTYMultiplexer.h>
 #include <Kernel/TTY/VirtualConsole.h>
 #include <Kernel/VM/MemoryManager.h>
@@ -215,6 +216,16 @@ extern "C" [[noreturn]] void init()
     MemoryManager::initialize();
     PIT::initialize();
 
+    PCI::enumerate_all([](const PCI::Address& address, PCI::ID id) {
+        kprintf("PCI device: bus=%d slot=%d function=%d id=%w:%w\n",
+            address.bus(),
+            address.slot(),
+            address.function(),
+            id.vendor_id,
+            id.device_id
+        );
+    });
+
     new BXVGADevice;
 
     auto e1000 = E1000NetworkAdapter::autodetect();