mirror of
https://git.codelinaro.org/clo/qsdk/oss/boot/u-boot-2016.git
synced 2025-12-10 07:44:53 +01:00
AU_LINUX_QSDK_FIG_TARGET_ALL.12.0.000.953
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEABECAAYFAmHluVYACgkQoUgPZYCpAfGbvQCePqE0RVAKsIh8k2QS8E5lGSGn zbgAn1rt58dZl7rJX/gLsNxMgQ1tH/0p =6dBR -----END PGP SIGNATURE----- Merge AU_LINUX_QSDK_FIG_TARGET_ALL.12.0.000.953 on remote branch Change-Id: I9fbf4c800ce29c02db1d5fc9ca20f5deaad0efa9 Signed-off-by: Linux Build Service Account <lnxbuild@localhost>
This commit is contained in:
commit
e80738ad41
3 changed files with 18 additions and 5 deletions
|
|
@ -307,9 +307,9 @@ static int parse_elf_image_phdr(image_info *img_info, unsigned int addr)
|
||||||
#ifdef CONFIG_IPQ_ROOTFS_AUTH
|
#ifdef CONFIG_IPQ_ROOTFS_AUTH
|
||||||
static int copy_rootfs(unsigned int request, uint32_t size)
|
static int copy_rootfs(unsigned int request, uint32_t size)
|
||||||
{
|
{
|
||||||
int ret;
|
|
||||||
char runcmd[256];
|
char runcmd[256];
|
||||||
#ifdef CONFIG_QCA_MMC
|
#ifdef CONFIG_QCA_MMC
|
||||||
|
int ret;
|
||||||
block_dev_desc_t *blk_dev;
|
block_dev_desc_t *blk_dev;
|
||||||
disk_partition_t disk_info;
|
disk_partition_t disk_info;
|
||||||
unsigned int active_part = 0;
|
unsigned int active_part = 0;
|
||||||
|
|
@ -401,6 +401,11 @@ static int authenticate_rootfs(unsigned int kernel_addr)
|
||||||
rootfs_img_info.size = sizeof(mbn_header_t) + mbn_ptr->image_size;
|
rootfs_img_info.size = sizeof(mbn_header_t) + mbn_ptr->image_size;
|
||||||
|
|
||||||
ret = qca_scm_secure_authenticate(&rootfs_img_info, sizeof(rootfs_img_info));
|
ret = qca_scm_secure_authenticate(&rootfs_img_info, sizeof(rootfs_img_info));
|
||||||
|
|
||||||
|
memset((void *)kernel_img_info.kernel_load_addr, 0, sizeof(mbn_header_t));
|
||||||
|
memset(mbn_ptr, 0,
|
||||||
|
(sizeof(mbn_header_t) + mbn_ptr->signature_size + mbn_ptr->cert_chain_size));
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
return CMD_RET_FAILURE;
|
return CMD_RET_FAILURE;
|
||||||
|
|
||||||
|
|
@ -435,6 +440,7 @@ static int authenticate_rootfs_elf(unsigned int rootfs_hdr)
|
||||||
|
|
||||||
rootfs_img_info.size = img_info.img_offset + img_info.img_size;
|
rootfs_img_info.size = img_info.img_offset + img_info.img_size;
|
||||||
ret = qca_scm_secure_authenticate(&rootfs_img_info, sizeof(rootfs_img_info));
|
ret = qca_scm_secure_authenticate(&rootfs_img_info, sizeof(rootfs_img_info));
|
||||||
|
memset((void *)rootfs_hdr, 0, img_info.img_offset);
|
||||||
if (ret)
|
if (ret)
|
||||||
return CMD_RET_FAILURE;
|
return CMD_RET_FAILURE;
|
||||||
|
|
||||||
|
|
@ -635,6 +641,7 @@ static int do_boot_signedimg(cmd_tbl_t *cmdtp, int flag, int argc, char *const a
|
||||||
setenv("mtdids", mtdids);
|
setenv("mtdids", mtdids);
|
||||||
|
|
||||||
#ifndef CONFIG_IPQ_ELF_AUTH
|
#ifndef CONFIG_IPQ_ELF_AUTH
|
||||||
|
mbn_header_t * mbn_ptr = (mbn_header_t *) request;
|
||||||
request += sizeof(mbn_header_t);
|
request += sizeof(mbn_header_t);
|
||||||
#else
|
#else
|
||||||
kernel_img_info.kernel_load_addr = request;
|
kernel_img_info.kernel_load_addr = request;
|
||||||
|
|
@ -649,6 +656,11 @@ static int do_boot_signedimg(cmd_tbl_t *cmdtp, int flag, int argc, char *const a
|
||||||
|
|
||||||
ret = qca_scm_auth_kernel(&kernel_img_info,
|
ret = qca_scm_auth_kernel(&kernel_img_info,
|
||||||
sizeof(kernel_img_info));
|
sizeof(kernel_img_info));
|
||||||
|
#ifndef CONFIG_IPQ_ELF_AUTH
|
||||||
|
memset((void *)mbn_ptr->signature_ptr, 0,(mbn_ptr->signature_size + mbn_ptr->cert_chain_size));
|
||||||
|
#else
|
||||||
|
memset((void *)kernel_img_info.kernel_load_addr, 0, img_info.img_offset);
|
||||||
|
#endif
|
||||||
if (ret) {
|
if (ret) {
|
||||||
printf("Kernel image authentication failed \n");
|
printf("Kernel image authentication failed \n");
|
||||||
BUG();
|
BUG();
|
||||||
|
|
|
||||||
|
|
@ -400,8 +400,11 @@ void ipq_fdt_mem_rsvd_fixup(void *blob)
|
||||||
if (nodeoff < 0) {
|
if (nodeoff < 0) {
|
||||||
nodeoff = fdt_path_offset(blob, "/qti,scm_restart_reason");
|
nodeoff = fdt_path_offset(blob, "/qti,scm_restart_reason");
|
||||||
if (nodeoff < 0) {
|
if (nodeoff < 0) {
|
||||||
debug("fdt-fixup: unable to find compatible node\n");
|
nodeoff = fdt_path_offset(blob, "/soc/qti,scm_restart_reason");
|
||||||
return;
|
if (nodeoff < 0) {
|
||||||
|
debug("fdt-fixup: unable to find compatible node\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1321,7 +1321,6 @@ struct dumpinfo_t dumpinfo_n[] = {
|
||||||
{ "DATARAM.BIN", 0x00290000, 0x00014000, 0 },
|
{ "DATARAM.BIN", 0x00290000, 0x00014000, 0 },
|
||||||
{ "MSGRAM.BIN", 0x00060000, 0x00006000, 1 },
|
{ "MSGRAM.BIN", 0x00060000, 0x00006000, 1 },
|
||||||
{ "IMEM.BIN", 0x08600000, 0x00001000, 0 },
|
{ "IMEM.BIN", 0x08600000, 0x00001000, 0 },
|
||||||
{ "NSSUTCM.BIN", 0x08600658, 0x00030000, 0, 1, 0x2000 },
|
|
||||||
{ "UNAME.BIN", 0, 0, 0, 0, 0, MINIMAL_DUMP },
|
{ "UNAME.BIN", 0, 0, 0, 0, 0, MINIMAL_DUMP },
|
||||||
{ "CPU_INFO.BIN", 0, 0, 0, 0, 0, MINIMAL_DUMP },
|
{ "CPU_INFO.BIN", 0, 0, 0, 0, 0, MINIMAL_DUMP },
|
||||||
{ "DMESG.BIN", 0, 0, 0, 0, 0, MINIMAL_DUMP },
|
{ "DMESG.BIN", 0, 0, 0, 0, 0, MINIMAL_DUMP },
|
||||||
|
|
@ -1345,7 +1344,6 @@ struct dumpinfo_t dumpinfo_s[] = {
|
||||||
{ "DATARAM.BIN", 0x00290000, 0x00014000, 0 },
|
{ "DATARAM.BIN", 0x00290000, 0x00014000, 0 },
|
||||||
{ "MSGRAM.BIN", 0x00060000, 0x00006000, 1 },
|
{ "MSGRAM.BIN", 0x00060000, 0x00006000, 1 },
|
||||||
{ "IMEM.BIN", 0x08600000, 0x00001000, 0 },
|
{ "IMEM.BIN", 0x08600000, 0x00001000, 0 },
|
||||||
{ "NSSUTCM.BIN", 0x08600658, 0x00030000, 0, 1, 0x2000 },
|
|
||||||
{ "UNAME.BIN", 0, 0, 0, 0, 0, MINIMAL_DUMP },
|
{ "UNAME.BIN", 0, 0, 0, 0, 0, MINIMAL_DUMP },
|
||||||
{ "CPU_INFO.BIN", 0, 0, 0, 0, 0, MINIMAL_DUMP },
|
{ "CPU_INFO.BIN", 0, 0, 0, 0, 0, MINIMAL_DUMP },
|
||||||
{ "DMESG.BIN", 0, 0, 0, 0, 0, MINIMAL_DUMP },
|
{ "DMESG.BIN", 0, 0, 0, 0, 0, MINIMAL_DUMP },
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue