
Dear ksi@koi8.net,
In message Pine.LNX.4.64ksi.0902162123560.27482@home-gw.koi8.net you wrote:
But then - how often will it bbe necessary to switch adapters before relocation? What is I2C being used for? To read the SPD data for the RAM init code. Which other adapter would be needed?
I can not tell it right away. There might be several RAM DIMMs with their own SPD EPROMS sitting on different busses or something else. It is not like
I have never seen any such design in real life, and I would not hesitate to call it broken. We should not make the software design unnecessarily complet just to support any worst case situations that might eventually happen. It's perfectly sufficient to cover 99.999% of all existing systems :-)
we absolutely need this feature right now, urgently but it is so easy to implement that it would've been a crime to not to... :)
Well, it's not so easy - it adds a lot of complexity, it seems.
There is another problem with choosing a proper i2c_init() function with i2c_set_bus_num() -- the latter also reprograms I2C multiplexers/switches if there are any so you essentially need an initialized adapter to switch to it to initialize it. Catch 22...
One more reason not even to attempt to support such configurations.
Please also note that you will loose a capability of working with more than one adapter before the code is relocated to RAM.
I don't see this.
Why? There is no writable global variables before relocation...
Of course there are. Guess what the "global data" strcuture has been invented for?
Best regards,
Wolfgang Denk