diff --git a/kernel/trunk/bus/pci/pci32.inc b/kernel/trunk/bus/pci/pci32.inc index 1fae1a2b3e..faca35ee20 100644 --- a/kernel/trunk/bus/pci/pci32.inc +++ b/kernel/trunk/bus/pci/pci32.inc @@ -382,7 +382,7 @@ if defined mmio_pci_addr ; ; Description ; IN: bx = device's PCI bus address (bbbbbbbbdddddfff) -; returns ax = user heap space available (bytes) +; Returns eax = user heap space available (bytes) ; Error codes ; eax = -1 : PCI user access blocked, ; eax = -2 : device not registered for uMMIO service diff --git a/kernel/trunk/data32.inc b/kernel/trunk/data32.inc index 8562dcfe68..f353e7a13a 100644 --- a/kernel/trunk/data32.inc +++ b/kernel/trunk/data32.inc @@ -7,7 +7,6 @@ $Revision$ -;mmio_pci_addr = -1; set actual PCI address (word) here to activate user-MMIO keymap: @@ -47,6 +46,7 @@ keymap_alt: db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' db 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' +mmio_pci_addr dw -1 ; set actual PCI address here to activate user-MMIO boot_memdetect db 'Determining amount of memory',0 diff --git a/programs/system/pcidev/trunk/PCIDEV.ASM b/programs/system/pcidev/trunk/PCIDEV.ASM index 99e086e788..a1cc96bf9b 100644 --- a/programs/system/pcidev/trunk/PCIDEV.ASM +++ b/programs/system/pcidev/trunk/PCIDEV.ASM @@ -450,12 +450,12 @@ no_ummio_here: Try_MMIO: xor ebx, ebx mov edx, ebx - mov bh, byte [MMIO_BAR] + mov bh, [MMIO_BAR] or bx, 12 ; function 12 mov ecx, 4096 ; =1 page to map mcall 62 + mov [MMIO_Map], eax ; store MMIO lin.addr. mov ecx, 0x80990022 ; print color : red - mov bh, byte [MMIO_BAR] add bh, '0' cmp eax, -3 jne @f @@ -473,26 +473,26 @@ Try_MMIO: mcall 4 jmp mmio_next_bar @@: - cmp bh, '6' ; expansion ROM ? - je @f + cmp bh, '6' ; expansion ROM ? + je @f mov [bar_ram+3], bh mov ebx, [gr_pos] mov edx, bar_ram mcall 4 - jmp mmio_dump + jmp mmio_dump @@: mov ebx, [gr_pos] mov edx, bar_rom mcall 4 mmio_dump: - mov edx, eax + mov edx, [MMIO_Map] mov esi, 64 mov ecx, 0x099 ; dump color : blue add ebx, 10 mov [gr_pos], ebx mcall 4 - mov ecx, eax ; release the tried page + mov ecx, [MMIO_Map] ; release the tried page mcall 62,13 mmio_next_bar: @@ -518,8 +518,8 @@ DATA Form: dw 800 ; window width (no more, special for 800x600) dw 100 ; window x start - dw 420 ; window height - dw 100 ; window y start + dw 620 ; window height + dw 20 ; window y start title db 'PCI Device Enumerator v 2.2 by J.Delozier, S.Kuzmin, V.Hanla, M.Zakiyanov, A.Jerdev', 0 @@ -537,7 +537,7 @@ PCIWin mls \ bar_ram db 'BARx: MMIO block', 0 bar_io db 'BARx: IO ports',0 bar_um db 'BARx: unmapped',0 -bar_rom db 'BAR6: Expansion ROM', 0 +bar_rom db 'BAR6: Expansion ROM', 0 ;------------------------------------------------------------------ ; UNINITIALIZED DATA AREA