On Fri, 2008-03-28 at 00:55 +0100, Uwe Hermann wrote:
On Thu, Mar 27, 2008 at 03:14:36PM +0100, Carl-Daniel Hailfinger wrote:
Well, only v2 has been ported to PPC and the structure of v3 is radically different. However, the v3 structure allows much easier porting, so I think v3 would be your preferred target.
Yep, definately.
v2 (or was it v1?) also had some support for Alpha, btw.
Interesting.
I assume MIPS boards have some sort of ROM. How is that ROM mapped into the address space?
Please see my previous reply to Carl in this thread.
Also, are there generic "PC"-like machines with a standard "ROM chip" as in x86-world, or are they exclusively embedded boards?
While I have never played with them, there are a host of such machines based on MIPS processors made by SGI and Sun which I assume would have such standard "ROM chips".
The prevalent market as of now is of course the embedded space where MIPS processors have proliferated into networking gear, set top boxes, game consoles etc. The thumb rule is that MIPS tries to position itself wherever ARM does, but with a lot less luck. :)
How would you go about flashing such a board?
To quote an example of the "prescribed" method : For a while, I was working with a MIPS Malta board which is a baseboard containing the Intel PIIX based southbridge and the peripheral buses including the Flash at the reset vector. A number of "core cards" can be dropped onto the Malta which contain a supported MIPS core and a system controller (usually a Galileo GT64120 or one of several MIPS' in house controllers such as the Bonito etc).
Anyways, they stuck in some code in a CPLD on the baseboard which ran only if a physical switch was flipped and which would emulate a USB printer over the bus. You could then write an SREC firmware image to this printer from the host and the CPLD code would do the Flash unlock-erase-program bits.
Fortunately (or otherewise) I do not have a Malta which is an expensive beast. On the other hand, the board I do have is an Algorithmics P4032 which has the ability to conditionally (the condition being a jumper setting) boot off an external Flash chip for which there is a DIP socket provided which makes my task very easy. I just have to put in some working firmware such as pmon (which supports this board) onto the external Flash and then I can use it to program the board's internal boot flash mapped at 0x1FC00000 as much as I like (get images off of ethernet/RS-232 etc). This is what I aim to do basically, once I can get someone with a Flash programmer to sort things out for me initially.
Another idea I am playing with is to use GXEmul [http://gavare.se/gxemul/] which is a system emulator (not just the core). It currently supports the P5042 which is a souped up P4032. If I could get GXEmul to support my board, I have an excellent test bed ready to use. More on my experiments with this later.
Can flashrom be hacked to support them or do you usually use some sort of JTAG interface?
I'm not aware of flashrom just yet but most MIPS boards do have a JTAG interface which needs to be used with an emulator and (usually proprietary) software.
Cheers, Robin