Bernd Walter writes:
 > On Wed, Nov 29, 2000 at 02:47:54PM -0500, Andrew Gallatin wrote:
 > > 
 > > Bernd Walter writes:
 > >  > 
 > >  >     trap entry = 0x2 (memory management fault)
 > >  >     a0         = 0xfffffbf1e0000018
 > >  >     a1         = 0x1
 > >  >     a2         = 0x0
 > >  >     pc         = 0xfffffc0000557a10
 > >  >     ra         = 0xfffffc000055791c
 > >  >     curproc    = 0xfffffc000062f118
 > >  >         pid = 0, comm = swapper
 > > 
 > > Bernd,
 > > 
 > > Note the faulting address.  It is not a k0seg address.  This means
 > > something went negative, most likely in the LCA_CFGOFF macro.  Here's
 > > why..  
 > 
 > What is k0seg?
 > How can I see that it's not one?

Everything from 0xfffffc0000000000-0xfffffdffffffffff is in k0seg, so
its easy to see from the first 6 hex digits. K0SEG is a direct map of
physical addresses into kernel virtual address space.

<...>
 > Just to be clear the values given to lca_read_config were:
 > b=0, s=20, f=0, reg=0, width=4
 > That means b in LCA_CFGOFF is false and the second formular will be applied.
 > The first part is 1<<n while n is calculated to be 31 in our case and
 > this makes -1 for int - your theory seems to be right.
 > But are you shure that changing our variables to unsigned will help?
 > Don't we need to make '1' unsigned?

I thought so at first too, but it was never unsigned and it worked
until recently..  And the same fix fixes a nearly identical panic on
another platform, so I'm betting this is it ;) 
<..>
 > I will test it tommorow.

Thanks!

Drew


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to