All,

If you are frustrated trying to figure out what to modify in order to make JJOS
with GRUB work smoothly, I've got a fix for you.

Just apply this diff after doing a clean checkout from the CVS and remake it.  

Included are:
* the return(false); instead of abort(); which will allow JJOS to run to
completion.
* a little bit of loop unrolling in the function to test the VGA driver to see
if it would speed it up any.  (But only speeds it up a little.)
* a piece of code that prints out a '.' on every 1000th memory allocation in
the function to test garbage collection so that I could know that something was
actually happenning during that big long wait.
* the Makefile change to define -DMULTIBOOT

Happy JOSing,
Avery J. Regier
? JJOS/stage1
? JJOS/stage2
? JJOS/arch/host/bytecode/jjos.zip
? JJOS/arch/host/nativecode/messages.txt
? JJOS/arch/host/nativecode/jjos
? JJOS/arch/host/nativecode/Makefile.mybak
? JJOS/arch/i386/bytecode/jjos.zip
? JJOS/arch/i386/bytecode/jjos-new.zip
? JJOS/arch/i386/nativecode/head_ether.txt
? JJOS/arch/i386/nativecode/head_grub.txt
? JJOS/arch/i386/nativecode/jjos-grub-old
? JJOS/arch/i386/nativecode/jjos-grub-new
? JJOS/arch/i386/nativecode/jjos-grub
? JJOS/common/bytecode/jjos_common.zip
? JJOS/tools/nasm-0.98
? JJOS/tools/etherboot-4.2
? JJOS/tools/nasm-0.98.tar
? JJOS/tools/etherboot-4.2.4.tar
Index: JJOS/arch/i386/nativecode/Makefile
===================================================================
RCS file: /sites/jos/cvs/cvsroot/JJOS/arch/i386/nativecode/Makefile,v
retrieving revision 1.26
diff -r1.26 Makefile
18c18
<  -DETHERBOOT \
---
>  -DMULTIBOOT \
20a21,22
> # -DETHERBOOT \
> 
Index: JJOS/arch/i386/nativecode/entry.cc
===================================================================
RCS file: /sites/jos/cvs/cvsroot/JJOS/arch/i386/nativecode/entry.cc,v
retrieving revision 1.19
diff -r1.19 entry.cc
145a146,147
>   console.clear_screen();
> 
152d153
<   //  console.clearScreen();
154d154
< 
Index: JJOS/common/bytecode/TestSuite.java
===================================================================
RCS file: /sites/jos/cvs/cvsroot/JJOS/common/bytecode/TestSuite.java,v
retrieving revision 1.1
diff -r1.1 TestSuite.java
360c360,369
<                   for (int x=0; x<640; x++)
---
>                   for (int x=0; x<640; x++) {
>                       v.drawPixel(x++, y, 1);
>                       v.drawPixel(x++, y, 1);
>                       v.drawPixel(x++, y, 1);
>                       v.drawPixel(x++, y, 1);
>                       v.drawPixel(x++, y, 1);
>                       v.drawPixel(x++, y, 1);
>                       v.drawPixel(x++, y, 1);
>                       v.drawPixel(x++, y, 1);
>                       v.drawPixel(x++, y, 1);
361a371
>                   }
383a394
>               if((i%10000) == 0) System.out.print(".");
386c397
<       System.out.println( "testing GC ..." );
---
>       System.out.println( "\nFinished testing GC ..." );
Index: JJOS/common/decaf/scheduler.cc
===================================================================
RCS file: /sites/jos/cvs/cvsroot/JJOS/common/decaf/scheduler.cc,v
retrieving revision 1.12
diff -r1.12 scheduler.cc
286a287,290
> #ifdef MULTIBOOT
>               kprintf( "notifyOfInterrupts(3): Array not set yet.  Continuing.\n" );
>               return(false);
> #else
288a293
> #endif

Reply via email to