sparc64: fix registers dealing with client (Igor Kovalenko)

Signed-off-by: igor.v.kovalenko@gmail.com


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@508 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
igor.v.kovalenko
2009-07-11 12:25:26 +00:00
committed by Blue Swirl
parent 853aec9291
commit 5f5b8d6f8c
7 changed files with 49 additions and 21 deletions

View File

@@ -125,19 +125,10 @@ int aout_load(struct sys_info *info, const char *filename)
debug("entry point is %#lx\n", start);
printf("Jumping to entry point...\n");
#if 1
{
int (*entry)(unsigned long p1, unsigned long p2, unsigned long p3,
unsigned long p4, unsigned long p5);
extern int of_client_interface( int *params );
entry = (void *) addr_fixup(start);
__asm__ __volatile__("clr %i3\n");
image_retval = entry(0, 0, 0, 0, (unsigned long)&of_client_interface);
extern int sparc64_of_client_interface( int *params );
image_retval = start_client_image(addr_fixup(start), (uint64_t)&sparc64_of_client_interface);
}
#endif
printf("Image returned with return value %#x\n", image_retval);
retval = 0;