diff options
Diffstat (limited to 'src/soc/qualcomm')
-rw-r--r-- | src/soc/qualcomm/ipq806x/blobs_init.c | 12 | ||||
-rw-r--r-- | src/soc/qualcomm/ipq806x/include/soc/memlayout.ld | 3 |
2 files changed, 6 insertions, 9 deletions
diff --git a/src/soc/qualcomm/ipq806x/blobs_init.c b/src/soc/qualcomm/ipq806x/blobs_init.c index ae7e4d4b48..2821677465 100644 --- a/src/soc/qualcomm/ipq806x/blobs_init.c +++ b/src/soc/qualcomm/ipq806x/blobs_init.c @@ -32,20 +32,18 @@ static void *load_ipq_blob(const char *file_name) { - struct cbfs_file *blob_file; struct mbn_header *blob_mbn; void *blob_dest; + size_t blob_size; - blob_file = cbfs_get_file(CBFS_DEFAULT_MEDIA, file_name); - if (!blob_file) + blob_mbn = cbfs_boot_map_with_leak(file_name, CBFS_TYPE_RAW, + &blob_size); + if (!blob_mbn) return NULL; - blob_mbn = (struct mbn_header *)((uintptr_t)blob_file + - ntohl(blob_file->offset)); - /* some sanity checks on the headers */ if ((blob_mbn->mbn_version != 3) || - (blob_mbn->mbn_total_size > ntohl(blob_file->len))) + (blob_mbn->mbn_total_size > blob_size)) return NULL; blob_dest = (void *) blob_mbn->mbn_destination; diff --git a/src/soc/qualcomm/ipq806x/include/soc/memlayout.ld b/src/soc/qualcomm/ipq806x/include/soc/memlayout.ld index 62d755e8e1..426d35b844 100644 --- a/src/soc/qualcomm/ipq806x/include/soc/memlayout.ld +++ b/src/soc/qualcomm/ipq806x/include/soc/memlayout.ld @@ -34,9 +34,8 @@ SECTIONS OVERLAP_VERSTAGE_ROMSTAGE(0x2A012000, 64K) VBOOT2_WORK(0x2A022000, 16K) PRERAM_CBMEM_CONSOLE(0x2A026000, 32K) - CBFS_HEADER_OFFSET(0x2A02E400) -/* 0x2e404..0x3F000 4 bytes shy of 67KB free */ +/* 0x2e400..0x3F000 67KB free */ /* Keep the below area reserved at all times, it is used by various QCA components as shared data |