V1 SiS 630 VGA problem - any advice?...

Lee Weekes lee.weekes at densitron.co.uk
Thu Oct 2 10:53:04 CEST 2003


Hi,

Sorry to ask a v1 question when your steaming away on v2 but I could
really do with some advice as I'm a little stuck on a port.

I've been working through what I thought would be a simple port to a SiS
630 based board and used the Winfast as a skeleton as the board is
similar par a Winbond w83697hf rather than the 950 and the 630ST rather
than the 630 but all the code for these basically existed in the tree. I
also wanted to use the 256k flash and not a DOC but again used
winfast-flash.config as a basis.

I have managed to make the board boot Linux ok using Linuxbios, however
when I tried to get VGA to work I get serious problems. 

I firstly did run into the same problem as a few have in the past namely
with the following:

biosint: # 0x6, eax 0x0 ebx 0x10 ecx 0x20 edx 0x9d2e
biosint: ebp 0x12060 esp 0xff6 edi 0xe0ac esi 0x846a2
biosint: ip 0x3 cs 0x0 flags 0x46
biosint: Unsupport int #0x6

I managed to track down that these calls for me were due to not having
read access to a needed area of shadow memory. I reversed the defined
statement in northsouthbridge/sis/630/southbridge.c (!defined(STD_FLASH)
to defined(STD_FLASH)) and this appeared to correct this problem as it
now gets passed the opcode fault and the memory area can now be read. 

The problem is now my machine freezes shortly after as shown below. I
can't understand why the machine would freeze at this point though and
wondered if anyone had any idea's or pointers what I can do to correct
it?

INSTALL REAL-MODE IDT
DO THE VGA BIOS
PCI_CLASS_DISPLAY_VGA: 300
found VGA: vid=1039, did=6300
0x55 0xaa 0x60 0xe9 0x5f 0x2 0x32 0x2e 0x30 0x33 0x2e 0x30 0x32 0x20
0x2d 0x31 
biosint: # 0x1a, eax 0xb102 ebx 0xeb21 ecx 0x16300 edx 0x1039
biosint: ebp 0x14c64 esp 0xfce edi 0x10c8c esi 0x80000
biosint: ip 0x762 cs 0xeb21 flags 0x46
0xb102: return 0x100
biosint: # 0x15, eax 0xf401 ebx 0x105 ecx 0x10100 edx 0x1039
biosint: ebp 0x14c64 esp 0xfce edi 0x10c8c esi 0x80000
biosint: ip 0x76b cs 0xeb21 flags 0x46
biosint: Unsupport int #0x15
biosint: # 0x7, eax 0x300001f ebx 0x0 ecx 0x0 edx 0x3c4
biosint: ebp 0x10fae esp 0xfce edi 0x1379c esi 0x800eb
biosint: ip 0x5b4 cs 0xeb21 flags 0x216
biosint: Unsupport int #0x7
// <-- Int7 call looks out of place?
biosint: # 0x

At the point it freezes the last post code visible is 11 (was EC just
before and I can't see 11 anywhere in the linuxbios tree) and I also get
1 continuous beep sounded from the buzzer which sounds worrying.

I'm wondering if the change I made that appeared to correct the opcode
problem isn't as good as I previously thought and if anyone has any
suggestions as to where I can attack this new issue as I'm a little
stumped?

Thanks,

Lee



More information about the coreboot mailing list