]> xenbits.xensource.com Git - people/andrewcoop/seabios.git/commitdiff
vga: add ati bios tables master
authorGerd Hoffmann <kraxel@redhat.com>
Fri, 8 Mar 2019 10:42:25 +0000 (11:42 +0100)
committerGerd Hoffmann <kraxel@redhat.com>
Fri, 15 Mar 2019 08:59:25 +0000 (09:59 +0100)
Needed to make drivers happy which try to gather
informations from these tables.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
vgasrc/ati-tables.S [new file with mode: 0644]
vgasrc/vgaentry.S

diff --git a/vgasrc/ati-tables.S b/vgasrc/ati-tables.S
new file mode 100644 (file)
index 0000000..cdbde2f
--- /dev/null
@@ -0,0 +1,43 @@
+//
+// Fake ati bios tables.
+//
+// aty128fb and radeonfb try to gather informations from these tables,
+// so add some stuff here to make the drivers happy.  Specifically
+// radeonfb needs the pll information, otherwise it'll crash with a
+// division by zero ...
+//
+       .org 0x48
+       .word _ati_main
+
+       // main info
+       .org 0x50
+_ati_main:
+       .org 0x50 + 0x30
+       .word _ati_pll
+       .org 0x50 + 0x50
+       .word _ati_connector
+
+       // pll info
+       .org 0x100
+_ati_pll:
+       .word   0               // ??? (not used by radeonfb)
+       .word   0
+       .word   0
+       .word   0
+       .word   23000           // sclk
+       .word   23000           // mclk
+       .word   0
+       .word   2700            // ref_clk
+       .word   4               // ref_div
+       .long   12000           // ppll_min
+       .long   35000           // ppll_max
+
+       // connector info
+       .org 0x140
+_ati_connector:
+       .byte 0x10              // one chip
+       .byte 0x01              // one connector
+       .word 0x3000            // type DVI-I
+       .word 0                 // end of list
+
+       .org 0x200
index 53be2b38ca520c691a4fde927bd8e0c5415a8919..f9624fce2ed9c570d6283b2905f46db52d842599 100644 (file)
@@ -40,6 +40,9 @@ _rom_header_other2:
 _rom_header_signature:
         .asciz "IBM"
 
+#if CONFIG_VGA_ATI
+#include "ati-tables.S"
+#endif
 
 /****************************************************************
  * Entry points