From a49864593e083a5d0779fb9ca98e5a0f2053183d Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 13 Apr 2008 19:42:19 -0400 Subject: allow ports to override go behavior Split the arch-specific logic out of the common go code and into a dedicated weak function called do_go_exec() that lives in cpu directories. This will need review from i386/nios people to make sure I didn't break them. --- lib_i386/board.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib_i386') diff --git a/lib_i386/board.c b/lib_i386/board.c index 47fbab4cc..22191e6ac 100644 --- a/lib_i386/board.c +++ b/lib_i386/board.c @@ -421,3 +421,11 @@ void hang (void) puts ("### ERROR ### Please RESET the board ###\n"); for (;;); } + +unsigned long do_go_exec (ulong (*entry)(int, char *[]), int argc, char *argv[]) +{ + /* + * Nios function pointers are address >> 1 + */ + return (entry >> 1) (argc, argv); +} -- cgit v1.2.3