summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/include/cbfs.h7
-rw-r--r--src/lib/cbfs.c18
-rw-r--r--util/options/build_opt_tbl.c4
3 files changed, 11 insertions, 18 deletions
diff --git a/src/include/cbfs.h b/src/include/cbfs.h
index b11c3b316d..bca089a73b 100644
--- a/src/include/cbfs.h
+++ b/src/include/cbfs.h
@@ -57,7 +57,6 @@
#define CBFS_COMPRESS_NONE 0
#define CBFS_COMPRESS_LZMA 1
-#define CBFS_COMPRESS_NRV2B 2
/** These are standard component types for well known
components (i.e - those that coreboot needs to consume.
@@ -165,8 +164,12 @@ int cbfs_execute_stage(const char *name);
void * cbfs_get_file(const char *name);
void *cbfs_load_optionrom(u16 vendor, u16 device, void * dest);
int run_address(void *f);
-
+int cbfs_decompress(int algo, void *src, void *dst, int len);
struct cbfs_stage *cbfs_find_file(const char *name, int type);
+int cbfs_check_magic(struct cbfs_file *file);
+struct cbfs_header *cbfs_master_header(void);
+struct cbfs_file *cbfs_find(const char *name);
+void cbfs_and_run_core(char* filename, unsigned int ebp);
#endif
diff --git a/src/lib/cbfs.c b/src/lib/cbfs.c
index caf5db4b49..f57a14a800 100644
--- a/src/lib/cbfs.c
+++ b/src/lib/cbfs.c
@@ -29,8 +29,6 @@
#define ntohl(x) (x)
#endif
-int run_address(void *f);
-
int cbfs_decompress(int algo, void *src, void *dst, int len)
{
switch(algo) {
@@ -44,15 +42,6 @@ int cbfs_decompress(int algo, void *src, void *dst, int len)
}
return 0;
-#if CONFIG_COMPRESSED_PAYLOAD_NRV2B==1
- case CBFS_COMPRESS_NRV2B: {
- unsigned long unrv2b(u8 *src, u8 *dst, unsigned long *ilen_p);
- unsigned long tmp;
-
- unrv2b(src, dst, &tmp);
- }
- return 0;
-#endif
default:
printk_info( "CBFS: Unknown compression type %d\n",
algo);
@@ -103,11 +92,11 @@ struct cbfs_file *cbfs_find(const char *name)
int flen = ntohl(file->len);
int foffset = ntohl(file->offset);
- printk_spew("CBFS: follow chain: %p + %x + %x + align -> ", offset, foffset, flen);
+ printk_spew("CBFS: follow chain: %p + %x + %x + align -> ", (void *)offset, foffset, flen);
unsigned long oldoffset = offset;
offset = ALIGN(offset + foffset + flen, align);
- printk_spew("%p\n", offset);
+ printk_spew("%p\n", (void *)offset);
if (offset <= oldoffset) return NULL;
if (offset < 0xFFFFFFFF - ntohl(header->romsize))
@@ -182,7 +171,8 @@ void * cbfs_load_stage(const char *name)
if (stage == NULL)
return (void *) -1;
- printk_info("Stage: load @ %d/%d bytes, enter @ %llx\n",
+ printk_info("Stage: load %s @ %d/%d bytes, enter @ %llx\n",
+ name,
(u32) stage->load, stage->memlen,
stage->entry);
memset((void *) (u32) stage->load, 0, stage->memlen);
diff --git a/util/options/build_opt_tbl.c b/util/options/build_opt_tbl.c
index f4aa8af7ec..ec9400629e 100644
--- a/util/options/build_opt_tbl.c
+++ b/util/options/build_opt_tbl.c
@@ -488,7 +488,7 @@ int main(int argc, char **argv)
/* See if we want to output a C source file */
if(option) {
int err=0;
- strncpy(tmpfilename, dirname(option), TMPFILE_LEN);
+ strncpy(tmpfilename, dirname(strdup(option)), TMPFILE_LEN);
strncat(tmpfilename, TMPFILE_TEMPLATE, TMPFILE_LEN);
tmpfile = mkstemp(tmpfilename);
if(tmpfile == -1) {
@@ -539,7 +539,7 @@ int main(int argc, char **argv)
struct cmos_option_table *hdr;
struct lb_record *ptr, *end;
- strncpy(tmpfilename, dirname(option), TMPFILE_LEN);
+ strncpy(tmpfilename, dirname(strdup(option)), TMPFILE_LEN);
strncat(tmpfilename, TMPFILE_TEMPLATE, TMPFILE_LEN);
tmpfile = mkstemp(tmpfilename);
if(tmpfile == -1) {