Move the CBFS payload setup to later in the boot.
authorKevin O'Connor <kevin@koconnor.net>
Sat, 8 Jan 2011 17:24:39 +0000 (12:24 -0500)
committerKevin O'Connor <kevin@koconnor.net>
Sat, 8 Jan 2011 17:24:39 +0000 (12:24 -0500)
Don't try to register payloads until after malloc has been setup.

src/coreboot.c
src/post.c
src/util.h

index c9ee0823e7e4043b1f77782c1b8136277113a8a7..f62753134e85e78267d50ab980e8b34ce0c6ed56 100644 (file)
@@ -595,8 +595,8 @@ cbfs_run_payload(struct cbfs_file *file)
 }
 
 // Register payloads in "img/" directory with boot system.
-static void
-register_cbfs_payload(void)
+void
+cbfs_payload_setup(void)
 {
     struct cbfs_file *file = NULL;
     for (;;) {
@@ -614,5 +614,4 @@ coreboot_setup(void)
 {
     coreboot_fill_map();
     cbfs_setup();
-    register_cbfs_payload();
 }
index ff6813cd0c44505e9eefdda5faf6cf9dbdcaf3c7..efcfc85df39d8a683d9fb3ed648d482809b96861 100644 (file)
@@ -180,6 +180,7 @@ init_hw(void)
     floppy_setup();
     ata_setup();
     ahci_setup();
+    cbfs_payload_setup();
     ramdisk_setup();
     virtio_blk_setup();
 }
index 17fc54a5eed54872a9bef6069525748141078f0a..2160b37e38537cd099bbea204f2707bde97f73ae 100644 (file)
@@ -402,6 +402,7 @@ const char *cbfs_filename(struct cbfs_file *file);
 int cbfs_copyfile(struct cbfs_file *file, void *dst, u32 maxlen);
 void cbfs_run_payload(struct cbfs_file *file);
 void coreboot_copy_biostable(void);
+void cbfs_payload_setup(void);
 void coreboot_setup(void);
 
 // vgahooks.c