Subject: Re: New kernel
To: Eiji Ota <eijiota@home.com>
From: Eduardo Horvath <eeh@turbolinux.com>
List: port-sparc64
Date: 04/13/2000 08:49:03
On Thu, 13 Apr 2000, Eiji Ota wrote:

> Eduardo,
> 
> Bad news.
> The new ofwboot and netbsd don't seem to work well on my Ultra1.

Oh well, I know I should have tested it first.

> Though you put also bootblk, I use Solaris bootblk instead. Is it OK ?

I just packaged them as a set since you need all three to boot.  The
bootblock should be identical to all the previous versions.  ofwboot has
an optimization to load the kernel at a 4MB address so the kernel will not
need to relocate itself later.  Relocation does not work well on PCI
machines.

> Or that causes these errors ?

No.

> 
> Eiji
> 
> (ofwboot)
> 
> Rebooting with command: boot ofwboot -as
> Boot device: /sbus/espdma@e,8400000/esp@e,8800000/sd@0,0  File and args:
> ofwboot
>  -as
> Enter filename [ofwboot]: /ofwboot
> Memory Address not Aligned
> ok

I'll need to look into this sometime.  It's probably 32-bit/64-bit stack
confusion in srt0.s caused by passing in _LP64.  Sigh.

> 
> (netbsd (after restoring ofwboot))
> 
> root device (default sd0a): sd0*
> dump device (default sd0b): none
> file system (default generic):
> root on sd0b
> WARNING: clock gained 26 days -- CHECK AND RESET THE DATE!
> root file system type: ffs
> 
> RED State Exception
> 
> TL=0000.0000.0000.0005 TT=0000.0000.0000.0068
>    TPC=0000.0000.f100.9994 TnPC=0000.0000.f100.9998

Here we tried to handle the fault and save the trap frame to the stack and
faulted again.

> TSTATE=0000.0044.5800.0d06
> TL=0000.0000.0000.0004 TT=0000.0000.0000.0068
>    TPC=0000.0000.f100.9994 TnPC=0000.0000.f100.9998

Here we tried to handle the fault and save the trap frame to the stack and
faulted again.

> TSTATE=0000.0044.5800.0d06
> TL=0000.0000.0000.0003 TT=0000.0000.0000.0068
>    TPC=0000.0000.f100.9ec0 TnPC=0000.0000.f100.9ec4

Here we try to save the trap frame to the stack and faulted again.

> TSTATE=0000.0044.1400.1506
> TL=0000.0000.0000.0002 TT=0000.0000.0000.0101
>    TPC=0000.0000.f100.982c TnPC=0000.0000.f100.9830

Here we detected this and tried to break into the debugger.

> TSTATE=0000.0000.1404.1406
> TL=0000.0000.0000.0001 TT=0000.0000.0000.0068
>    TPC=0000.0000.f115.f580 TnPC=0000.0000.f115.f584

This is a userland address.
Here you faulted while trying to save a kernel window to an unmapped
page.  This should not have happened.

> TSTATE=0000.0008.5800.0e06
> 
> 
> Watchdog Reset
> Externally Initiated Reset
> ok

I'm surprised that this happened.  What's your precise machine
configuration?

The good news is that I'm currently working on this bit of code so I
may have a fix within the next few days.

Eduardo Horvath