2010/1/8 Patrick Georgi <patr...@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/ -- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot