Re: [PATCH 1/6] bootwrapper: arch/powerpc/boot code reorg
From: Mark A. Greer <hidden>
Date: 2006-08-02 16:58:31
On Wed, Aug 02, 2006 at 04:15:05PM +1000, Paul Mackerras wrote:
I wrote:quoted
The ops structure seems like a reasonable concept, but I question whether we need to have platform_ops separate from fw_ops, since the firmware is essentially part of the implementation of the platform. Also I don't see why we need to do a double indirection to get to each ops function.Thinking about this a bit more, why do we need the indirect function calls at all? Do we ever want to be able to choose (e.g.) one of several possible console implementations at runtime? Don't we know at compile time which one we will be using, and thus can't we use the linker to make the necessary linkages?
The hooking up was done at runtime for relocation reasons. The got relocation code in crt0.S doesn't handle a function address statically assigned to a structure member. I don't think its safe to assume that 0x4000 is safe on all platforms, either, so relocation is probably a fact of life. We could hack crt0.S instead, if you prefer? Mark