qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [vgabios patch v2 09/11] update pci_get_lfb_addr for vmware


From: Gerd Hoffmann
Subject: [Qemu-devel] [vgabios patch v2 09/11] update pci_get_lfb_addr for vmware vga
Date: Wed, 3 Nov 2010 12:41:54 +0100

vmware vga has the framebuffer at pci region 1 not 0.  This patch makes
pci_get_lfb_addr check region 1 too.  It also gives names to the
numbered labels to make the code more readable.

Signed-off-by: Gerd Hoffmann <address@hidden>
---
 vgabios.c |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/vgabios.c b/vgabios.c
index 2e8b5d7..c1e312b 100644
--- a/vgabios.c
+++ b/vgabios.c
@@ -3852,26 +3852,31 @@ _pci_get_lfb_addr:
     mov dl, #0x00
     call pci_read_reg
     cmp ax, #0xffff
-    jz pci_get_lfb_addr_5
- pci_get_lfb_addr_3:
+    jz pci_get_lfb_addr_fail
+ pci_get_lfb_addr_next_dev:
     mov dl, #0x00
     call pci_read_reg
     cmp ax, bx ;; check vendor
-    jz pci_get_lfb_addr_4
+    jz pci_get_lfb_addr_found
     add cx, #0x8
     cmp cx, #0x200 ;; search bus #0 and #1
-    jb pci_get_lfb_addr_3
- pci_get_lfb_addr_5:
+    jb pci_get_lfb_addr_next_dev
+ pci_get_lfb_addr_fail:
     xor dx, dx ;; no LFB
-    jmp pci_get_lfb_addr_6
- pci_get_lfb_addr_4:
+    jmp pci_get_lfb_addr_return
+ pci_get_lfb_addr_found:
     mov dl, #0x10 ;; I/O space #0
     call pci_read_reg
     test ax, #0xfff1
-    jnz pci_get_lfb_addr_5
+    jz pci_get_lfb_addr_success
+    mov dl, #0x14 ;; I/O space #1
+    call pci_read_reg
+    test ax, #0xfff1
+    jnz pci_get_lfb_addr_fail
+ pci_get_lfb_addr_success:
     shr eax, #16
     mov dx, ax ;; LFB address
- pci_get_lfb_addr_6:
+ pci_get_lfb_addr_return:
   pop eax
   mov ax, dx
   pop dx
-- 
1.7.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]