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