Re: Successful install of a current NetBSD/bebox system

David Brownlee <[email protected]> Tue, 10 Jun 2014 15:20:45 +0100
Newsgroups gmane.os.netbsd.ports.bebox
Message-ID <CAGN_6pa8zZVz2iDTRjXeGO3J7W42_kBZnZNkevS0q9doeX=eoQ@mail.gmail.com>
--001a11c38be2cf289e04fb7c09b1
Content-Type: text/plain; charset=UTF-8

On 9 June 2014 13:33, Frank Wille <[email protected]> wrote:

> On Sun, 1 Jun 2014 23:46:38 +0100
> David Brownlee <[email protected]> wrote:
>
> > > 1. Reboot. All blinken lights (left and right) are activated. Then the
> > >    system hangs, until I manually press the reset buttons.
> >
> > Linux ran on the BeBox at one point - I wonder if it would be easy to
> > check what it did to reboot?
>
> I was unable to find the source for Linux on BeBox. And in recent source
> archives it is no longer present.
>

It does appear to have completely vanished. Not an issue since things
started being kept in a revision control system, but Linux/BeBox pre-dated
git... :/


> But I guess there is no way to reset the system in software. There is a
> board register to assert /HRESET and /SRESET to CPU 1, but not to CPU 0.
>
> Maybe I can reset as many hardware registers as possible and then jump
> into the boot ROM's reset vector?
>

Sounds like its worth a try...

[...]

 > > 6. mcclock(4) doesn't work correctly. The time after a cold-start is
> > >    wrong (e.g. "WARNING: preposterous TOD clock time"). Maybe I need a
> > >    new battery, but IIRC it worked under BeOS.
> >
> > It could be oddly parsed. If NetBSD writes something back to the TOD
> > does BeOS see it as gibberish?
>
> I have to replace the disk to start BeOS. Didn't have the time to do that.
>

Can you have two disks hooked up in it?


> I inserted some debugging output into sys/dev/ic/mc146818.c and saw
> the driver was reading a time like 20:17:87. Maybe there is a problem
> with a mis-detected BCD mode (87 would be 0x57)?
>
> But before investigating any further I should check the RTC under BeOS
> again and replace the battery.
>



>
> > > 7. X11/Xorg doesn't work yet. Cannot map I/O space. But the correct
> > > driver (S3) is recognized:
> > >    [   888.123] (WW) xf86EnableIO -1
> > >    [   888.126] (II) xf86EnableIO: ffffffff
> > >    [   888.128] (WW) Can't map IO space!
> > > [...]
> >
> > Wouldn't it be mem space rather than io space on a powerpc?
>
> Sounds sensible. Probaby macallan@ would bring up X11 in no time. ;)


He would have accelerated anti-aliased fonts and alpha blended blitting in
no time :)


>  > > 9. Multiprocessor support. I compiled the GENERIC.MP kernel, but the
> > >    boot loader doesn't want to load it. A renamed GENERIC kernel works,
> > >    which is strange.
> > >    Boot: /dev/disk/scsi/000/0_0:netbsdmp
> > >    Loading /dev/disk/scsi/000/0_0:netbsdmp
> > >    illegal request, data = 0 0 0 0 24 0 0 cb 0 1 0 0 0 0 0 0 ff ff ff
> > > ff 0 0 0 0
> > >    PHASE MSGIN: siop_clearfifo...
> > >    invalid status code 128
> > >    generic HBA error
> > >    siop_intr: I shouldn't be there !
> >
> > Could this be related to kernel size? Could you strip stuff out of
> > GENERIC.MP until its smaller than GENERIC as a quick test?
>
> Tried that, but didn't help. Now I even got this error when loading
> a modified single-CPU kernel. :|
>
> I noticed in siop.c that the siop_clearfifo() function was not yet
> implemented. Probably this is the reason for all the following errors.
>
> After implementing it, it looks like this:
>
> illegal request, data = 0 0 0 0 24 0 0 cb 0 1 0 0 0 0 0 0 ff ff ff ff 0 0
> 0 0
> DMA FIFO not empty!
> illegal request, data = 0 0 0 0 24 0 0 ce 0 3 0 0 0 0 0 0 ff ff ff ff 0 0
> 0 0
> open /dev/disk/scsi/000/0_0:netbsdtst: Input/ouput error
>
> That's better (I'm printing "DMA FIFO not empty" inside siop_clearfifo)
> although there is still a problem.
>

Maybe something need time to settle? (waving of hands at this point)

I have no idea about the other points yet. So no comment from me at this
> time. I will continue my investigations whenever I find some time for it.
>

Good hunting! :)

--001a11c38be2cf289e04fb7c09b1
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote">On 9=
 June 2014 13:33, Frank Wille <span dir=3D"ltr">&lt;<a href=3D"mailto:frank=
@phoenix.owl.de" target=3D"_blank">[email protected]</a>&gt;</span> wrot=
e:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
eft:1px #ccc solid;padding-left:1ex">

<div class=3D"">On Sun, 1 Jun 2014 23:46:38 +0100<br>
David Brownlee &lt;<a href=3D"mailto:[email protected]">[email protected]</a>&gt; wro=
te:<br>
<br>
&gt; &gt; 1. Reboot. All blinken lights (left and right) are activated. The=
n the<br>
&gt; &gt; =C2=A0 =C2=A0system hangs, until I manually press the reset butto=
ns.<br>
&gt;<br>
&gt; Linux ran on the BeBox at one point - I wonder if it would be easy to<=
br>
&gt; check what it did to reboot?<br>
<br>
</div>I was unable to find the source for Linux on BeBox. And in recent sou=
rce<br>
archives it is no longer present.<br></blockquote><div><br></div><div>It do=
es appear to have completely vanished. Not an issue since things started be=
ing kept in a revision control system, but Linux/BeBox pre-dated git... :/<=
br>

</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 =
0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
But I guess there is no way to reset the system in software. There is a<br>
board register to assert /HRESET and /SRESET to CPU 1, but not to CPU 0.<br=
>
<br>
Maybe I can reset as many hardware registers as possible and then jump<br>
into the boot ROM&#39;s reset vector?<br></blockquote><div><br></div><div>S=
ounds like its worth a try... <br><br>[...]<br><br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">

<div class=3D"">
&gt; &gt; 6. mcclock(4) doesn&#39;t work correctly. The time after a cold-s=
tart is<br>
&gt; &gt; =C2=A0 =C2=A0wrong (e.g. &quot;WARNING: preposterous TOD clock ti=
me&quot;). Maybe I need a<br>
&gt; &gt; =C2=A0 =C2=A0new battery, but IIRC it worked under BeOS.<br>
&gt;<br>
&gt; It could be oddly parsed. If NetBSD writes something back to the TOD<b=
r>
&gt; does BeOS see it as gibberish?<br>
<br>
</div>I have to replace the disk to start BeOS. Didn&#39;t have the time to=
 do that.<br></blockquote><div>=C2=A0</div><div>Can you have two disks hook=
ed up in it?<br>=C2=A0<br></div><blockquote class=3D"gmail_quote" style=3D"=
margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


I inserted some debugging output into sys/dev/ic/mc146818.c and saw<br>
the driver was reading a time like 20:17:87. Maybe there is a problem<br>
with a mis-detected BCD mode (87 would be 0x57)?<br>
<br>
But before investigating any further I should check the RTC under BeOS<br>
again and replace the battery.<br><div class=3D""></div></blockquote><div><=
br>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex=
;border-left:1px #ccc solid;padding-left:1ex"><div class=3D"">
<br>
&gt; &gt; 7. X11/Xorg doesn&#39;t work yet. Cannot map I/O space. But the c=
orrect<br>
&gt; &gt; driver (S3) is recognized:<br>
&gt; &gt; =C2=A0 =C2=A0[ =C2=A0 888.123] (WW) xf86EnableIO -1<br>
&gt; &gt; =C2=A0 =C2=A0[ =C2=A0 888.126] (II) xf86EnableIO: ffffffff<br>
&gt; &gt; =C2=A0 =C2=A0[ =C2=A0 888.128] (WW) Can&#39;t map IO space!<br>
</div>&gt; &gt; [...]<br>
<div class=3D"">&gt;<br>
&gt; Wouldn&#39;t it be mem space rather than io space on a powerpc?<br>
<br>
</div>Sounds sensible. Probaby macallan@ would bring up X11 in no time. ;)=
=C2=A0</blockquote><div><br></div><div>He would have accelerated anti-alias=
ed fonts and alpha blended blitting in no time :)<br></div><div>=C2=A0</div=
><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1=
px #ccc solid;padding-left:1ex">

<div class=3D"">
&gt; &gt; 9. Multiprocessor support. I compiled the <a href=3D"http://GENER=
IC.MP" target=3D"_blank">GENERIC.MP</a> kernel, but the<br>
&gt; &gt; =C2=A0 =C2=A0boot loader doesn&#39;t want to load it. A renamed G=
ENERIC kernel works,<br>
&gt; &gt; =C2=A0 =C2=A0which is strange.<br>
&gt; &gt; =C2=A0 =C2=A0Boot: /dev/disk/scsi/000/0_0:netbsdmp<br>
&gt; &gt; =C2=A0 =C2=A0Loading /dev/disk/scsi/000/0_0:netbsdmp<br>
&gt; &gt; =C2=A0 =C2=A0illegal request, data =3D 0 0 0 0 24 0 0 cb 0 1 0 0 =
0 0 0 0 ff ff ff<br>
&gt; &gt; ff 0 0 0 0<br>
&gt; &gt; =C2=A0 =C2=A0PHASE MSGIN: siop_clearfifo...<br>
&gt; &gt; =C2=A0 =C2=A0invalid status code 128<br>
&gt; &gt; =C2=A0 =C2=A0generic HBA error<br>
&gt; &gt; =C2=A0 =C2=A0siop_intr: I shouldn&#39;t be there !<br>
&gt;<br>
&gt; Could this be related to kernel size? Could you strip stuff out of<br>
&gt; <a href=3D"http://GENERIC.MP" target=3D"_blank">GENERIC.MP</a> until i=
ts smaller than GENERIC as a quick test?<br>
<br>
</div>Tried that, but didn&#39;t help. Now I even got this error when loadi=
ng<br>
a modified single-CPU kernel. :|<br>
<br>
I noticed in siop.c that the siop_clearfifo() function was not yet<br>
implemented. Probably this is the reason for all the following errors.<br>
<br>
After implementing it, it looks like this:<br>
<div class=3D""><br>
illegal request, data =3D 0 0 0 0 24 0 0 cb 0 1 0 0 0 0 0 0 ff ff ff ff 0 0=
 0 0<br>
</div>DMA FIFO not empty!<br>
illegal request, data =3D 0 0 0 0 24 0 0 ce 0 3 0 0 0 0 0 0 ff ff ff ff 0 0=
 0 0<br>
open /dev/disk/scsi/000/0_0:netbsdtst: Input/ouput error<br>
<br>
That&#39;s better (I&#39;m printing &quot;DMA FIFO not empty&quot; inside s=
iop_clearfifo)<br>
although there is still a problem.<br><div class=3D""></div></blockquote><d=
iv><br></div><div>Maybe something need time to settle? (waving of hands at =
this point) <br></div><br><blockquote class=3D"gmail_quote" style=3D"margin=
:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


I have no idea about the other points yet. So no comment from me at this<br=
>
time. I will continue my investigations whenever I find some time for it.<b=
r></blockquote><div><br></div><div>Good hunting! :) <br></div></div></div><=
/div>

--001a11c38be2cf289e04fb7c09b1--