From: Laurent V. <lv...@cl...> - 2002-01-15 22:19:17
|
mdo...@mu... wrote: > > > > Illegal instruction: 7520 at 00000420 > > > > > Ok. Now that my Linux is running I get the same effect in STonX. > > > > quick solution is to remove the bmem_allowed variable. The right fix is > > up to Laurent. He invented the BIOS memory management :) > > No. Just remove the '= 0'. Declaration with initialisation is not allowed > in ROM code. > > Ooops, but now with the following I get a strange error. Am I blind, or > what? > > 21:static int bmem_allowed; > 22: > 23:bmem_allowed = 0; > > bios/biosmem.c:23: warning: type defaults to `int' in declaration of > `bmem_allowed' bios/biosmem.c:23: conflicting declarations of > `bmem_allowed' bios/biosmem.c:21: `bmem_allowed' previously declared here > bios/biosmem.c:23: warning: data definition has no type or storage class > > What is wrong?!? Is the initialisation at a wrong place? I think so... Aaaargh! please STOP this nightmare. it is SOLVED and COMMITTED to CVS. > Normally I would set it to 0 in the bmem_init. I don't see, what > the set to 0 is good for, if it is set to 1 in the init... anyway just declaring static int bmem_allowed; clears it because our BSS is (should be?) cleared by the assembler routines before calling C code. In this case, bmem is not allowed before bmem_init() has been called, and after BDOS seizes the memory. Laurent. |