From 26f69dc09fa3c459fca53bbfd267cbfc2682201e Mon Sep 17 00:00:00 2001 From: bellard Date: Sat, 25 Mar 2006 01:25:02 +0000 Subject: [PATCH] upgrade to latest vgabios version - added Video Parameter Table support - added 1600x1200x8 Cirrus mode git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1789 c046a42c-6fe2-441c-8c8c-71466251a162 --- pc-bios/vgabios-cirrus.bin | Bin 32768 -> 32768 bytes pc-bios/vgabios.bin | Bin 32768 -> 32768 bytes pc-bios/vgabios.diff | 864 +++++++++++++++++++++++++++++++++---- 3 files changed, 789 insertions(+), 75 deletions(-) diff --git a/pc-bios/vgabios-cirrus.bin b/pc-bios/vgabios-cirrus.bin index 4978e42cd8edfc0ceea452dfe9c473eb75531515..6f72d1ebd3f9bb64cf6de22c1c937e3724b68064 100644 GIT binary patch delta 7080 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 delta 7193 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 diff --git a/pc-bios/vgabios.bin b/pc-bios/vgabios.bin index 072f8bd2bb391db04dd7ce0a6b61051fcfb0c7a7..1d6e511759ca20cb1b545ad8dcb8faed9045a12f 100644 GIT binary patch delta 7076 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 W%7&>w^5skyUrsva?+74d=Klf=Cw>e7 delta 7105 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 diff --git a/pc-bios/vgabios.diff b/pc-bios/vgabios.diff index d3a3ef7a2a..73159a0fd0 100644 --- a/pc-bios/vgabios.diff +++ b/pc-bios/vgabios.diff @@ -1,97 +1,811 @@ -? biossums -? vgabios.cirrus.debug.txt -? vgabios.cirrus.txt -? vgabios.debug.txt -? vgabios.txt -? tests/Makefile -? tests/setmode.S -? tests/setmode.c -? tests/setmode.com -? tests/setmode.elf Index: Makefile =================================================================== -RCS file: /cvsroot/vgabios/vgabios/Makefile,v -retrieving revision 1.15 -diff -u -w -r1.15 Makefile -Index: VGABIOS-lgpl-latest.bin -=================================================================== -RCS file: /cvsroot/vgabios/vgabios/VGABIOS-lgpl-latest.bin,v -retrieving revision 1.60 -diff -u -w -r1.60 VGABIOS-lgpl-latest.bin -Binary files /tmp/cvsCahrMA and VGABIOS-lgpl-latest.bin differ -Index: VGABIOS-lgpl-latest.cirrus.bin -=================================================================== -RCS file: /cvsroot/vgabios/vgabios/VGABIOS-lgpl-latest.cirrus.bin,v -retrieving revision 1.12 -diff -u -w -r1.12 VGABIOS-lgpl-latest.cirrus.bin -Binary files /tmp/cvsewygNU and VGABIOS-lgpl-latest.cirrus.bin differ -Index: VGABIOS-lgpl-latest.cirrus.debug.bin -=================================================================== -RCS file: /cvsroot/vgabios/vgabios/VGABIOS-lgpl-latest.cirrus.debug.bin,v -retrieving revision 1.12 -diff -u -w -r1.12 VGABIOS-lgpl-latest.cirrus.debug.bin -Binary files /tmp/cvsey9TQf and VGABIOS-lgpl-latest.cirrus.debug.bin differ -Index: VGABIOS-lgpl-latest.debug.bin -=================================================================== -RCS file: /cvsroot/vgabios/vgabios/VGABIOS-lgpl-latest.debug.bin,v -retrieving revision 1.60 -diff -u -w -r1.60 VGABIOS-lgpl-latest.debug.bin -Binary files /tmp/cvskxbTbC and VGABIOS-lgpl-latest.debug.bin differ +RCS file: /sources/vgabios/vgabios/Makefile,v +retrieving revision 1.17 +diff -u -w -r1.17 Makefile +--- Makefile 6 Mar 2005 13:06:47 -0000 1.17 ++++ Makefile 25 Mar 2006 01:19:02 -0000 +@@ -17,9 +17,9 @@ + all: bios cirrus-bios + + +-bios: biossums vgabios.bin vgabios.debug.bin ++bios: biossums vgabios.bin #vgabios.debug.bin + +-cirrus-bios: vgabios-cirrus.bin vgabios-cirrus.debug.bin ++cirrus-bios: vgabios-cirrus.bin #vgabios-cirrus.debug.bin + + clean: + /bin/rm -f biossums *.o *.s *.ld86 \ Index: clext.c =================================================================== -RCS file: /cvsroot/vgabios/vgabios/clext.c,v -retrieving revision 1.8 -diff -u -w -r1.8 clext.c ---- clext.c 8 Aug 2004 16:52:55 -0000 1.8 -+++ clext.c 30 Nov 2004 23:38:32 -0000 -@@ -222,7 +222,21 @@ - 0x001a,0x221b,0x001d, +RCS file: /sources/vgabios/vgabios/clext.c,v +retrieving revision 1.9 +diff -u -w -r1.9 clext.c +--- clext.c 4 Dec 2004 15:26:17 -0000 1.9 ++++ clext.c 25 Mar 2006 01:19:03 -0000 +@@ -238,6 +238,21 @@ 0xffff }; -- -+/* 1280x1024x16 */ -+unsigned short cseq_1280x1024x16[] = { -+0x0300,0x2101,0x0f02,0x0003,0x0e04,0x1707, + ++/* 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_1280x1024x16[] = { ++unsigned short ccrtc_1600x1200x8[] = { +0x2911,0xc300,0x9f01,0x9f02,0x8603,0x8304,0x9405,0x2406,0xf707, +0x6009,0x000c,0x000d, -+0x0310,0xff12,0x4013,0x4014,0xff15,0x2416,0xc317,0xff18, -+0x001a,0x321b,0x001d, ++0x0310,0xff12,0xa013,0x4014,0xff15,0x2416,0xc317,0xff18, ++0x001a,0x221b,0x001d, +0xffff +}; cirrus_mode_t cirrus_modes[] = { -@@ -269,6 +283,12 @@ - {0x6d,1280,1024,8,0x00, - cseq_1280x1024x8,cgraph_svgacolor,ccrtc_1280x1024x8,8, - 4,0,0,0,0,0,0,0,0}, -+ {0x69,1280,1024,15,0xf0, -+ cseq_1280x1024x16,cgraph_svgacolor,ccrtc_1280x1024x16,16, -+ 6,5,10,5,5,5,0,1,15}, -+ {0x75,1280,1024,16,0xe1, -+ cseq_1280x1024x16,cgraph_svgacolor,ccrtc_1280x1024x16,16, -+ 6,5,11,6,5,5,0,0,0}, +@@ -291,6 +306,10 @@ + 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}, -@@ -310,9 +330,13 @@ - // 1024x768x16 - 0x117, 0x74, - // 1024x768x24 --//0x118, 0x79, -+ 0x118, 0x79, - // 1280x1024x8 - 0x107, 0x6d, -+// 1280x1024x15 -+ 0x119, 0x69, -+// 1280x1024x16 -+ 0x11a, 0x75, - // invalid - 0xffff,0xffff + {0xff,0,0,0,0,0,0,0,0, +Index: vgabios.c +=================================================================== +RCS file: /sources/vgabios/vgabios/vgabios.c,v +retrieving revision 1.63 +diff -u -w -r1.63 vgabios.c +--- vgabios.c 26 Dec 2005 19:50:26 -0000 1.63 ++++ vgabios.c 25 Mar 2006 01:19:03 -0000 +@@ -111,6 +111,7 @@ + static void biosfn_read_video_state_size(); + static void biosfn_save_video_state(); + static void biosfn_restore_video_state(); ++extern Bit8u video_save_pointer_table[]; + + // This is for compiling with gcc2 and gcc3 + #define ASM_START #asm +@@ -459,6 +460,29 @@ + + pop ds + ret ++ ++_video_save_pointer_table: ++ .word _video_param_table ++ .word 0xc000 ++ ++ .word 0 /* XXX: fill it */ ++ .word 0 ++ ++ .word 0 /* XXX: fill it */ ++ .word 0 ++ ++ .word 0 /* XXX: fill it */ ++ .word 0 ++ ++ .word 0 /* XXX: fill it */ ++ .word 0 ++ ++ .word 0 /* XXX: fill it */ ++ .word 0 ++ ++ .word 0 /* XXX: fill it */ ++ .word 0 ++ + ASM_END + + // -------------------------------------------------------------------------------------------- +@@ -780,8 +804,8 @@ + + // Should we clear the screen ? + Bit8u noclearmem=mode&0x80; +- Bit8u line,mmask,*palette; +- Bit16u i,twidth,theight,cheight; ++ Bit8u line,mmask,*palette,vpti; ++ Bit16u i,twidth,theightm1,cheight; + Bit8u modeset_ctl,video_ctl,vga_switches; + Bit16u crtc_addr; + +@@ -804,9 +828,10 @@ + if(line==0xFF) + return; + +- twidth=vga_modes[line].twidth; +- theight=vga_modes[line].theight; +- cheight=vga_modes[line].cheight; ++ vpti=line_to_vpti[line]; ++ twidth=video_param_table[vpti].twidth; ++ theightm1=video_param_table[vpti].theightm1; ++ cheight=video_param_table[vpti].cheight; + + // Read the bios vga control + video_ctl=read_byte(BIOSMEM_SEG,BIOSMEM_VIDEO_CTL); +@@ -866,21 +891,25 @@ + inb(VGAREG_ACTL_RESET); + + // Set Attribute Ctl +- for(i=0;i<=ACTL_MAX_REG;i++) ++ for(i=0;i<=0x13;i++) + {outb(VGAREG_ACTL_ADDRESS,i); +- outb(VGAREG_ACTL_WRITE_DATA,actl_regs[vga_modes[line].actlmodel][i]); ++ outb(VGAREG_ACTL_WRITE_DATA,video_param_table[vpti].actl_regs[i]); + } ++ outb(VGAREG_ACTL_ADDRESS,0x14); ++ outb(VGAREG_ACTL_WRITE_DATA,0x00); + + // Set Sequencer Ctl +- for(i=0;i<=SEQU_MAX_REG;i++) ++ outb(VGAREG_SEQU_ADDRESS,0); ++ outb(VGAREG_SEQU_DATA,0x03); ++ for(i=1;i<=4;i++) + {outb(VGAREG_SEQU_ADDRESS,i); +- outb(VGAREG_SEQU_DATA,sequ_regs[vga_modes[line].sequmodel][i]); ++ outb(VGAREG_SEQU_DATA,video_param_table[vpti].sequ_regs[i - 1]); + } + + // Set Grafx Ctl +- for(i=0;i<=GRDC_MAX_REG;i++) ++ for(i=0;i<=8;i++) + {outb(VGAREG_GRDC_ADDRESS,i); +- outb(VGAREG_GRDC_DATA,grdc_regs[vga_modes[line].grdcmodel][i]); ++ outb(VGAREG_GRDC_DATA,video_param_table[vpti].grdc_regs[i]); + } + + // Set CRTC address VGA or MDA +@@ -889,13 +918,13 @@ + // Disable CRTC write protection + outw(crtc_addr,0x0011); + // Set CRTC regs +- for(i=0;i<=CRTC_MAX_REG;i++) ++ for(i=0;i<=0x18;i++) + {outb(crtc_addr,i); +- outb(crtc_addr+1,crtc_regs[vga_modes[line].crtcmodel][i]); ++ outb(crtc_addr+1,video_param_table[vpti].crtc_regs[i]); + } + + // Set the misc register +- outb(VGAREG_WRITE_MISC_OUTPUT,vga_modes[line].miscreg); ++ outb(VGAREG_WRITE_MISC_OUTPUT,video_param_table[vpti].miscreg); + + // Enable video + outb(VGAREG_ACTL_ADDRESS,0x20); +@@ -927,9 +956,9 @@ + // Set the BIOS mem + write_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_MODE,mode); + write_word(BIOSMEM_SEG,BIOSMEM_NB_COLS,twidth); +- write_word(BIOSMEM_SEG,BIOSMEM_PAGE_SIZE,vga_modes[line].slength); ++ write_word(BIOSMEM_SEG,BIOSMEM_PAGE_SIZE,*(Bit16u *)&video_param_table[vpti].slength_l); + write_word(BIOSMEM_SEG,BIOSMEM_CRTC_ADDRESS,crtc_addr); +- write_byte(BIOSMEM_SEG,BIOSMEM_NB_ROWS,theight-1); ++ write_byte(BIOSMEM_SEG,BIOSMEM_NB_ROWS,theightm1); + write_word(BIOSMEM_SEG,BIOSMEM_CHAR_HEIGHT,cheight); + write_byte(BIOSMEM_SEG,BIOSMEM_VIDEO_CTL,(0x60|noclearmem)); + write_byte(BIOSMEM_SEG,BIOSMEM_SWITCHES,0xF9); +@@ -937,8 +966,8 @@ + + // FIXME We nearly have the good tables. to be reworked + write_byte(BIOSMEM_SEG,BIOSMEM_DCC_INDEX,0x08); // 8 is VGA should be ok for now +- write_word(BIOSMEM_SEG,BIOSMEM_VS_POINTER,0x00); +- write_word(BIOSMEM_SEG,BIOSMEM_VS_POINTER+2,0x00); ++ write_word(BIOSMEM_SEG,BIOSMEM_VS_POINTER, video_save_pointer_table); ++ write_word(BIOSMEM_SEG,BIOSMEM_VS_POINTER+2, 0xc000); + + // FIXME + write_byte(BIOSMEM_SEG,BIOSMEM_CURRENT_MSR,0x00); // Unavailable on vanilla vga, but... +@@ -1114,7 +1143,7 @@ + } + else + { +- address = page*vga_modes[line].slength; ++ address = page * (*(Bit16u *)&video_param_table[line_to_vpti[line]].slength_l); + } + + // CRTC regs 0x0c and 0x0d +@@ -1271,7 +1300,7 @@ + else + { + // FIXME gfx mode not complete +- cheight=vga_modes[line].cheight; ++ cheight=video_param_table[line_to_vpti[line]].cheight; + switch(vga_modes[line].memmodel) + { + case PLANAR4: +@@ -1581,7 +1610,7 @@ + else + { + // FIXME gfx mode not complete +- cheight=vga_modes[line].cheight; ++ cheight=video_param_table[line_to_vpti[line]].cheight; + bpp=vga_modes[line].pixbits; + while((count-->0) && (xcurs0) && (xcurs