"Eric W. Biederman" wrote:

> Jeremy Jackson <[EMAIL PROTECTED]> writes:
>
> > I have used RedHat 6.2 Alpha out of the box so to speak.  It comes  with MILO
> > to boot Linux on an EV4:
> > the Multia/UDB.  It runs fine using MILO boot floppies or harddisk (scsi only -
> > ide has problems just now - interrupt sticks when drive plugged it) from ARC
> > console.  It's not called noname as I recall, but rather udb (I think)
> > Note that aboot/SRM console gives me problems with
> > fpu instructions - i suspect pal code problems.
> >
> > Anyhow... a first step might be to get MILO working in flash on this system...
> > it's one of the few that can't do this right now... partly because the flash
> > parts
> > must be erased/reprogrammed a whole chip at a time (there are three) - there
> > is no nvram code in MILO's fmu utility that supports this system/flash chip.
> >
> > Intel's flash part's docs are available, so in southbridge (if you look real
> > hard), etc,
> > but nobody knows what GPIO pins go to the write enable/erase pulse/etc on the
> > flash parts.
>
> I don't know which flash parts you have.  My general impression is that
> there are two pieces, to get a part flashable.  Motherboard control
> either through a dip switch or a BIOS setting, so you actually have
> access to the part.  And actually knowing what commands to write to
> the part.  Once you can actually get a write command to the part
> it shouldn't be a problem to actually flash it.

#1 If memory serves, these are Intel i28F002 or i27F002 x 3 units.  These parts do not
support block-erase like the parts used on all other Alphas.  The Southbridge is
SB82378ZB or something close... i'll have to check at home later.    As far as
enabling programming/erasing power to the chip, it's the latter option... BIOS setting
or someting similar in Alpha land.  But it's not controlled by Console firmware(ie no
menu option), but by the flash utility (presumably programming some io ports
somewhere.   I suspect the southbridge GPIO port, but others have used keyboard
controllers' GPIO).  The schematic would make this a piece of cake; it's not like
Compaq is making any money off of EV4's these days, but the last computer I've seen
that came with schematics was the Commodore Amiga.  But maybe if you have
SROM source...

#2 you may need to enable Write access to the memory region the flash roms are decoded
at... likely similar to #1 i'm just speculating here.  This isn't necessary from a
hardware point of view, since when programming voltage is absent the write functions
(flash state machine) are disabled, so I can't see anyone paying to implement this.

#3 knowing how the address decoding works.  may be as simple as knowing what address
the parts decode.  or they may be stacked with more GPIO lines used to bank switch.  I
remember making some headway on this, but since it was about 6 months ago, i'll have
to check my notes. I believe MILO's fmu (flash management utility) lets the contents
be viewed, (lists ARC/SRM code locations/sizes, etc)  so this part seems to be ok, but
I'll have to check again.

#4 knowing what to write TO the chip is easy... intel's datasheet details the state
machine used to identify/erase/program its parts.  Numerous C implementations are
available.

#5 knowing what to write INTO the chip... this is where SROM source or other such info
comes in.  There is a rom-type filesystem for the console firmware... the block erase
style chips that MILO knows about are pretty flexible when it comes to reprogramming
(with MILO image)  I suspect this ROM-fs is different for the bulk-erase parts though.

Oh yeah, interrupt routing... does console do this or SROM?  I think SROM inits mem
ctlr... so many details.

--->
I almost forgot, MILO lets you append a gzipped kernel...  Linuxbios is just an
alternative which could be a lot faster,  and maybe the only way since MILO with
kernel is for systems with larger Flash parts.  By removing ARC,SRM, and merging
MILO/linuxbios kernel it should fit (768kBytes of flash on Multia)  maybe even
ramdisk?

Maybe nobody has thought of using a MILO w/kernel?

>
>
> >  If anyone has a way to do this it would take us past the barrier I ran into when
> >
> > I
> > tried to do this a while ago.  (IE ... docs about how to program the flash, and
> > what
> > headers the SROM wants to see to be able to run a ARC/SRM console/MILO/linuxbios
> >
> > etc from the flash.
> >
> > there is the SRM/ARC/NT firmware flash utility.... but what format of files does
> >
> > it take?
> >
> >
>
> > I believe if MILO can be made to work, linuxbios should be trivial.
> Right.
>
> >
> > As I mentioned above, do you have the docs for SROM, Console
> > firmware image headers, NT flash utility binary file format, etc?
> >
> > It's not to hard to get ALL the chip docs, but the firmware/circuit board?
>
> I actually have the source to a SROM.  And the license on it looks like
> I can redistribute it, but I'll have to double check.  I can
> definentily get you the the format that is used by the firmware.
>
> As you have a milo that works on your system, it looks like getting
> palcode shouldn't be a problem.
>
> My gut impression is that linuxBIOS is actually simpler to make work
> than milo but I still have to test that.
>

Wow this is good news!  I had basically given up.
I rember joking to my dentist about using his X-ray machine on the
PCB about that time :)

>
> Eric

Reply via email to