Subject: Re: Broken kernels?
To: Michael L. Hitch <osymh@gemini.oscs.montana.edu>
From: Eduardo E. Horvath eeh@btr.com <eeh@btr.btr.com>
List: amiga-dev
Date: 03/13/1994 14:51:16
On Sun, 13 Mar 1994, Michael L. Hitch wrote:

> On Mar 13,  8:08am, "Eduardo E. Horvath  eeh@btr.com" wrote:

> > I have managed to gather a few more details.  Though dilligent poking
> > of color register zero, I have determined that the falure occurs in
> > the section around line 392 that looks like this (line numbers have
> > changed slightly in mine):
> > 
> > >  /* invalidate remainder of kernel PT */
> > >  while (pg < (u_int *) (pagetable_pa + pagetable_size))
> > >    *pg++ = PG_NV;
> > 
> > The code before this section is executed, but the code after this is
> > not.
 
>   This would lead me to believe that something has corrupted either
> pagetable_pa or pagetable_size somewhere, or else the compiler is
> generating incorrect code so that loop doesn't terminate.  [I'm still
> using gcc 2.5.6, and using the -O2 option with no problems.]

Those were precisely my conclusions.  So I took a look at the compiler 
output, and it looked correct, albeit inefficient.  I then examined the 
source code that generated pagetable_pa and pagetable_size.  The 
calculations seem correct.  Can anyone think of a way to check the values 
of the variables t run-time?

I also tried the generic kernel dated 940305.  It will successfully boot 
to the point of sync negotioation.  Now I'm really puzzled.  The sources 
work, the compiler works, so what's left, the linker and the assembler?

=========================================================================
Eduardo Horvath				eeh@btr.com
					..!{decwrl,mips,fernwood}!btr!eeh
	"Trust me, I am cognizant of what I am doing." - Hammeroid



------------------------------------------------------------------------------