Subject: Re: PowerROM support in latest kernel
To: Scott Stevens <s.k.stevens@ic.ac.uk>
From: Thomas Boroske <y0001006@ws.rz.tu-bs.de>
List: port-arm32
Date: 07/08/1997 04:53:48
In message <E0wj0UK-0002S7-00@skutter.cc.ic.ac.uk> you wrote:

> Thomas Boroske writes:
>  > 
>  > I'm a bit confused. The PowerROM, IIRC, is an Eprom for a number of 
>  > SCSI cards (including Alsystems') that contains the firmware for 
>  > these cards. 
>  > 
>  > The *RiscOS* firmware. 
> 
> Right, but it also holds the podule info structure (inc. manufacturer
> and product ids).

Ah, I understand.

>  > Please, someone tell me what I got wrong. Especially: Is any part of 
>  > the code in the Eprom actually used under RiscBSD, during startup 
>  > or later ? I can't believe it, I mean, you can't run RiscOS modules
>  > (that's what scsidriver, scsifs etc are after all) under RiscBSD.
> 
> True, but although no *code* is executed from the ROM, the ROM is used
> to obtain the podule's ID. Now the Alsystem's PowerROM uses the same
> podule ID regardless of the actual card in use. This breaks the Acorn
> spec as the podule ID is a h/w specific ID. RiscBSD sees all
> PowerROM's cards as being equivilent h/w.

My problem with seeing this was that I somehow assumed that the ID of a 
card would be stored independent of the ROM that contains the firmware.

> So what RiscBSD does, it is sees the PowerTec ID and tries to use the ptsc
> driver on it. This fails as the card is really a morley (or whatever).

Yes, quite clearly.

> We are talking to alsystems about a way of identifying PowerROM'd
> cards in a different way... this could get messy tho'.

I'm not sure. AFAIK, although the modules actually on the ROMs are 
identical (I believe) for all types of cards, I think that there are 
'Morley' PowerRoms, 'Castle' PowerRoms etc... So the roms are different
anyway (perhaps it's just the type of eprom used, not the content), 
so perhaps it would be easy for them to change the ID.

Back to the actual problem: RiscBSD uses podule identification to select
the correct driver for any card found. In this case this breaks the support,
so wouldn't it be possible to make a kernel where you tell in the config
to just assume a card type x in slot y, not to test for it ?

Kind regards,


-- 
Thomas Boroske