At 11.59 03/12/2003, you wrote:
Hi Santi,
At a minimum you need to check that your arch/i386/lib/idt.c file has the Int 21 and Unsupported Interrupt handler calling code installed:
@@ -175,9 +175,18 @@ eax = 64 * 1024; ret = 0; break; +#ifdef CONFIG_INT21HANDLER
case 0x15:
ret=handleint21( &edi, &esi, &ebp, &esp,
&ebx, &edx, &ecx, &eax, &flags);
break;
+#endif default: printk_info(__FUNCTION__ ": Unsupport int #0x%x\n", intnumber); +#ifdef CONFIG_UNSUPPORTINT_RECOVER
unsupportint_recover();
+#endif break;
and that arch/i386/lib/vgabios.c and mainboard/via/epia-m/mainboard.c respectively have the actual handler routines:
@@ -145,6 +145,13 @@ __asm__ (".text\n""real_mode_switch_end:\n"); extern char real_mode_switch_end[];
+#ifdef CONFIG_UNSUPPORTINT_RECOVER +void unsupportint_recover(void) +{
- __asm__ __volatile__ ( " jmp vgarestart \n" );
+} +#endif
and
@@ -92,3 +176,33 @@ final_southbridge_fixup(); }
+int handleint21( unsigned long *edi, unsigned long *esi, unsigned long *ebp,
unsigned long *esp, unsigned long *ebx, unsigned
long *edx,
unsigned long *ecx, unsigned long *eax, unsigned
long *flags) +{ +int res=-1;
switch(*eax&0xffff)
{
case 0x5f19:
break;
case 0x5f18:
*eax=0x5f;
*ebx=0x15; // MCLK = 133, 32M frame buffer
res=0;
break;
case 0x5f02:
*eax=0x5f;
*ebx=0 | (3<<8);
*ecx=5 | (0<<8) | (0<<16);
res=0;
break;
case 0x5f0f:
*eax=0x5f;
*ebx=0;
*ecx=0;
*edx=0;
res=0;
break;
}
return res;
+}
NOTE: It's possible that you may have patch these in by hand as the original diffs were from an older version of the codebase and things may have changed since then.
All the patch is ok and I get the CVS of 05 2003-July
A quick check is to make sure there are no *.rej files present which might indicate a patch operation has failed.
all files are patched
The diffs aren't large, so it's probably worthing checking them by hand to make sure the patches have been properly applied.
Cheers
Ian
At 09:31 03/12/2003, Santi Mirenna wrote:
Hi to all, today i make EPIA-M 10000 rom image. i compile to have VGA and Filo, after apply patch of Dave Ashley and info from Takeshi about RAM ammount VGA now is found by the system but .... In attach you have the output log .... Can someone tell me where i wrong?
Dave Ashley reply:
You haven't applied all the patch, specifically the handler for the unsupported bios interrupts. This is the bug where it just gets into an endless loop of bios interrupts, so the program needs to exit the bios somehow. -Dave
Hi , can some one tell me where to look .... i made the patch ....where to look Dave to know if the patch is ok ?
Thanks.
Santi Mirenna