vgabios: upgrade to CVS version
PATCH 1/1 vgabios: upgrade to CVS version
Upgrade the vgabios to the CVS version.
cvs -z3 -d:pserver:[email protected]:/sources/vgabios co vgabios
Patchs backported:
- vgabios: Support VESA power management extensions. (cs 17692)
- x86, hvm: Allow Cirrus VGA BIOS to clear framebuffer with minimal
PIO writes. (cs 16242)
This patch fixes the bug that James had about the IDR boot CD.
Signature · 1 line
Jean Guyader
tools/firmware/vgabios/ChangeLog +204 -0
@@ -1,3 +1,207 @@ 2005-05-24 16:50 vruppert +2008-05-11 08:40 vruppert + + * biossums.c (1.6): + + - fixed a warning + +2008-03-02 08:47 vruppert + + * vbe.c (1.60): + + - added debug message for unsupported VBE modes + +2008-02-24 09:18 vruppert + + * vbe.c (1.59): + + - in LFB modes the number of banks must be set to 1 + +2008-01-27 10:44 vruppert + + * Makefile (1.21), biossums.c (1.5), vgabios.c (1.67): + + - added PCI data structure for the Cirrus VGABIOS images + - added support for the PCI data structure in biossums + - updated year in copyright + +2008-01-26 11:46 vruppert + + * BUGS (1.4), Makefile (1.20), README (1.14), TODO (1.13), vbe_display_api.txt (1.14): + + - whitespace cleanup + +2006-11-26 10:43 vruppert + + * Makefile (1.19): + + - disable the generation of linemarkers by the preprocessor, since the latest + versions of bcc don't like them + +2006-09-02 13:15 vruppert + + * biossums.c (1.4): + + - the biossums utility no longer modifies VGABIOS images with proper checksum + and size + +2006-08-19 14:28 vruppert + + * Changelog (1.26), README (1.13), TODO (1.12): + + - updates for 0.6a release + +2006-08-19 09:39 vruppert + + * vbe.c (1.58): + + - improved VGA compatible setup for VBE modes (disable CGA and Hercules + compatible memory layout) + +2006-08-18 20:39 vruppert + + * vbe.c (1.57): + + - improved VGA compatible setup for >=8bpp VBE modes (CRTC doubleword mode and + GRDC shift register setting added) + - now using symbolic name for CRTC address register + +2006-08-15 20:42 vruppert + + * vbe.c (1.56), vbetables-gen.c (1.4): + + - init 4bpp VBE modes by a temporary switch to VGA mode 0x6A + - all 4bpp VBE modes now enabled + +2006-08-14 20:24 vruppert + + * vbe.c (1.55): + + - VGA compatible setup for VBE modes improved (Bochs hack can be removed now) + +2006-08-12 07:51 vruppert + + * .cvsignore (1.1): + + - .cvsignore added for auto-generated file + +2006-08-12 07:47 vruppert + + * vbe.c (1.54), vbe.h (1.27), vbe_display_api.txt (1.13), vbetables-gen.c (1.3): + + - cleaned up VBE memory size definitions (removed duplicate defines, main + definition now in vbetables-gen.c) + +2006-08-09 21:28 vruppert + + * vbetables.h (1.30): + + - removed auto-generated file + +2006-08-09 21:26 vruppert + + * vbe.c (1.53), vbe.h (1.26), vbe_display_api.txt (1.12), vbetables-gen.c (1.2), + vbetables.h (1.29): + + - VBE video memory increased to 8 MB + - VBE dispi ID changed to B0C4 + - documentation update + +2006-07-11 08:03 vruppert + + * Makefile (1.18), vbetables-gen.c (1.1), vbetables.h (1.28): + + - generate vbetables.h dynamicly + * initial patch from the qemu project by Fabrice Bellard + * only add modes that fit in video memory (still 4 MB) + * several other fixes (e.g. 4 bpp specific stuff, number of pages) + +2006-07-10 07:47 vruppert + + * vgabios.c (1.66): + + - biosfn_scroll(): check variable 'i' for underflowing when scrolling downwards + to avoid screen corruption + +2006-07-10 07:47 vruppert + + * vbe.c (1.52): + + - VBE set bank functions failure handling added + - VBE get/set logical scan line length fixes for the 4bpp mode + +2006-07-08 13:27 vruppert + + * vbe.c (1.51), vbetables.h (1.27): + + - added special case for the 4 bpp when setting VBE display start + - VBE mode table fixes + +2006-07-07 13:30 vruppert + + * clext.c (1.12): + + - bank pointer must be set to 0 after a mode set + +2006-06-21 16:58 vruppert + + * vbe.c (1.50), vbetables.h (1.26): + + - improved VBE display capabilities check (X resulution checked now) + - removed obsolete defines (LFB always available, always generate dynamic list) + - CR/LF to LF fixes + +2006-06-18 15:22 vruppert + + * clext.c (1.11), vbe.c (1.49), vbe.h (1.25), vbetables.h (1.25), vgabios.c + (1.65): + + - applied patch from the qemu project (Fabrice Bellard) + * Cirrus SVGA now supports the "no clear" bit when switching to Cirrus or + VESA mode + * Bochs VBE protected mode interface improved + * save/restore video state support for Bochs VBE and standard VGA added + * Bochs VBE prepared for more modi + +2006-03-25 10:19 vruppert + + * clext.c (1.10), vgabios.c (1.64), vgatables.h (1.10): + + - applied patch from Fabrice Bellard + * added minimal support for the video parameter table (VPT) + * added Cirrus SVGA mode 0x7b (1600x1200x8) + +2005-12-26 19:50 vruppert + + * vbe.c (1.48), vgabios.c (1.63): + + - Bochs VBE protected mode interface added (based on a patch by [email protected]) + +2005-12-26 19:50 vruppert + + * biossums.c (1.3): + + - biossums utility now supports VGABIOS sizes up to 64 kBytes + +2005-09-21 18:45 vruppert + + * vgatables.h (1.9): + + - mode 0x11: all color planes must be enabled in this 2-color VGA mode + +2005-08-30 18:41 vruppert + + * biossums.c (1.2): + + - missing license text added in biossums.c + +2005-07-02 18:39 vruppert + + * vgabios.c (1.62): + + - BIOS configuration word usually reports initial mode 80x25 color text + - vgabios function 0x0e (write teletype): linefeed (0x0a) only increments the + cursor row value + 2005-05-24 16:50 vruppert * vbe.c (1.47), vgabios.c (1.61):
tools/firmware/vgabios/Makefile +11 -5
@@ -21,7 +21,7 @@ cirrus-bios: vgabios-cirrus.bin vgabios- .PHONY: clean clean: - rm -f biossums *.o *.s *.ld86 \ + 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 rm -f VGABIOS-lgpl-latest*.bin
@@ -37,7 +37,7 @@ release: tar czvf ../$(RELEASE).tgz --exclude CVS -C .. $(RELEASE)/ vgabios.bin: biossums vgabios.c vgabios.h vgafonts.h vgatables.h vbe.h vbe.c vbetables.h - $(GCC) -E -P vgabios.c $(VGABIOS_VERS) $(VGABIOS_DATE) > _vgabios_.c + $(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
@@ -47,7 +47,7 @@ vgabios.bin: biossums vgabios.c vgabios. ls -l VGABIOS-lgpl-latest.bin vgabios.debug.bin: biossums vgabios.c vgabios.h vgafonts.h vgatables.h vbe.h vbe.c vbetables.h - $(GCC) -E -P vgabios.c $(VGABIOS_VERS) -DDEBUG $(VGABIOS_DATE) > _vgabios-debug_.c + $(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
@@ -57,7 +57,7 @@ vgabios.debug.bin: biossums vgabios.c vg ls -l VGABIOS-lgpl-latest.debug.bin vgabios-cirrus.bin: biossums vgabios.c vgabios.h vgafonts.h vgatables.h clext.c - $(GCC) -E -P vgabios.c $(VGABIOS_VERS) -DCIRRUS $(VGABIOS_DATE) > _vgabios-cirrus_.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
@@ -67,7 +67,7 @@ vgabios-cirrus.bin: biossums vgabios.c v ls -l VGABIOS-lgpl-latest.cirrus.bin vgabios-cirrus.debug.bin: biossums vgabios.c vgabios.h vgafonts.h vgatables.h clext.c - $(GCC) -E -P vgabios.c $(VGABIOS_VERS) -DCIRRUS -DCIRRUS_DEBUG $(VGABIOS_DATE) > _vgabios-cirrus-debug_.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
@@ -78,3 +78,9 @@ vgabios-cirrus.debug.bin: biossums vgabi biossums: biossums.c $(CC) -o biossums biossums.c + +vbetables-gen: vbetables-gen.c + $(CC) -o vbetables-gen vbetables-gen.c + +vbetables.h: vbetables-gen + ./vbetables-gen > $@
tools/firmware/vgabios/README +28 -0
@@ -90,6 +90,34 @@ For any information on qemu, visit the w History ------- +vgabios-0.6b : May 30 2008 + - Volker + . added PCI data structure for the Cirrus VGABIOS images + . minor bugfixes in biossums utility, VBE support and makefile + +vgabios-0.6a : Aug 19 2006 + - Volker + . added minimal support for the video parameter table (VPT) + . Cirrus SVGA now supports the "no clear" bit in Cirrus and VESA mode + . Bochs VBE protected mode interface improved + . save/restore video state support for Bochs VBE and standard VGA added + . generate vbetables.h dynamicly + . VBE video memory increased to 8 MB (VBE dispi ID changed to B0C4) + . lots of 4bpp VBE fixes (all 4bpp VBE modes now enabled) + . VGA compatible setup for VBE modes added + +vgabios-0.5d : Dec 29 2005 + - Volker + . Bochs VBE protected mode interface added (based on a patch by [email protected]) + . biossums utility now supports VGABIOS sizes up to 64 kBytes + . VGA mode 0x11: all color planes must be enabled in this 2-color VGA mode + +vgabios-0.5c : Jul 07 2005 + - Volker + . BIOS configuration word usually reports initial mode 80x25 color text + . vgabios function 0x0e (write teletype): linefeed (0x0a) only increments the + cursor row value + vgabios-0.5b : May 24 2005 - Volker . fixed return value for the default case in the VBE section (non-debug mode)
tools/firmware/vgabios/TODO +1 -3
@@ -6,13 +6,11 @@ General - Add new functionalities and modify static functionality table - Performance : 16 bits IO -v0.6 - - Reimplement the tables so it is compatible with the video save pointer table +v0.7 - Implement the remaining functions (don't know if all are needed): - chargen ax=1120, ax=1121, ax=1122, ax=1123, ax=1124 - display switch interface ah=12 bl=35 - video refresh control ah=12 bl=36 - - save/restore state ah=1c - Graphic modes v1.0
tools/firmware/vgabios/biossums.c +139 -57
294 lines not on this page · raw message
tools/firmware/vgabios/clext.c +24 -0
@@ -239,6 +239,21 @@ 0xffff0xffff }; +/* 1600x1200x8 */ +unsigned short cseq_1600x1200x8[] = { +0x0300 ,0x2101 ,0x0f02 ,0x0003 ,0x0e04 ,0x1107 , +0x760b ,0x760c ,0x760d ,0x760e , +0x0412 ,0x0013 ,0x2017 , +0x341b ,0x341c ,0x341d ,0x341e , +0xffff +}; +unsigned short ccrtc_1600x1200x8[] = { +0x2911 ,0xc300 ,0x9f01 ,0x9f02 ,0x8603 ,0x8304 ,0x9405 ,0x2406 ,0xf707 , +0x6009 ,0x000c ,0x000d , +0x0310 ,0xff12 ,0xa013 ,0x4014 ,0xff15 ,0x2416 ,0xc317 ,0xff18 , +0x001a ,0x221b ,0x001d , +0xffff +};cirrus_mode_t cirrus_modes[] = {
@@ -291,6 +306,10 @@ cirrus_mode_t cirrus_modes[] = {0x75 ,1280 ,1024 ,16 ,0xe1 , cseq_1280x1024x16,cgraph_svgacolor,ccrtc_1280x1024x16,16 , 6,5,11,6,5,5,0,0,0}, + + {0x7b,1600,1200,8,0x00, + cseq_1600x1200x8,cgraph_svgacolor,ccrtc_1600x1200x8,8 , + 4,0,0,0,0,0,0,0,0}, {0xfe,0,0,0,0,cseq_vga,cgraph_vga,ccrtc_vga,0, 0xff,0,0,0,0,0,0,0,0},
@@ -1561,6 +1580,10 @@ cirrus_clear_vram_1: cmp ah, bl jne cirrus_clear_vram_1 + xor ah,ah + mov dx, #0x3ce + out dx, ax + pop es popa ret
@@ -1650,6 +1673,7 @@ cirrus_vesa_handlers:dw cirrus_vesa_unimplemented ;; 10hdw cirrus_vesa_10h + ASM_END
tools/firmware/vgabios/vbe.c +438 -74
670 lines not on this page · raw message
tools/firmware/vgabios/vbe.h +18 -7
@@ -14,7 +14,7 @@ void vbe_biosfn_return_controller_informvoid vbe_biosfn_return_controller_information (AX ,ES ,DI );void vbe_biosfn_return_mode_information (AX ,CX ,ES ,DI );void vbe_biosfn_set_mode (AX ,BX ,ES ,DI ); -void vbe_biosfn_save_restore_state (AX ,DL ,CX ,ES ,BX ); +void vbe_biosfn_save_restore_state (AX ,CX ,DX ,ES ,BX );void vbe_biosfn_set_get_palette_data (AX );void vbe_biosfn_return_protected_mode_interface (AX );
@@ -151,6 +151,12 @@ typedef struct ModeInfoBlockBit8u Reserved[189 ]; } ModeInfoBlock; +typedef struct ModeInfoListItem +{ +Bit16u mode; +ModeInfoBlockCompact info; +}ModeInfoListItem ; +// VBE Return Status Info // AL #define VBE_RETURN_STATUS_SUPPORTED 0x4F
@@ -193,6 +199,10 @@ typedef struct ModeInfoBlock#define VBE_VESA_MODE_1280X1024X1555 0x119#define VBE_VESA_MODE_1280X1024X565 0x11A#define VBE_VESA_MODE_1280X1024X888 0x11B +#define VBE_VESA_MODE_1600X1200X8 0x11C +#define VBE_VESA_MODE_1600X1200X1555 0x11D +#define VBE_VESA_MODE_1600X1200X565 0x11E +#define VBE_VESA_MODE_1600X1200X888 0x11F// BOCHS/PLEX86 'own' mode numbers #define VBE_OWN_MODE_320X200X8888 0x140
@@ -202,6 +212,12 @@ typedef struct ModeInfoBlock#define VBE_OWN_MODE_1024X768X8888 0x144#define VBE_OWN_MODE_1280X1024X8888 0x145#define VBE_OWN_MODE_320X200X8 0x146 +#define VBE_OWN_MODE_1600X1200X8888 0x147 +#define VBE_OWN_MODE_1152X864X8 0x148 +#define VBE_OWN_MODE_1152X864X1555 0x149 +#define VBE_OWN_MODE_1152X864X565 0x14a +#define VBE_OWN_MODE_1152X864X888 0x14b +#define VBE_OWN_MODE_1152X864X8888 0x14c#define VBE_VESA_MODE_END_OF_LIST 0xFFFF
@@ -259,8 +275,6 @@ typedef struct ModeInfoBlock// like 0xE0000000 -#define VBE_DISPI_TOTAL_VIDEO_MEMORY_MB 4 -#define VBE_DISPI_BANK_ADDRESS 0xA0000#define VBE_DISPI_BANK_SIZE_KB 64
@@ -285,6 +299,7 @@ typedef struct ModeInfoBlock#define VBE_DISPI_ID1 0xB0C1#define VBE_DISPI_ID2 0xB0C2#define VBE_DISPI_ID3 0xB0C3 +#define VBE_DISPI_ID4 0xB0C4#define VBE_DISPI_DISABLED 0x00#define VBE_DISPI_ENABLED 0x01
@@ -295,8 +310,4 @@ typedef struct ModeInfoBlock#define VBE_DISPI_LFB_PHYSICAL_ADDRESS 0xE0000000 - -#define VBE_TOTAL_VIDEO_MEMORY_DIV_64K (VBE_DISPI_TOTAL_VIDEO_MEMORY_MB*1024/64) - -#endif
tools/firmware/vgabios/vbe_display_api.txt +45 -35
197 lines not on this page · raw message
tools/firmware/vgabios/vbetables-gen.c new file +240 -0
240 lines not on this page · raw message
tools/firmware/vgabios/vbetables.h +1845 -1277
1,182 lines not on this page · raw message
tools/firmware/vgabios/vgabios.c +311 -66
377 lines not on this page · raw message
tools/firmware/vgabios/vgatables.h +414 -110
524 lines not on this page · raw message
The rest of this diff is not shown. View the raw message.
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel
Part of the diff is not shown here. View the raw message.