diff --git a/Kernel/PCI/Definitions.h b/Kernel/PCI/Definitions.h index 6d3d639af6..634320f298 100644 --- a/Kernel/PCI/Definitions.h +++ b/Kernel/PCI/Definitions.h @@ -83,7 +83,10 @@ struct ID { return vendor_id != other.vendor_id || device_id != other.device_id; } }; - +inline const LogStream& operator<<(const LogStream& stream, const ID value) +{ + return stream << "(" << String::format("%w", value.vendor_id) << ":" << String::format("%w", value.device_id) << ")"; +} struct Address { public: Address() {} diff --git a/Kernel/PCI/Initializer.cpp b/Kernel/PCI/Initializer.cpp index 058d30ffa8..9cc60ba232 100644 --- a/Kernel/PCI/Initializer.cpp +++ b/Kernel/PCI/Initializer.cpp @@ -60,7 +60,7 @@ void initialize() IOAccess::initialize(); enumerate_all([&](const Address& address, ID id) { - klog() << "PCI: Device @ " << String::format("%w", address.seg()) << ":" << String::format("%b", address.bus()) << ":" << String::format("%b", address.slot()) << "." << String::format("%d", address.function()) << " [" << String::format("%w", id.vendor_id) << ":" << String::format("%w", id.device_id) << "]"; + klog() << address << " " << id; E1000NetworkAdapter::detect(address); RTL8139NetworkAdapter::detect(address); });