[Top][All Lists]
[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
- [Qemu-devel] [vgabios patch v2 00/11] vgabios update, Gerd Hoffmann, 2010/11/03
- [Qemu-devel] [vgabios patch v2 03/11] - preparing for release 0.6c, Gerd Hoffmann, 2010/11/03
- [Qemu-devel] [vgabios patch v2 06/11] Makefile cleanup, Gerd Hoffmann, 2010/11/03
- [Qemu-devel] [vgabios patch v2 01/11] - use VBE LFB address from PCI base address if present (rewrite of the cirrus specific function in main vgabios code) - removed unnecessary spaces, Gerd Hoffmann, 2010/11/03
- [Qemu-devel] [vgabios patch v2 02/11] - added support for a lot more non-standard VBE modes (e.g. widescreen modes) - requires latest Bochs VBE code (16 MB video memory, VBE_DISPI_ID5, VRAM size in 64k pages stored in VBE register) - check if VBE mode is supported with current VRAM size, Gerd Hoffmann, 2010/11/03
- [Qemu-devel] [vgabios patch v2 07/11] Add defines for PCI IDs., Gerd Hoffmann, 2010/11/03
- [Qemu-devel] [vgabios patch v2 09/11] update pci_get_lfb_addr for vmware vga,
Gerd Hoffmann <=
- [Qemu-devel] [vgabios patch v2 10/11] Add qemu vmware vga pci bios, Gerd Hoffmann, 2010/11/03
- [Qemu-devel] [vgabios patch v2 04/11] - biosfn_write_teletype: fixed attribute when scrolling in text mode, Gerd Hoffmann, 2010/11/03
- [Qemu-devel] [vgabios patch v2 05/11] - updates for release 0.6c, Gerd Hoffmann, 2010/11/03
- [Qemu-devel] [vgabios patch v2 08/11] Add qemu stdvga pci bios, Gerd Hoffmann, 2010/11/03
- [Qemu-devel] [vgabios patch v2 11/11] Add qemu qxl vga pci bios, Gerd Hoffmann, 2010/11/03
- Re: [Qemu-devel] [vgabios patch v2 00/11] vgabios update, Gerd Hoffmann, 2010/11/09