diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ded333a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +vgabios-0.6c.tgz diff --git a/0001-Makefile-cleanup.patch b/0001-Makefile-cleanup.patch new file mode 100644 index 0000000..038bf3b --- /dev/null +++ b/0001-Makefile-cleanup.patch @@ -0,0 +1,119 @@ +From 4daf1128d4bb2c7e30b0c2f3d279c8fa5759bb39 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Thu, 6 May 2010 09:58:40 +0200 +Subject: [PATCH 1/7] Makefile cleanup + +Use a single rule for building bios binaries. +Use target specific variables to set compile flags. + +This makes it more obvious what the differences between the versions +are. It also makes it easier to add new bios binaries with slightly +different settings. +--- + Makefile | 76 +++++++++++++++++++++++++++---------------------------------- + 1 files changed, 34 insertions(+), 42 deletions(-) + +diff --git a/Makefile b/Makefile +index 00e8c66..c3c744c 100644 +--- a/Makefile ++++ b/Makefile +@@ -16,8 +16,7 @@ VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\"" + + all: bios cirrus-bios + +- +-bios: biossums vgabios.bin vgabios.debug.bin ++bios: vgabios.bin vgabios.debug.bin + + cirrus-bios: vgabios-cirrus.bin vgabios-cirrus.debug.bin + +@@ -27,6 +26,39 @@ clean: + + dist-clean: clean + ++# source files ++VGA_FILES := vgabios.c vgabios.h vgafonts.h vgatables.h ++VBE_FILES := vbe.h vbe.c vbetables.h ++ ++# build flags ++vgabios.bin : VGAFLAGS := -DVBE ++vgabios.debug.bin : VGAFLAGS := -DVBE -DDEBUG ++vgabios-cirrus.bin : VGAFLAGS := -DCIRRUS -DPCIBIOS ++vgabios-cirrus.debug.bin : VGAFLAGS := -DCIRRUS -DPCIBIOS -DCIRRUS_DEBUG ++ ++# dist names ++vgabios.bin : DISTNAME := VGABIOS-lgpl-latest.bin ++vgabios.debug.bin : DISTNAME := VGABIOS-lgpl-latest.debug.bin ++vgabios-cirrus.bin : DISTNAME := VGABIOS-lgpl-latest.cirrus.bin ++vgabios-cirrus.debug.bin : DISTNAME := VGABIOS-lgpl-latest.cirrus.debug.bin ++ ++# dependencies ++vgabios.bin : $(VGA_FILES) $(VBE_FILES) biossums ++vgabios.debug.bin : $(VGA_FILES) $(VBE_FILES) biossums ++vgabios-cirrus.bin : $(VGA_FILES) clext.c biossums ++vgabios-cirrus.debug.bin : $(VGA_FILES) clext.c biossums ++ ++# build rule ++%.bin: ++ $(GCC) -E -P vgabios.c $(VGABIOS_VERS) $(VGAFLAGS) $(VGABIOS_DATE) > _$*_.c ++ $(BCC) -o $*.s -C-c -D__i86__ -S -0 _$*_.c ++ sed -e 's/^\.text//' -e 's/^\.data//' $*.s > _$*_.s ++ $(AS86) _$*_.s -b $*.bin -u -w- -g -0 -j -O -l $*.txt ++ rm -f _$*_.s _$*_.c $*.s ++ mv $*.bin $(DISTNAME) ++ ./biossums $(DISTNAME) ++ ls -l $(DISTNAME) ++ + release: + VGABIOS_VERS=\"-DVGABIOS_VERS=\\\"$(RELVERS)\\\"\" make bios cirrus-bios + /bin/rm -f *.o *.s *.ld86 \ +@@ -37,46 +69,6 @@ release: + cp VGABIOS-lgpl-latest.cirrus.debug.bin ../$(RELEASE).cirrus.debug.bin + tar czvf ../$(RELEASE).tgz --exclude CVS -C .. $(RELEASE)/ + +-vgabios.bin: vgabios.c vgabios.h vgafonts.h vgatables.h vbe.h vbe.c vbetables.h +- $(GCC) -E -P vgabios.c $(VGABIOS_VERS) -DVBE $(VGABIOS_DATE) > _vgabios_.c +- $(BCC) -o vgabios.s -C-c -D__i86__ -S -0 _vgabios_.c +- sed -e 's/^\.text//' -e 's/^\.data//' vgabios.s > _vgabios_.s +- $(AS86) _vgabios_.s -b vgabios.bin -u -w- -g -0 -j -O -l vgabios.txt +- rm -f _vgabios_.s _vgabios_.c vgabios.s +- mv vgabios.bin VGABIOS-lgpl-latest.bin +- ./biossums VGABIOS-lgpl-latest.bin +- ls -l VGABIOS-lgpl-latest.bin +- +-vgabios.debug.bin: vgabios.c vgabios.h vgafonts.h vgatables.h vbe.h vbe.c vbetables.h +- $(GCC) -E -P vgabios.c $(VGABIOS_VERS) -DVBE -DDEBUG $(VGABIOS_DATE) > _vgabios-debug_.c +- $(BCC) -o vgabios-debug.s -C-c -D__i86__ -S -0 _vgabios-debug_.c +- sed -e 's/^\.text//' -e 's/^\.data//' vgabios-debug.s > _vgabios-debug_.s +- $(AS86) _vgabios-debug_.s -b vgabios.debug.bin -u -w- -g -0 -j -O -l vgabios.debug.txt +- rm -f _vgabios-debug_.s _vgabios-debug_.c vgabios-debug.s +- mv vgabios.debug.bin VGABIOS-lgpl-latest.debug.bin +- ./biossums VGABIOS-lgpl-latest.debug.bin +- ls -l VGABIOS-lgpl-latest.debug.bin +- +-vgabios-cirrus.bin: vgabios.c vgabios.h vgafonts.h vgatables.h clext.c +- $(GCC) -E -P vgabios.c $(VGABIOS_VERS) -DCIRRUS -DPCIBIOS $(VGABIOS_DATE) > _vgabios-cirrus_.c +- $(BCC) -o vgabios-cirrus.s -C-c -D__i86__ -S -0 _vgabios-cirrus_.c +- sed -e 's/^\.text//' -e 's/^\.data//' vgabios-cirrus.s > _vgabios-cirrus_.s +- $(AS86) _vgabios-cirrus_.s -b vgabios-cirrus.bin -u -w- -g -0 -j -O -l vgabios.cirrus.txt +- rm -f _vgabios-cirrus_.s _vgabios-cirrus_.c vgabios-cirrus.s +- mv vgabios-cirrus.bin VGABIOS-lgpl-latest.cirrus.bin +- ./biossums VGABIOS-lgpl-latest.cirrus.bin +- ls -l VGABIOS-lgpl-latest.cirrus.bin +- +-vgabios-cirrus.debug.bin: vgabios.c vgabios.h vgafonts.h vgatables.h clext.c +- $(GCC) -E -P vgabios.c $(VGABIOS_VERS) -DCIRRUS -DCIRRUS_DEBUG -DPCIBIOS $(VGABIOS_DATE) > _vgabios-cirrus-debug_.c +- $(BCC) -o vgabios-cirrus-debug.s -C-c -D__i86__ -S -0 _vgabios-cirrus-debug_.c +- sed -e 's/^\.text//' -e 's/^\.data//' vgabios-cirrus-debug.s > _vgabios-cirrus-debug_.s +- $(AS86) _vgabios-cirrus-debug_.s -b vgabios.cirrus.debug.bin -u -w- -g -0 -j -O -l vgabios.cirrus.debug.txt +- rm -f _vgabios-cirrus-debug_.s _vgabios-cirrus-debug_.c vgabios-cirrus-debug.s +- mv vgabios.cirrus.debug.bin VGABIOS-lgpl-latest.cirrus.debug.bin +- ./biossums VGABIOS-lgpl-latest.cirrus.debug.bin +- ls -l VGABIOS-lgpl-latest.cirrus.debug.bin +- + biossums: biossums.c + $(CC) -o biossums biossums.c + +-- +1.7.2.1 + diff --git a/0002-Add-defines-for-PCI-IDs.patch b/0002-Add-defines-for-PCI-IDs.patch new file mode 100644 index 0000000..4bf9088 --- /dev/null +++ b/0002-Add-defines-for-PCI-IDs.patch @@ -0,0 +1,66 @@ +From bb44e12f7b1b7ccd040c58ddb0e8cdaf2f9f5a67 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Thu, 6 May 2010 10:21:47 +0200 +Subject: [PATCH 2/7] Add defines for PCI IDs. + +This patch allows to set PCI vendor and device IDs using defines +(PCI_VID and PCI_DID). Use it for vgabios.bin. +--- + Makefile | 4 ++-- + vbe.c | 6 +++++- + vgabios.c | 5 +++++ + 3 files changed, 12 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index c3c744c..d440b93 100644 +--- a/Makefile ++++ b/Makefile +@@ -31,8 +31,8 @@ VGA_FILES := vgabios.c vgabios.h vgafonts.h vgatables.h + VBE_FILES := vbe.h vbe.c vbetables.h + + # build flags +-vgabios.bin : VGAFLAGS := -DVBE +-vgabios.debug.bin : VGAFLAGS := -DVBE -DDEBUG ++vgabios.bin : VGAFLAGS := -DVBE -DPCI_VID=0x1234 ++vgabios.debug.bin : VGAFLAGS := -DVBE -DPCI_VID=0x1234 -DDEBUG + vgabios-cirrus.bin : VGAFLAGS := -DCIRRUS -DPCIBIOS + vgabios-cirrus.debug.bin : VGAFLAGS := -DCIRRUS -DPCIBIOS -DCIRRUS_DEBUG + +diff --git a/vbe.c b/vbe.c +index ecff90d..1fab2f9 100644 +--- a/vbe.c ++++ b/vbe.c +@@ -925,7 +925,11 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI; + if (using_lfb) { + info.NumberOfBanks = 1; + } +- lfb_addr = pci_get_lfb_addr(0x1234); // experimental vendor ++#ifdef PCI_VID ++ lfb_addr = pci_get_lfb_addr(PCI_VID); ++#else ++ lfb_addr = 0; ++#endif + if (lfb_addr > 0) { + info.PhysBasePtr = ((Bit32u)lfb_addr << 16); + } +diff --git a/vgabios.c b/vgabios.c +index ea3aae8..2e8b5d7 100644 +--- a/vgabios.c ++++ b/vgabios.c +@@ -210,8 +210,13 @@ vgabios_pci_data: + .word 0x1013 + .word 0x00b8 // CLGD5446 + #else ++#ifdef PCI_VID ++.word PCI_VID ++.word PCI_DID ++#else + #error "Unknown PCI vendor and device id" + #endif ++#endif + .word 0 // reserved + .word 0x18 // dlen + .byte 0 // revision +-- +1.7.2.1 + diff --git a/0003-Add-qemu-stdvga-pci-bios.patch b/0003-Add-qemu-stdvga-pci-bios.patch new file mode 100644 index 0000000..1bd47a1 --- /dev/null +++ b/0003-Add-qemu-stdvga-pci-bios.patch @@ -0,0 +1,59 @@ +From be965ab705738d3dfe21ab2bafb15a92639ae50c Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Thu, 6 May 2010 10:39:33 +0200 +Subject: [PATCH 3/7] Add qemu stdvga pci bios + +Add PCI vgabios for the qemu standard vga (1234:1111). +Name it vgabios-stdvga.bin. +--- + Makefile | 10 +++++++++- + 1 files changed, 9 insertions(+), 1 deletions(-) + +diff --git a/Makefile b/Makefile +index d440b93..58f064e 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,12 +14,14 @@ RELVERS = `pwd | sed "s-.*/--" | sed "s/vgabios//" | sed "s/-//"` + + VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\"" + +-all: bios cirrus-bios ++all: bios cirrus-bios stdvga-bios + + bios: vgabios.bin vgabios.debug.bin + + cirrus-bios: vgabios-cirrus.bin vgabios-cirrus.debug.bin + ++stdvga-bios: vgabios-stdvga.bin vgabios-stdvga.debug.bin ++ + clean: + /bin/rm -f biossums vbetables-gen vbetables.h *.o *.s *.ld86 \ + temp.awk.* vgabios*.orig _vgabios_* _vgabios-debug_* core vgabios*.bin vgabios*.txt $(RELEASE).bin *.bak +@@ -35,18 +37,24 @@ vgabios.bin : VGAFLAGS := -DVBE -DPCI_VID=0x1234 + vgabios.debug.bin : VGAFLAGS := -DVBE -DPCI_VID=0x1234 -DDEBUG + vgabios-cirrus.bin : VGAFLAGS := -DCIRRUS -DPCIBIOS + vgabios-cirrus.debug.bin : VGAFLAGS := -DCIRRUS -DPCIBIOS -DCIRRUS_DEBUG ++vgabios-stdvga.bin : VGAFLAGS := -DVBE -DPCIBIOS -DPCI_VID=0x1234 -DPCI_DID=0x1111 ++vgabios-stdvga.debug.bin : VGAFLAGS := -DVBE -DPCIBIOS -DPCI_VID=0x1234 -DPCI_DID=0x1111 -DDEBUG + + # dist names + vgabios.bin : DISTNAME := VGABIOS-lgpl-latest.bin + vgabios.debug.bin : DISTNAME := VGABIOS-lgpl-latest.debug.bin + vgabios-cirrus.bin : DISTNAME := VGABIOS-lgpl-latest.cirrus.bin + vgabios-cirrus.debug.bin : DISTNAME := VGABIOS-lgpl-latest.cirrus.debug.bin ++vgabios-stdvga.bin : DISTNAME := VGABIOS-lgpl-latest.stdvga.bin ++vgabios-stdvga.debug.bin : DISTNAME := VGABIOS-lgpl-latest.stdvga.debug.bin + + # dependencies + vgabios.bin : $(VGA_FILES) $(VBE_FILES) biossums + vgabios.debug.bin : $(VGA_FILES) $(VBE_FILES) biossums + vgabios-cirrus.bin : $(VGA_FILES) clext.c biossums + vgabios-cirrus.debug.bin : $(VGA_FILES) clext.c biossums ++vgabios-stdvga.bin : $(VGA_FILES) $(VBE_FILES) biossums ++vgabios-stdvga.debug.bin : $(VGA_FILES) $(VBE_FILES) biossums + + # build rule + %.bin: +-- +1.7.2.1 + diff --git a/0004-update-pci_get_lfb_addr-for-vmware-vga.patch b/0004-update-pci_get_lfb_addr-for-vmware-vga.patch new file mode 100644 index 0000000..50e67b0 --- /dev/null +++ b/0004-update-pci_get_lfb_addr-for-vmware-vga.patch @@ -0,0 +1,60 @@ +From 846780ebcad7a907383173bd2f4fcc4e520e4611 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Thu, 6 May 2010 15:11:39 +0200 +Subject: [PATCH 4/7] update pci_get_lfb_addr for vmware vga + +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. +--- + 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.2.1 + diff --git a/0005-Add-qemu-vmware-vga-pci-bios.patch b/0005-Add-qemu-vmware-vga-pci-bios.patch new file mode 100644 index 0000000..74cf46d --- /dev/null +++ b/0005-Add-qemu-vmware-vga-pci-bios.patch @@ -0,0 +1,63 @@ +From 824c3dfda24e414ea111042483668ff3f14aadf5 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Thu, 6 May 2010 10:47:01 +0200 +Subject: [PATCH 5/7] Add qemu vmware vga pci bios + +Add PCI vgabios for the qemu vmeare vga (15ad:0405). +Name it vgabios-vmware.bin. +--- + Makefile | 10 +++++++++- + 1 files changed, 9 insertions(+), 1 deletions(-) + +diff --git a/Makefile b/Makefile +index 58f064e..2a093e8 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ RELVERS = `pwd | sed "s-.*/--" | sed "s/vgabios//" | sed "s/-//"` + + VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\"" + +-all: bios cirrus-bios stdvga-bios ++all: bios cirrus-bios stdvga-bios vmware-bios + + bios: vgabios.bin vgabios.debug.bin + +@@ -22,6 +22,8 @@ cirrus-bios: vgabios-cirrus.bin vgabios-cirrus.debug.bin + + stdvga-bios: vgabios-stdvga.bin vgabios-stdvga.debug.bin + ++vmware-bios: vgabios-vmware.bin vgabios-vmware.debug.bin ++ + clean: + /bin/rm -f biossums vbetables-gen vbetables.h *.o *.s *.ld86 \ + temp.awk.* vgabios*.orig _vgabios_* _vgabios-debug_* core vgabios*.bin vgabios*.txt $(RELEASE).bin *.bak +@@ -39,6 +41,8 @@ vgabios-cirrus.bin : VGAFLAGS := -DCIRRUS -DPCIBIOS + vgabios-cirrus.debug.bin : VGAFLAGS := -DCIRRUS -DPCIBIOS -DCIRRUS_DEBUG + vgabios-stdvga.bin : VGAFLAGS := -DVBE -DPCIBIOS -DPCI_VID=0x1234 -DPCI_DID=0x1111 + vgabios-stdvga.debug.bin : VGAFLAGS := -DVBE -DPCIBIOS -DPCI_VID=0x1234 -DPCI_DID=0x1111 -DDEBUG ++vgabios-vmware.bin : VGAFLAGS := -DVBE -DPCIBIOS -DPCI_VID=0x15ad -DPCI_DID=0x0405 ++vgabios-vmware.debug.bin : VGAFLAGS := -DVBE -DPCIBIOS -DPCI_VID=0x15ad -DPCI_DID=0x0405 -DDEBUG + + # dist names + vgabios.bin : DISTNAME := VGABIOS-lgpl-latest.bin +@@ -47,6 +51,8 @@ vgabios-cirrus.bin : DISTNAME := VGABIOS-lgpl-latest.cirrus.bin + vgabios-cirrus.debug.bin : DISTNAME := VGABIOS-lgpl-latest.cirrus.debug.bin + vgabios-stdvga.bin : DISTNAME := VGABIOS-lgpl-latest.stdvga.bin + vgabios-stdvga.debug.bin : DISTNAME := VGABIOS-lgpl-latest.stdvga.debug.bin ++vgabios-vmware.bin : DISTNAME := VGABIOS-lgpl-latest.vmware.bin ++vgabios-vmware.debug.bin : DISTNAME := VGABIOS-lgpl-latest.vmware.debug.bin + + # dependencies + vgabios.bin : $(VGA_FILES) $(VBE_FILES) biossums +@@ -55,6 +61,8 @@ vgabios-cirrus.bin : $(VGA_FILES) clext.c biossums + vgabios-cirrus.debug.bin : $(VGA_FILES) clext.c biossums + vgabios-stdvga.bin : $(VGA_FILES) $(VBE_FILES) biossums + vgabios-stdvga.debug.bin : $(VGA_FILES) $(VBE_FILES) biossums ++vgabios-vmware.bin : $(VGA_FILES) $(VBE_FILES) biossums ++vgabios-vmware.debug.bin : $(VGA_FILES) $(VBE_FILES) biossums + + # build rule + %.bin: +-- +1.7.2.1 + diff --git a/0006-Add-qemu-qxl-vga-pci-bios.patch b/0006-Add-qemu-qxl-vga-pci-bios.patch new file mode 100644 index 0000000..8cc7f2b --- /dev/null +++ b/0006-Add-qemu-qxl-vga-pci-bios.patch @@ -0,0 +1,63 @@ +From 19ea12c230ded95928ecaef0db47a82231c2e485 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Thu, 6 May 2010 10:50:41 +0200 +Subject: [PATCH 6/7] Add qemu qxl vga pci bios + +Add PCI vgabios for the qemu qxl vga (1b36:0100). +Name it vgabios-qxl.bin. +--- + Makefile | 10 +++++++++- + 1 files changed, 9 insertions(+), 1 deletions(-) + +diff --git a/Makefile b/Makefile +index 2a093e8..578721a 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ RELVERS = `pwd | sed "s-.*/--" | sed "s/vgabios//" | sed "s/-//"` + + VGABIOS_DATE = "-DVGABIOS_DATE=\"$(RELDATE)\"" + +-all: bios cirrus-bios stdvga-bios vmware-bios ++all: bios cirrus-bios stdvga-bios vmware-bios qxl-bios + + bios: vgabios.bin vgabios.debug.bin + +@@ -24,6 +24,8 @@ stdvga-bios: vgabios-stdvga.bin vgabios-stdvga.debug.bin + + vmware-bios: vgabios-vmware.bin vgabios-vmware.debug.bin + ++qxl-bios: vgabios-qxl.bin vgabios-qxl.debug.bin ++ + clean: + /bin/rm -f biossums vbetables-gen vbetables.h *.o *.s *.ld86 \ + temp.awk.* vgabios*.orig _vgabios_* _vgabios-debug_* core vgabios*.bin vgabios*.txt $(RELEASE).bin *.bak +@@ -43,6 +45,8 @@ vgabios-stdvga.bin : VGAFLAGS := -DVBE -DPCIBIOS -DPCI_VID=0x1234 -DPCI_DI + vgabios-stdvga.debug.bin : VGAFLAGS := -DVBE -DPCIBIOS -DPCI_VID=0x1234 -DPCI_DID=0x1111 -DDEBUG + vgabios-vmware.bin : VGAFLAGS := -DVBE -DPCIBIOS -DPCI_VID=0x15ad -DPCI_DID=0x0405 + vgabios-vmware.debug.bin : VGAFLAGS := -DVBE -DPCIBIOS -DPCI_VID=0x15ad -DPCI_DID=0x0405 -DDEBUG ++vgabios-qxl.bin : VGAFLAGS := -DVBE -DPCIBIOS -DPCI_VID=0x1b36 -DPCI_DID=0x0100 ++vgabios-qxl.debug.bin : VGAFLAGS := -DVBE -DPCIBIOS -DPCI_VID=0x1b36 -DPCI_DID=0x0100 -DDEBUG + + # dist names + vgabios.bin : DISTNAME := VGABIOS-lgpl-latest.bin +@@ -53,6 +57,8 @@ vgabios-stdvga.bin : DISTNAME := VGABIOS-lgpl-latest.stdvga.bin + vgabios-stdvga.debug.bin : DISTNAME := VGABIOS-lgpl-latest.stdvga.debug.bin + vgabios-vmware.bin : DISTNAME := VGABIOS-lgpl-latest.vmware.bin + vgabios-vmware.debug.bin : DISTNAME := VGABIOS-lgpl-latest.vmware.debug.bin ++vgabios-qxl.bin : DISTNAME := VGABIOS-lgpl-latest.qxl.bin ++vgabios-qxl.debug.bin : DISTNAME := VGABIOS-lgpl-latest.qxl.debug.bin + + # dependencies + vgabios.bin : $(VGA_FILES) $(VBE_FILES) biossums +@@ -63,6 +69,8 @@ vgabios-stdvga.bin : $(VGA_FILES) $(VBE_FILES) biossums + vgabios-stdvga.debug.bin : $(VGA_FILES) $(VBE_FILES) biossums + vgabios-vmware.bin : $(VGA_FILES) $(VBE_FILES) biossums + vgabios-vmware.debug.bin : $(VGA_FILES) $(VBE_FILES) biossums ++vgabios-qxl.bin : $(VGA_FILES) $(VBE_FILES) biossums ++vgabios-qxl.debug.bin : $(VGA_FILES) $(VBE_FILES) biossums + + # build rule + %.bin: +-- +1.7.2.1 + diff --git a/dead.package b/dead.package deleted file mode 100644 index 2f5a8cc..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -Obsoleted by seabios provided seavgabios diff --git a/sources b/sources new file mode 100644 index 0000000..0720cd1 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +2b0a5387594bb70cb1dbcc1f79ec824c vgabios-0.6c.tgz diff --git a/vgabios-provide-high-res.patch b/vgabios-provide-high-res.patch new file mode 100644 index 0000000..054b8f3 --- /dev/null +++ b/vgabios-provide-high-res.patch @@ -0,0 +1,56 @@ +From c3885286784174680811be037a8cef83c43c47c2 Mon Sep 17 00:00:00 2001 +From: Glauber Costa +Date: Thu, 18 Jun 2009 18:26:00 -0400 +Subject: [PATCH] provide high res resolutions to non-cirrus devices. + +Add widescreen modes to vbetables-gen.c , and increase device memory. + +Signed-off-by: Glauber Costa +--- + vbetables-gen.c | 23 ++++++++++++++++++++++- + 1 files changed, 22 insertions(+), 1 deletions(-) + +diff --git a/vbetables-gen.c b/vbetables-gen.c +index 7014a16..96ac85a 100644 +--- a/vbetables-gen.c ++++ b/vbetables-gen.c +@@ -2,7 +2,7 @@ + #include + #include + +-#define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB 8 ++#define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB 16 + + typedef struct { + int width; +@@ -55,6 +55,27 @@ ModeInfo modes[] = { + { 1152, 864, 16 , 0x14a}, + { 1152, 864, 24 , 0x14b}, + { 1152, 864, 32 , 0x14c}, ++{ 1280, 800, 16 , 0x178}, ++{ 1280, 800, 24 , 0x179}, ++{ 1280, 800, 32 , 0x17a}, ++{ 1280, 960, 16 , 0x17b}, ++{ 1280, 960, 24 , 0x17c}, ++{ 1280, 960, 32 , 0x17d}, ++{ 1440, 900, 16 , 0x17e}, ++{ 1440, 900, 24 , 0x17f}, ++{ 1440, 900, 32 , 0x180}, ++{ 1400, 1050, 16 , 0x181}, ++{ 1400, 1050, 24 , 0x182}, ++{ 1400, 1050, 32 , 0x183}, ++{ 1680, 1050, 16 , 0x184}, ++{ 1680, 1050, 24 , 0x185}, ++{ 1680, 1050, 32 , 0x186}, ++{ 1920, 1200, 16 , 0x187}, ++{ 1920, 1200, 24 , 0x188}, ++{ 1920, 1200, 32 , 0x189}, ++{ 2560, 1600, 16 , 0x18a}, ++{ 2560, 1600, 24 , 0x18b}, ++{ 2560, 1600, 32 , 0x18c}, + { 0, }, + }; + +-- +1.6.2.2 + diff --git a/vgabios.spec b/vgabios.spec new file mode 100644 index 0000000..feb85f0 --- /dev/null +++ b/vgabios.spec @@ -0,0 +1,100 @@ +Name: vgabios +Version: 0.6c +Release: 2%{?dist} +Summary: LGPL implementation of a vga video bios + +Group: Applications/Emulators +License: LGPLv2 +URL: http://www.nongnu.org/vgabios/ +Source0: http://savannah.gnu.org/download/%{name}/%{name}-%{version}.tgz +Patch01: 0001-Makefile-cleanup.patch +Patch02: 0002-Add-defines-for-PCI-IDs.patch +Patch03: 0003-Add-qemu-stdvga-pci-bios.patch +Patch04: 0004-update-pci_get_lfb_addr-for-vmware-vga.patch +Patch05: 0005-Add-qemu-vmware-vga-pci-bios.patch +Patch06: 0006-Add-qemu-qxl-vga-pci-bios.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: dev86 +BuildArch: noarch + +%description +vgabios is an LPGL implementation of a bios for a video card. +It is tied to plex86/bochs, althoug it will likely work on other +emulators. It is not intended for use in real cards. + + +%prep +%setup -q -n %{name}-%{version} + +%patch01 -p1 +%patch02 -p1 +%patch03 -p1 +%patch04 -p1 +%patch05 -p1 +%patch06 -p1 + +%build +make clean +make biossums %{?_smp_mflags} +make %{?_smp_mflags} + + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT%{_datadir}/vgabios +install -m 0644 VGABIOS-lgpl-*.bin $RPM_BUILD_ROOT%{_datadir}/vgabios + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%files +%defattr(-,root,root,-) +%dir %{_datadir}/vgabios/ +%doc README COPYING +%{_datadir}/vgabios/VGABIOS-lgpl-latest.bin +%{_datadir}/vgabios/VGABIOS-lgpl-latest.cirrus.bin +%{_datadir}/vgabios/VGABIOS-lgpl-latest.qxl.bin +%{_datadir}/vgabios/VGABIOS-lgpl-latest.stdvga.bin +%{_datadir}/vgabios/VGABIOS-lgpl-latest.vmware.bin +%{_datadir}/vgabios/VGABIOS-lgpl-latest.cirrus.debug.bin +%{_datadir}/vgabios/VGABIOS-lgpl-latest.debug.bin +%{_datadir}/vgabios/VGABIOS-lgpl-latest.qxl.debug.bin +%{_datadir}/vgabios/VGABIOS-lgpl-latest.stdvga.debug.bin +%{_datadir}/vgabios/VGABIOS-lgpl-latest.vmware.debug.bin + + +%changelog +* Tue Aug 10 2010 Justin M. Forbes - 0.6c-2 +- Patches from freedesktop.org to support newer qemu. + +* Fri May 14 2010 Matthew Garrett - 0.6c-1 +- Update to newer upstream to permit S3 under Windows XP + +* Sun Jul 26 2009 Fedora Release Engineering - 0.6b-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Jun 19 2009 Glauber Costa - 0.6b-2 +- properly add the patch + +* Fri Jun 19 2009 Glauber Costa - 0.6b-1 +- applied vgabios-provide-high-res.patch, that should fix #499060 +- Changed versioning naming, since the "b" in 0.6b does not stand for beta. + +* Mon Mar 02 2009 Glauber Costa - 0.6-0.5.b +- fixed naming to comply with guidelines. + +* Tue Feb 17 2009 Glauber Costa - 0.6-0.4beta +- removed leftovers and fixed rpmlint errors. + +* Mon Feb 16 2009 Glauber Costa - 0.6-0.3beta +- using dev86 to build directly on all arches, made package noarch. + No more binaries \o/ + +* Fri Feb 13 2009 Glauber Costa - 0.6-0.2beta +- Addressing BZ 485418: added doc section, clean build root before + we proceed, own vgabios directory +* Fri Feb 13 2009 Glauber Costa - 0.6-0.1beta +- Created initial package