Hi Gabe, On Tue, Dec 6, 2011 at 12:55 PM, Gabe Black <gabebl...@chromium.org> wrote: > This function provides an opportunity for some last minute cleanup and > reconfiguration before control is handed over to Linux. It's possible this > may need to do something in the future, but for now it's left empty. It's set > up as a weak symbol so it can be overridden if necessary on a case by case > basis. > > Signed-off-by: Gabe Black <gabebl...@chromium.org> > --- > arch/x86/cpu/cpu.c | 8 ++++++++ > arch/x86/include/asm/u-boot-x86.h | 1 + > 2 files changed, 9 insertions(+), 0 deletions(-) > > diff --git a/arch/x86/cpu/cpu.c b/arch/x86/cpu/cpu.c > index 61d0b69..3a2a64a 100644 > --- a/arch/x86/cpu/cpu.c > +++ b/arch/x86/cpu/cpu.c > @@ -86,6 +86,14 @@ static void reload_gdt(void) > : : "m" (gdt) : "ecx"); > } > > +int x86_cleanup_before_linux(void) > +{ > + return 0; > +} > +int cleanup_before_linux(void) > + __attribute__((weak, alias("x86_cleanup_before_linux"))); > + > + > int x86_cpu_init_f(void) > { > const u32 em_rst = ~X86_CR0_EM; > diff --git a/arch/x86/include/asm/u-boot-x86.h > b/arch/x86/include/asm/u-boot-x86.h > index 755f88a..8cc4be6 100644 > --- a/arch/x86/include/asm/u-boot-x86.h > +++ b/arch/x86/include/asm/u-boot-x86.h > @@ -37,6 +37,7 @@ int x86_cpu_init_r(void); > int cpu_init_r(void); > int x86_cpu_init_f(void); > int cpu_init_f(void); > +int cleanup_before_linux(void); > > /* cpu/.../timer.c */ > void timer_isr(void *); > -- > 1.7.3.1
Hmmm, interesting... sc520 already has a function to put the board into maximal PC/AT compatibility mode because, quite frankly, that was the easiest way to get Linux working. So this seems to be a logical extension of that hook... However, I while ago I had a crack at cleaning up the U-Boot init sequence using a concept blantantly stolen from Linux[1],[2]. I wonder if it might be worth looking at a similar solution here. That would allow CPU, arch and board specific 'cleanups' to be dynamically defined without having to do a whole bunch of background plumbing... Regards, Graeme [1] http://patchwork.ozlabs.org/patch/110316/ and [2] http://patchwork.ozlabs.org/patch/110515/ _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot