Port-sgimips archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Porting NetBSD to SGI Fuel?
On Wed, 19 Sep 2018, Naruaki.Etomi wrote:
I investigate mips64 toolchain on my Fuel.
Thank you Etomi-san!
hinv
System SGI-IP35
1 900 MHz IP35 Processors
Hey, your's is nicer than mine! Isn't that the fastest CPU for them? Nice!
1) I was wondering why start.S compile insted of start64.S.
... but from the diff you show, didn't you patch it to use start64.S
instead? So, you are trying to go fully MIPS64 with this attempt right?
2) LOAD_ADDRESS_IP30? is adapted from OpenBSD.
BSD is one big family. Glad the OpenBSD folks are working on SGI, too.
I've got it downloaded to try on my Tezro. It'd be amazing to try NetBSD
on my Fuel, so thanks for the effort.
bootp()ip30boot
Obtaining ip30boot from server xserve
55184+1944 entry: 0xa800000001200000
This is probably a dumb idea, but is it possible that this was not far
enough out or that it's freakout was from some kind of TFTP/BOOTP
operation?
A 000: *** TLB Refill Exception on node 0
A 000: *** EPC: 0xc00000001fc47e58 (0xc00000001fc47e58)
A 000: *** Press ENTER to continue.
A 000: POD IOC3 Unc> btrace
FUNCTION: CALLED FROM:
0xc00000001fc47d44 0xfffffffffffffff8
Exception terminated trace
A 000: POD IOC3 Unc>
So, how does a kernel hacker deal with this situation? I have no idea what
you guys do at this point. Wouldn't fixing something like this require
disassembly of the code and some kind of stepwise debugger/profiler that
shows the state of every register as you walk through instructions?
I've just spent about a year studying 68k ASM, and when I went to study
MIPS it was a big shock. RISC code is so much, well, *harder* than 68k
CISC ASM code. There are instructions and registers I'm not familiar with
and I've never really figured out how folks did any debugging or profiling
with RISC-based CPUs. I guess it's like anything else, practice makes
perfect, but I wish I knew what tools were used and I could watch an
expert do it for a while so I could see what skills/steps were really
needed. I have the old MIPSPro suite but thus far the only parts I've
explored are the compilers.
OpenBSD/sgi-IP27 ARCBios boot version 1.8
Does the Fuel even have an ARC firmware? My understanding is that older
SGI's used ARC and newer ones use SASH. I just remember calling the IRIX
partitioner for either ARCS or SASH and it seems like everything after the
Indy or around there was SASH.
I don't really know the difference other than one is old and one is new.
I know the Alpha has an ARC and SRM firmware situation and I figured it
was similar.
It work correctly.
Hmm, so do you think this is an NetBSD code issue or a toolchain problem?
What is the cause of this problem. 1) ldscript 2) compile option 3)
mips64 toolchain
I'm sorry I don't have any helpful suggestions. I'm more just curious how
a person would even start attacking a problem like that. I remember really
old computers that had hardware debuggers and displays of register values
etc... How do you do that for a bootloader, though? That seems very
difficult. I wonder how the OpenBSD folks did it.
-Swift
Home |
Main Index |
Thread Index |
Old Index