[rescue] SPARCstation 1 boot woes
    Ethan Hawke 
    ehawk at ember.systems
       
    Sun Nov  2 16:19:33 UTC 2025
    
    
  
> Alright, I'm not entirely sure what I'm looking at in this call trace.
> I've attached a text document with the output as well as hex dumps at
> address 4000 and the beginning of the boot program file on the tftp
> server.
So ctrace shows each time a new stack frame is allocated after some kind 
of call/jmp
instruction.
Last leaf: jmpl  40    from 3826f4
      0 w  %o0-%o5: (   37fe18   38f400        1       40 ffffffff 
ffffffff )
"Last leaf" indicates this is a leaf instruction (so it cannot call any 
other function),
the address of this function is "40", it was caused by a "jmpl" 
instruction that was
at address "3826f4" from the previous function, it then lists the 6 
registers that
make up the function parameters, although not all 6 have to be used, any 
more
arguments will have to be passed via the stack, which is not shown by 
ctrace.
While the client program starts at 4000, the NetBSD bootloader 
(boot.net) will
copy itself to 380000, which is why the addresses start with 38xxxx.
The addresses starting with ffe are OBP functions.
The call to "40" is invalid and that's why the program is crashing.
> Do you have any guidance for me for following this call trace? I don't
> know sparc assembly, but I'm familiar with the basics of assembly
> languages, so I can follow a little bit. I'm guessing these are some
> register dumps down the calling stack, but these addresses are
> meaningless to me.
I don't have a SPARCStation 1, but I do have an IPC which is pretty similar
(running version 2.4 "Release 2.4 Version 362 created 91/04/30 10:59:04").
Mouse' 1.4T boot.net does work correctly on this machine.
However, my trace does not have the call to ffe80e8, in fact that 
function does
not exist at all on my OBP version, also (perhaps just coincidence) that 
call has
40 as it's first argument, the same value that the bootloader mistakenly 
jumps
to causing the crash.
In my case, the call to 381cc8 and 3816c0 also occur on my IPC, but the 
call to
381570 never happens in my case. And of course there is never a call to 
ffe800e8.
I am very dubious that there is any hardware fault with your SS1, but 
perhaps some
compatibility issue with the SS1/OBP and NetBSD. See if you can boot 
SunOS as a
sanity check.
Cheers,
Ethan
    
    
More information about the rescue
mailing list