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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 MUHi80r*P%}0GTi!4*&oF delta 7193 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 JZNm6({|idyX4wD$ 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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 delta 7105 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 PeuT*#b|FV71FraA+Z)ZP 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