[coreboot] coreboot and MSM800BEV
Piotr Piwko
piotr.piwko at gmail.com
Fri Jan 8 18:32:24 CET 2010
2010/1/8 Patrick Georgi <patrick at georgi-clan.de>:
> How long did you wait? it _might_ be that it merely takes a very long
> time. That must of course be fixed, but is not the same problem as a
> hanging system.
I wait for about 15-20 min and nothing special. I put some 'postcode'
functions for debug capability and I've found out that it hangs on
'cbfs_load_stage' function when it calls cbfs_find_file:
---------[ lib/cbfs.c ]--------
// ...
void * cbfs_load_stage(const char *name)
{
struct cbfs_stage *stage = (struct cbfs_stage *)
cbfs_find_file(name, CBFS_TYPE_STAGE);
/* this is a mess. There is no ntohll. */
/* for now, assume compatible byte order until we solve this. */
u32 entry;
outb(0xaa, 0x80); // <--------------- It doesn't occur
if (stage == NULL)
return (void *) -1;
printk_info("Stage: loading %s @ 0x%x (%d bytes), entry @ 0x%llx\n",
name,
(u32) stage->load, stage->memlen,
stage->entry);
memset((void *) (u32) stage->load, 0, stage->memlen);
if (cbfs_decompress(stage->compression,
((unsigned char *) stage) +
sizeof(struct cbfs_stage),
(void *) (u32) stage->load,
stage->len))
return (void *) -1;
printk_debug("Stage: done loading.\n");
entry = stage->entry;
// entry = ntohl((u32) stage->entry);
return (void *) entry;
}
// ...
---------------------------------------------------
On Monday I will test the cbfs_find_file function. I hope I will found
something.
Have a good weekend!
--
Piotr Piwko
http://www.embedded-engineering.pl/
More information about the coreboot
mailing list