diff --git a/i386/legacy-boot/src-asm/drivers/pci/driver.asm b/i386/legacy-boot/src-asm/drivers/pci/driver.asm index 3be6296..0d1a92f 100755 --- a/i386/legacy-boot/src-asm/drivers/pci/driver.asm +++ b/i386/legacy-boot/src-asm/drivers/pci/driver.asm @@ -34,7 +34,7 @@ initialize_pci_driver: push ebp mov ebp, esp - push ebx + push dword PCI_DEVICE_COUNT_OFFSET push dword 2 push dword 0 push dword 0 diff --git a/i386/legacy-boot/src-asm/drivers/pci/enumerate.asm b/i386/legacy-boot/src-asm/drivers/pci/enumerate.asm index e5d7d2c..0b69b45 100755 --- a/i386/legacy-boot/src-asm/drivers/pci/enumerate.asm +++ b/i386/legacy-boot/src-asm/drivers/pci/enumerate.asm @@ -190,11 +190,12 @@ pci_enumerate_bus: mov [esi + (64 - 8)], ebx mov [esi + (64 - 12)], ecx + mov [esi + (64 - 16)], edx mov [esi + (64 - 20)], edi ; [esi]: Device-in-bus Index ; [esi + 4]: Number of existing devices ; [esi + 8]: Bus number - ; [esi + 12]: + ; [esi + 12]: PCI driver area pointer mov [esi], dword 0 mov [esi + 4], dword 0 mov eax, [ebp - 8] @@ -259,6 +260,7 @@ pci_enumerate_bus: .epilog: mov ebx, [esi + (64 - 8)] mov ecx, [esi + (64 - 12)] + mov edx, [esi + (64 - 16)] mov edi, [esi + (64 - 20)] mov eax, [esi + 4] @@ -313,7 +315,6 @@ pci_enumerate: cmp edx, [ebp - 8] jae .epilog - .call_bus_enumerator: push ebp mov ebp, esp