From 5dd58a4db908c79fb6789c2279f3c3a6b588400e Mon Sep 17 00:00:00 2001 From: "Artem Jerdev (art_zh)" Date: Wed, 12 May 2010 14:03:38 +0000 Subject: [PATCH] allocation bug for prefetched BARs fixed git-svn-id: svn://kolibrios.org@1462 a494cfbc-eb01-0410-851d-a64ba20cac60 --- kernel/trunk/bus/pci/pci32.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/trunk/bus/pci/pci32.inc b/kernel/trunk/bus/pci/pci32.inc index 718b94f142..a5b1179203 100644 --- a/kernel/trunk/bus/pci/pci32.inc +++ b/kernel/trunk/bus/pci/pci32.inc @@ -464,7 +464,8 @@ pci_mmio_map: @@: pop ecx ; ecx = block size, bytes (expanded to whole page) mov ebx, ecx ; user_alloc destroys eax, ecx, edx, but saves ebx - push eax ; store MMIO physical address + keep 2DWords in the stack + and eax, 0xFFFFFFF0 + push eax ; store MMIO physical address + keep 2DWords in the stack stdcall user_alloc, ecx or eax, eax jnz mmio_map_over