diff options
authorGraeme Russ <graeme.russ@gmail.com>2010-04-24 00:05:48 +1000
committerWolfgang Denk <wd@denx.de>2010-05-06 00:16:54 +0200
commit79ea6b87011c0524ced31359e2be7aac97c29d0a (patch)
parentbf16500f79fdf2653a286b40bb601cb185ac4675 (diff)
x86: Provide weak PC/AT compatibility setup function
It is possibly to setup x86 boards to use non-PC/AT configurations. For example, the sc520 is an x86 CPU with PC/AT and non-PC/AT peripherals. This function allows the board to set itself up for maximum PC/AT compatibility just before booting the Linux kernel (the Linux kernel 'just works' if everything is PC/AT compliant) Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2 files changed, 9 insertions, 0 deletions
diff --git a/arch/i386/include/asm/u-boot-i386.h b/arch/i386/include/asm/u-boot-i386.h
index 521fd352b..ce097a3bf 100644
--- a/arch/i386/include/asm/u-boot-i386.h
+++ b/arch/i386/include/asm/u-boot-i386.h
@@ -43,6 +43,8 @@ int cpu_init_interrupts(void);
int board_init(void);
int dram_init(void);
+void setup_pcat_compatibility(void);
void isa_unmap_rom(u32 addr);
u32 isa_map_rom(u32 bus_addr, int size);
diff --git a/arch/i386/lib/board.c b/arch/i386/lib/board.c
index 7115a2f39..3f849f654 100644
--- a/arch/i386/lib/board.c
+++ b/arch/i386/lib/board.c
@@ -441,3 +441,10 @@ unsigned long do_go_exec (ulong (*entry)(int, char *[]), int argc, char *argv[])
return (entry) (argc, argv);
+void setup_pcat_compatibility(void)
+ __attribute__((weak, alias("__setup_pcat_compatibility")));
+void __setup_pcat_compatibility(void)