summaryrefslogtreecommitdiff
path: root/kernel/src/arch/x86_64/drivers/pci.cpp
diff options
context:
space:
mode:
authorcpplover0 <osdev555@yandex.com>2026-03-30 18:21:18 +0300
committercpplover0 <osdev555@yandex.com>2026-03-30 18:21:18 +0300
commit8844a7888ea94a11939b1c92915162f2e5acd378 (patch)
tree1b4ef74fde17d6f8bb6e054f3266e9342b41c836 /kernel/src/arch/x86_64/drivers/pci.cpp
parentbe997311c240f49db247ccce05ecb8ea5d3bfc31 (diff)
trying to get xhci working on vboxHEADmain
Diffstat (limited to 'kernel/src/arch/x86_64/drivers/pci.cpp')
-rw-r--r--kernel/src/arch/x86_64/drivers/pci.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/kernel/src/arch/x86_64/drivers/pci.cpp b/kernel/src/arch/x86_64/drivers/pci.cpp
index 88d5f36..db259f8 100644
--- a/kernel/src/arch/x86_64/drivers/pci.cpp
+++ b/kernel/src/arch/x86_64/drivers/pci.cpp
@@ -2,6 +2,7 @@
#include <cstdint>
pci_driver_t pci_drivers[256];
+int last_pci_drv = 0;
pci_t __pci_load(std::uint8_t bus, std::uint8_t num, std::uint8_t function) {
pci_t pciData;
@@ -19,6 +20,7 @@ void x86_64::pci::reg(void (*pcidrv)(pci_t, std::uint8_t, std::uint8_t, std::uin
pci_drivers[i]._class = _class;
pci_drivers[i].subclass = subclass;
pci_drivers[i].pcidrv = pcidrv;
+ return;
}
}
}
@@ -27,7 +29,6 @@ void __pci_launch(pci_t pci, std::uint8_t bus, std::uint8_t device, std::uint8_t
for (std::uint16_t i = 0; i < 256; i++) {
if (pci_drivers[i].used && pci_drivers[i]._class == pci._class && pci_drivers[i].subclass == pci.subclass) {
pci_drivers[i].pcidrv(pci, bus, device, function);
- return;
}
}
}