rimage: update rimage: add configuration and extended manifest
rimage dropped its "-m" parameter and switched over to using "-c" for a configuration file, including a target name. Add support for extended manifest for all cAVS versions. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
This commit is contained in:
parent
c6067e7f1c
commit
3de40b48c3
9 changed files with 83 additions and 2 deletions
|
@ -420,7 +420,8 @@ class RimageSigner(Signer):
|
||||||
board = cache['CACHED_BOARD']
|
board = cache['CACHED_BOARD']
|
||||||
log.inf('Signing for board ' + board)
|
log.inf('Signing for board ' + board)
|
||||||
target = self.edt_get_rimage_target(board)
|
target = self.edt_get_rimage_target(board)
|
||||||
log.inf('Signing for SOC target ' + target)
|
conf = target + '.toml'
|
||||||
|
log.inf('Signing for SOC target ' + target + ' using ' + conf)
|
||||||
|
|
||||||
if not args.quiet:
|
if not args.quiet:
|
||||||
log.inf('Signing with tool {}'.format(tool_path))
|
log.inf('Signing with tool {}'.format(tool_path))
|
||||||
|
@ -428,11 +429,24 @@ class RimageSigner(Signer):
|
||||||
bootloader = str(b / 'zephyr' / 'bootloader.elf.mod')
|
bootloader = str(b / 'zephyr' / 'bootloader.elf.mod')
|
||||||
kernel = str(b / 'zephyr' / 'zephyr.elf.mod')
|
kernel = str(b / 'zephyr' / 'zephyr.elf.mod')
|
||||||
out_bin = str(b / 'zephyr' / 'zephyr.ri')
|
out_bin = str(b / 'zephyr' / 'zephyr.ri')
|
||||||
|
out_xman = str(b / 'zephyr' / 'zephyr.ri.xman')
|
||||||
|
out_tmp = str(b / 'zephyr' / 'zephyr.rix')
|
||||||
|
rimage_conf = pathlib.Path(cache['RIMAGE_CONFIG_PATH'])
|
||||||
|
conf_path = str(rimage_conf / conf)
|
||||||
|
|
||||||
sign_base = ([tool_path] + args.tool_args +
|
sign_base = ([tool_path] + args.tool_args +
|
||||||
['-o', out_bin, '-m', target, '-i', '3'] +
|
['-o', out_bin, '-c', conf_path, '-i', '3', '-e'] +
|
||||||
[bootloader, kernel])
|
[bootloader, kernel])
|
||||||
|
|
||||||
if not args.quiet:
|
if not args.quiet:
|
||||||
log.inf(quote_sh_list(sign_base))
|
log.inf(quote_sh_list(sign_base))
|
||||||
subprocess.check_call(sign_base)
|
subprocess.check_call(sign_base)
|
||||||
|
|
||||||
|
filenames = [out_xman, out_bin]
|
||||||
|
with open(out_tmp, 'wb') as outfile:
|
||||||
|
for fname in filenames:
|
||||||
|
with open(fname, 'rb') as infile:
|
||||||
|
outfile.write(infile.read())
|
||||||
|
|
||||||
|
os.remove(out_bin)
|
||||||
|
os.rename(out_tmp, out_bin)
|
||||||
|
|
|
@ -142,6 +142,8 @@
|
||||||
#define LOG_ENTRY_ELF_BASE 0x20000000
|
#define LOG_ENTRY_ELF_BASE 0x20000000
|
||||||
#define LOG_ENTRY_ELF_SIZE 0x2000000
|
#define LOG_ENTRY_ELF_SIZE 0x2000000
|
||||||
|
|
||||||
|
#define EXT_MANIFEST_ELF_BASE (LOG_ENTRY_ELF_BASE + LOG_ENTRY_ELF_SIZE)
|
||||||
|
#define EXT_MANIFEST_ELF_SIZE 0x2000000
|
||||||
|
|
||||||
#define SRAM_ALIAS_BASE 0x9E000000
|
#define SRAM_ALIAS_BASE 0x9E000000
|
||||||
#define SRAM_ALIAS_MASK 0xFF000000
|
#define SRAM_ALIAS_MASK 0xFF000000
|
||||||
|
|
|
@ -132,6 +132,9 @@ MEMORY
|
||||||
static_log_entries_seg (!ari) :
|
static_log_entries_seg (!ari) :
|
||||||
org = LOG_ENTRY_ELF_BASE,
|
org = LOG_ENTRY_ELF_BASE,
|
||||||
len = LOG_ENTRY_ELF_SIZE
|
len = LOG_ENTRY_ELF_SIZE
|
||||||
|
fw_metadata_seg (!ari) :
|
||||||
|
org = EXT_MANIFEST_ELF_BASE,
|
||||||
|
len = EXT_MANIFEST_ELF_SIZE
|
||||||
}
|
}
|
||||||
|
|
||||||
PHDRS
|
PHDRS
|
||||||
|
@ -161,6 +164,7 @@ PHDRS
|
||||||
ucram_phdr PT_LOAD;
|
ucram_phdr PT_LOAD;
|
||||||
static_uuid_entries_phdr PT_NOTE;
|
static_uuid_entries_phdr PT_NOTE;
|
||||||
static_log_entries_phdr PT_NOTE;
|
static_log_entries_phdr PT_NOTE;
|
||||||
|
metadata_entries_phdr PT_NOTE;
|
||||||
}
|
}
|
||||||
_rom_store_table = 0;
|
_rom_store_table = 0;
|
||||||
PROVIDE(_memmap_vecbase_reset = XCHAL_VECBASE_RESET_PADDR_SRAM);
|
PROVIDE(_memmap_vecbase_reset = XCHAL_VECBASE_RESET_PADDR_SRAM);
|
||||||
|
@ -205,6 +209,11 @@ _memmap_cacheattr_bp_allvalid = 0x22222222;
|
||||||
_memmap_cacheattr_intel_cavs15_adsp = 0xFF42FFF2;
|
_memmap_cacheattr_intel_cavs15_adsp = 0xFF42FFF2;
|
||||||
|
|
||||||
PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_intel_cavs15_adsp);
|
PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_intel_cavs15_adsp);
|
||||||
|
|
||||||
|
_EXT_MAN_ALIGN_ = 16;
|
||||||
|
EXTERN(ext_man_fw_ver)
|
||||||
|
EXTERN(ext_man_cavs_config)
|
||||||
|
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -567,4 +576,10 @@ SECTIONS
|
||||||
{
|
{
|
||||||
*(*.static_log*)
|
*(*.static_log*)
|
||||||
} > static_log_entries_seg :static_log_entries_phdr
|
} > static_log_entries_seg :static_log_entries_phdr
|
||||||
|
|
||||||
|
.fw_metadata (COPY) : ALIGN(1024)
|
||||||
|
{
|
||||||
|
KEEP (*(.fw_metadata))
|
||||||
|
. = ALIGN(_EXT_MAN_ALIGN_);
|
||||||
|
} >fw_metadata_seg :metadata_entries_phdr
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,6 +139,8 @@
|
||||||
#define LOG_ENTRY_ELF_BASE 0x20000000
|
#define LOG_ENTRY_ELF_BASE 0x20000000
|
||||||
#define LOG_ENTRY_ELF_SIZE 0x2000000
|
#define LOG_ENTRY_ELF_SIZE 0x2000000
|
||||||
|
|
||||||
|
#define EXT_MANIFEST_ELF_BASE (LOG_ENTRY_ELF_BASE + LOG_ENTRY_ELF_SIZE)
|
||||||
|
#define EXT_MANIFEST_ELF_SIZE 0x2000000
|
||||||
|
|
||||||
#define SRAM_ALIAS_BASE 0x9E000000
|
#define SRAM_ALIAS_BASE 0x9E000000
|
||||||
#define SRAM_ALIAS_MASK 0xFF000000
|
#define SRAM_ALIAS_MASK 0xFF000000
|
||||||
|
|
|
@ -112,6 +112,9 @@ MEMORY
|
||||||
static_log_entries_seg (!ari) :
|
static_log_entries_seg (!ari) :
|
||||||
org = LOG_ENTRY_ELF_BASE,
|
org = LOG_ENTRY_ELF_BASE,
|
||||||
len = LOG_ENTRY_ELF_SIZE
|
len = LOG_ENTRY_ELF_SIZE
|
||||||
|
fw_metadata_seg (!ari) :
|
||||||
|
org = EXT_MANIFEST_ELF_BASE,
|
||||||
|
len = EXT_MANIFEST_ELF_SIZE
|
||||||
}
|
}
|
||||||
|
|
||||||
PHDRS
|
PHDRS
|
||||||
|
@ -141,6 +144,7 @@ PHDRS
|
||||||
|
|
||||||
static_uuid_entries_phdr PT_NOTE;
|
static_uuid_entries_phdr PT_NOTE;
|
||||||
static_log_entries_phdr PT_NOTE;
|
static_log_entries_phdr PT_NOTE;
|
||||||
|
metadata_entries_phdr PT_NOTE;
|
||||||
}
|
}
|
||||||
_rom_store_table = 0;
|
_rom_store_table = 0;
|
||||||
PROVIDE(_memmap_vecbase_reset = XCHAL_VECBASE_RESET_PADDR_SRAM);
|
PROVIDE(_memmap_vecbase_reset = XCHAL_VECBASE_RESET_PADDR_SRAM);
|
||||||
|
@ -194,6 +198,11 @@ _memmap_cacheattr_intel_cavs18_adsp = 0xFF22FFF2;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_intel_cavs18_adsp);
|
PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_intel_cavs18_adsp);
|
||||||
|
|
||||||
|
_EXT_MAN_ALIGN_ = 16;
|
||||||
|
EXTERN(ext_man_fw_ver)
|
||||||
|
EXTERN(ext_man_cavs_config)
|
||||||
|
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -532,4 +541,10 @@ SECTIONS
|
||||||
{
|
{
|
||||||
*(*.static_log*)
|
*(*.static_log*)
|
||||||
} > static_log_entries_seg :static_log_entries_phdr
|
} > static_log_entries_seg :static_log_entries_phdr
|
||||||
|
|
||||||
|
.fw_metadata (COPY) : ALIGN(1024)
|
||||||
|
{
|
||||||
|
KEEP (*(.fw_metadata))
|
||||||
|
. = ALIGN(_EXT_MAN_ALIGN_);
|
||||||
|
} >fw_metadata_seg :metadata_entries_phdr
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,6 +139,8 @@
|
||||||
#define LOG_ENTRY_ELF_BASE 0x20000000
|
#define LOG_ENTRY_ELF_BASE 0x20000000
|
||||||
#define LOG_ENTRY_ELF_SIZE 0x2000000
|
#define LOG_ENTRY_ELF_SIZE 0x2000000
|
||||||
|
|
||||||
|
#define EXT_MANIFEST_ELF_BASE (LOG_ENTRY_ELF_BASE + LOG_ENTRY_ELF_SIZE)
|
||||||
|
#define EXT_MANIFEST_ELF_SIZE 0x2000000
|
||||||
|
|
||||||
#define SRAM_ALIAS_BASE 0x9E000000
|
#define SRAM_ALIAS_BASE 0x9E000000
|
||||||
#define SRAM_ALIAS_MASK 0xFF000000
|
#define SRAM_ALIAS_MASK 0xFF000000
|
||||||
|
|
|
@ -112,8 +112,15 @@ MEMORY
|
||||||
static_log_entries_seg (!ari) :
|
static_log_entries_seg (!ari) :
|
||||||
org = LOG_ENTRY_ELF_BASE,
|
org = LOG_ENTRY_ELF_BASE,
|
||||||
len = LOG_ENTRY_ELF_SIZE
|
len = LOG_ENTRY_ELF_SIZE
|
||||||
|
fw_metadata_seg (!ari) :
|
||||||
|
org = EXT_MANIFEST_ELF_BASE,
|
||||||
|
len = EXT_MANIFEST_ELF_SIZE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_EXT_MAN_ALIGN_ = 16;
|
||||||
|
EXTERN(ext_man_fw_ver)
|
||||||
|
EXTERN(ext_man_cavs_config)
|
||||||
|
|
||||||
PHDRS
|
PHDRS
|
||||||
{
|
{
|
||||||
vector_memory_lit_phdr PT_LOAD;
|
vector_memory_lit_phdr PT_LOAD;
|
||||||
|
@ -141,6 +148,7 @@ PHDRS
|
||||||
|
|
||||||
static_uuid_entries_phdr PT_NOTE;
|
static_uuid_entries_phdr PT_NOTE;
|
||||||
static_log_entries_phdr PT_NOTE;
|
static_log_entries_phdr PT_NOTE;
|
||||||
|
metadata_entries_phdr PT_NOTE;
|
||||||
}
|
}
|
||||||
_rom_store_table = 0;
|
_rom_store_table = 0;
|
||||||
PROVIDE(_memmap_vecbase_reset = XCHAL_VECBASE_RESET_PADDR_SRAM);
|
PROVIDE(_memmap_vecbase_reset = XCHAL_VECBASE_RESET_PADDR_SRAM);
|
||||||
|
@ -532,4 +540,10 @@ SECTIONS
|
||||||
{
|
{
|
||||||
*(*.static_log*)
|
*(*.static_log*)
|
||||||
} > static_log_entries_seg :static_log_entries_phdr
|
} > static_log_entries_seg :static_log_entries_phdr
|
||||||
|
|
||||||
|
.fw_metadata (COPY) : ALIGN(1024)
|
||||||
|
{
|
||||||
|
KEEP (*(.fw_metadata))
|
||||||
|
. = ALIGN(_EXT_MAN_ALIGN_);
|
||||||
|
} >fw_metadata_seg :metadata_entries_phdr
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,6 +139,8 @@
|
||||||
#define LOG_ENTRY_ELF_BASE 0x20000000
|
#define LOG_ENTRY_ELF_BASE 0x20000000
|
||||||
#define LOG_ENTRY_ELF_SIZE 0x2000000
|
#define LOG_ENTRY_ELF_SIZE 0x2000000
|
||||||
|
|
||||||
|
#define EXT_MANIFEST_ELF_BASE (LOG_ENTRY_ELF_BASE + LOG_ENTRY_ELF_SIZE)
|
||||||
|
#define EXT_MANIFEST_ELF_SIZE 0x2000000
|
||||||
|
|
||||||
#define SRAM_ALIAS_BASE 0x9E000000
|
#define SRAM_ALIAS_BASE 0x9E000000
|
||||||
#define SRAM_ALIAS_MASK 0xFF000000
|
#define SRAM_ALIAS_MASK 0xFF000000
|
||||||
|
|
|
@ -112,6 +112,9 @@ MEMORY
|
||||||
static_log_entries_seg (!ari) :
|
static_log_entries_seg (!ari) :
|
||||||
org = LOG_ENTRY_ELF_BASE,
|
org = LOG_ENTRY_ELF_BASE,
|
||||||
len = LOG_ENTRY_ELF_SIZE
|
len = LOG_ENTRY_ELF_SIZE
|
||||||
|
fw_metadata_seg (!ari) :
|
||||||
|
org = EXT_MANIFEST_ELF_BASE,
|
||||||
|
len = EXT_MANIFEST_ELF_SIZE
|
||||||
|
|
||||||
lpsram_alt_reset_vec_seg :
|
lpsram_alt_reset_vec_seg :
|
||||||
org = LP_SRAM_ALT_RESET_VEC_BASE,
|
org = LP_SRAM_ALT_RESET_VEC_BASE,
|
||||||
|
@ -154,6 +157,7 @@ PHDRS
|
||||||
|
|
||||||
static_uuid_entries_phdr PT_NOTE;
|
static_uuid_entries_phdr PT_NOTE;
|
||||||
static_log_entries_phdr PT_NOTE;
|
static_log_entries_phdr PT_NOTE;
|
||||||
|
metadata_entries_phdr PT_NOTE;
|
||||||
|
|
||||||
lpsram_mem_phdr PT_LOAD;
|
lpsram_mem_phdr PT_LOAD;
|
||||||
sram_alt_fw_reset_vec_phdr PT_LOAD;
|
sram_alt_fw_reset_vec_phdr PT_LOAD;
|
||||||
|
@ -214,6 +218,11 @@ _memmap_cacheattr_intel_cavs25_adsp = 0xFF22FFF2;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_intel_cavs25_adsp);
|
PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_intel_cavs25_adsp);
|
||||||
|
|
||||||
|
_EXT_MAN_ALIGN_ = 16;
|
||||||
|
EXTERN(ext_man_fw_ver)
|
||||||
|
EXTERN(ext_man_cavs_config)
|
||||||
|
|
||||||
SECTIONS
|
SECTIONS
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -600,4 +609,10 @@ SECTIONS
|
||||||
{
|
{
|
||||||
*(*.static_log*)
|
*(*.static_log*)
|
||||||
} > static_log_entries_seg :static_log_entries_phdr
|
} > static_log_entries_seg :static_log_entries_phdr
|
||||||
|
|
||||||
|
.fw_metadata (COPY) : ALIGN(1024)
|
||||||
|
{
|
||||||
|
KEEP (*(.fw_metadata))
|
||||||
|
. = ALIGN(_EXT_MAN_ALIGN_);
|
||||||
|
} >fw_metadata_seg :metadata_entries_phdr
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue