x86: Fix do_go_exec()
This was broken a long time ago by a49864593e
which munged the NIOS and x86 do_go_exec()
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
This commit is contained in:
committed by
Wolfgang Denk
parent
433ff2bdbc
commit
9e08efcfee
@@ -422,10 +422,10 @@ void hang (void)
|
|||||||
unsigned long do_go_exec (ulong (*entry)(int, char *[]), int argc, char *argv[])
|
unsigned long do_go_exec (ulong (*entry)(int, char *[]), int argc, char *argv[])
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* TODO: Test this function - changed to fix compiler error.
|
* x86 does not use a dedicated register to pass the pointer
|
||||||
* Original code was:
|
* to the global_data
|
||||||
* return (entry >> 1) (argc, argv);
|
|
||||||
* with a comment about Nios function pointers are address >> 1
|
|
||||||
*/
|
*/
|
||||||
|
argv[-1] = (char *)gd;
|
||||||
|
|
||||||
return (entry) (argc, argv);
|
return (entry) (argc, argv);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user