Re: Porting NetBSD to SGI Fuel?
Swift Griggs <[email protected]> Tue, 18 Sep 2018 15:01:56 -0600 (MDT)
| Newsgroups | gmane.os.netbsd.ports.sgimips |
|---|---|
| Message-ID | <[email protected]> |
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