If we can't find the u-boot api signature, exit with an error status that

includes "badab1"; u-boot displays the status in hex, so this may help
give some clue about why ubldr isn't working (more than -1 does anyway).
This commit is contained in:
Ian Lepore 2014-03-01 19:25:23 +00:00
parent b53bfbba65
commit a4b43ebe9e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=262666

View file

@ -124,15 +124,21 @@ main(void)
struct open_file f;
const char * loaderdev;
/*
* If we can't find the magic signature and related info, exit with a
* unique error code that U-Boot reports as "## Application terminated,
* rc = 0xnnbadab1". Hopefully 'badab1' looks enough like "bad api" to
* provide a clue. It's better than 0xffffffff anyway.
*/
if (!api_search_sig(&sig))
return (-1);
return (0x01badab1);
syscall_ptr = sig->syscall;
if (syscall_ptr == NULL)
return (-2);
return (0x02badab1);
if (sig->version > API_SIG_VERSION)
return (-3);
return (0x03badab1);
/* Clear BSS sections */
bzero(__sbss_start, __sbss_end - __sbss_start);