At 12:30 01/09/2004, Stefan Reinauer wrote:
- zhu shi song zhushisongzhu@yahoo.com [040901 13:14]:
My MB is A6T based on vt8601 and vt82c686. When call vgabios(at 0xc000:0003), it halted. ... INSTALL REAL-MODE IDT DO THE VGA BIOS found VGA: vid=1023, did=8500 0x55 0xAA ...(16 bytes) bus/devfn = 0x100 biosint: # 0x1a, eax 0xb109 ebx 0x100 ecx 0x100 edx 0xb29f biosint: ebp 0x10fd8 esp 0xfc9 edi 0x2 esi 0x14040 biosint: ip 0x56e8 cs 0xc000 flags 0x16 0xb109: bus 1 devfn 0x0 reg 0x2 val 0x8500 biosint: # 0x58, eax 0xc000 ebx 0x100 ecx 0x8500 edx 0x3c2
^^^^^^
This looks already weird. Go check the code what happens in bios int 1a eax 0xb109 and have a look at Ralph Browns Interrupt List whether there is an int 58 at all (I doubt it) Might be some special callback between graphics and main bios, too.. VIA did this IIRC.
This is a VIA VGA Bios special...
It makes all sorts of Int 21 callbacks and they need to be handled (even if only by a default handler). A lot of them are also undocumented (at least in their Northbridge docs).
However, Dave Ashley (who also posts to this list and did a good bit of the ground work to make VGA on EPIA work) also found another beaut - their VGA bios code had/has a bug in it where it will make interrupt calls with invalid interrupt numbers, which may be the problem here.
To quote from a mail from Dave:
Under linuxbios the problem would manifest itself where during the vgabios init code you'd get into an endless loop of invalid INT callbacks. So it would stop the system from booting.
My "fix" was to only allow certain INT's in the callback and so if an invalid one happens, we just abort out of the VGA init code.
Search the mail list archives for the title "Epia-MII VGA not working and PCMCIA rebooting" and you should be able to find the original posts - they were a great help to me when I was trying to get an VIA-based system up for a customer.
Cheers
Ian
biosint: ebp 0x10fd8 esp 0xfc7 edi 0x2 esi 0x14040 biosint: ip 0x2329 cs 0xc000 flags 0x246 biosint: Unsupport int #0x58 biosint: # 0xcd, eax 0xc000 ebx 0x100 ecx 0x8500 edx 0x3c2 biosint: ebp 0x10fd8 esp 0xfc7 edi 0x2 esi 0x14040 biosint: ip 0x2329 cs 0xc000 flags 0x246 biosint: Unsupport int #0xcd (halted)
Do you Yahoo!? Take Yahoo! Mail with you! Get it on your mobile phone. http://mobile.yahoo.com/maildemo _______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios