Subject: Re: Need sparc openboot reference (fwd)
To: Alfred Perlstein <bright@hotjobs.com>
From: Eduardo E. Horvath <eeh@one-o.com>
List: port-sparc
Date: 01/29/1999 09:37:52
On Fri, 29 Jan 1999, Alfred Perlstein wrote:

> On Thu, 28 Jan 1999, Eduardo E. Horvath wrote:
> 
> > On Wed, 27 Jan 1999, Alfred Perlstein wrote:
> > 
> > > On Wed, 27 Jan 1999, Eduardo E. Horvath wrote:
> > > 
> > > > This creates the mapping and leaves the virtual address on the stack.
> > > > Then `cd' back to the zs node and type:
> > > > 
> > > > encode-in " address" property
> > > 
> > > ok cd /zs
> > > ok encode-in " address" property
> > > encode-in ?
> > > ok encode " address" property
> > > Fast Data Access MMU miss
> > 
> > Sorry, typo, that should read:
> > 
> > encode-int " address" property
> 
> hrm:
> 
> Initializing Memory |
> ok showstack
> ok cd /zs@f,1000000
> ok 1fef1000000 sbus 4 memmap
> fffae000 ok encode-int " address" property
> ok cd /zs@f,1100000
> ok 1fef1100000 sbus 4 memmap
> fffac000 ok encode-int " address" property
> ok .properties
> port-a-rts-dtr-off
> reg                      0000000f 01100000 00000004
> interrupts               00000028
> device_type              serial
> name                     zs
> ok             

Seems to work for me:

Sun Ultra 1 UPA/SBus (UltraSPARC 167MHz), No Keyboard
OpenBoot 3.11, 64 MB memory installed, Serial #7959345.
Ethernet address 8:0:20:79:73:31, Host ID: 80797331.



Boot device:
/sbus@1f,0/SUNW,soc@1,0/SUNW,pln@a0000800,201cabb5/SUNW,ssd@1,2  File and
args: kadb -xv
Evaluating: boot

Can't open boot device

ok cd /sbus
ok ls
f007321c SUNW,bpp@e,c800000
f006b7cc SUNW,hme@e,8c00000
f0064dd0 SUNW,fas@e,8800000
f005d388 SUNW,pll@f,1304000
f005d2d4 sc@f,1300000
f005b8b8 zs@f,1000000
f005a418 zs@f,1100000
f005a364 eeprom@f,1200000
f005a230 SUNW,fdtwo@f,1400000
f005a168 flashprom@f,0
f005a0d8 auxio@f,1900000
f0059fcc SUNW,CS4231@d,c000000
ok cd zs@f,1000000
ok .properties
reg                      0000000f 01000000 00000004 
interrupts               00000028 
port-b-ignore-cd         
port-a-ignore-cd         
keyboard                 
device_type              serial
name                     zs
ok 1fef1000000 sbus 4 memmap encode-int " address" property
ok .properties
address                  fffae000 
reg                      0000000f 01000000 00000004 
interrupts               00000028 
port-b-ignore-cd         
port-a-ignore-cd         
keyboard                 
device_type              serial
name                     zs
ok cd .. 
ok cd zs@f,1100000
ok .properties
port-b-ignore-cd         
port-a-ignore-cd         
reg                      0000000f 01100000 00000004 
interrupts               00000028 
device_type              serial
name                     zs
ok 1fef1100000 sbus 4 memmap encode-int " address" property
ok .properties
address                  fffac000 
port-b-ignore-cd         
port-a-ignore-cd         
reg                      0000000f 01100000 00000004 
interrupts               00000028 
device_type              serial
name                     zs
ok 

> 
> 
> it seems to allow it, but doesn't store the properties in the zs nodes...
> and the kernel still panics
> 
> anything else to try?
> 
> well i guess i _could_ hardcode it into the kernel, but i was hoping to
> avoid that... time to unpack some linux code and take a peek as well.

One of the things I'm considering is to change the drivers to access all
device registers through the passthrough ASIs so the registers never need
to be mapped in.  The problem is that then I would need to rewrite all
drivers to properly use the bus_space_{read,write}*() macros for all
register accesses.

> 
> I think i may call the prom people tomorrow to ask them what the deal is.
> 
> The little i have learned so far (forth is nifty) puts PC bios's to shame
> though, very impressive.
> 
> thank you,
> -Alfred
> 

=========================================================================
Eduardo Horvath				eeh@one-o.com
	"I need to find a pithy new quote." -- me