diff --git a/scripts/qemu-check.sh b/scripts/qemu-check.sh index 8622bcde894c..598f87c21d9b 100755 --- a/scripts/qemu-check.sh +++ b/scripts/qemu-check.sh @@ -57,7 +57,7 @@ do SHM_IPC_REG=qemu-bridge-ipc-io OUTBOX_OFFSET="f000" SHM_MBOX=qemu-bridge-hp-sram-mem - ROM="-r ../sof.git/build_$j/src/arch/xtensa/rom_$j.bin" + ROM="-r ../sof.git/build_${j}_gcc/src/arch/xtensa/rom-$j.bin" fi if [ $j == "skl" ] then @@ -65,7 +65,7 @@ do SHM_IPC_REG=qemu-bridge-ipc-io OUTBOX_OFFSET="f000" SHM_MBOX=qemu-bridge-hp-sram-mem - ROM="-r ../sof.git/build_$j/src/arch/xtensa/rom_$j.bin" + ROM="-r ../sof.git/build_${j}_gcc/src/arch/xtensa/rom-$j.bin" fi if [ $j == "kbl" ] then @@ -73,7 +73,7 @@ do SHM_IPC_REG=qemu-bridge-ipc-io OUTBOX_OFFSET="f000" SHM_MBOX=qemu-bridge-hp-sram-mem - ROM="-r ../sof.git/build_$j/src/arch/xtensa/rom_$j.bin" + ROM="-r ../sof.git/build_${j}_gcc/src/arch/xtensa/rom-$j.bin" fi if [ $j == "cnl" ] then @@ -81,7 +81,7 @@ do SHM_IPC_REG=qemu-bridge-ipc-io OUTBOX_OFFSET="5000" SHM_MBOX=qemu-bridge-hp-sram-mem - ROM="-r ../sof.git/build_$j/src/arch/xtensa/rom_$j.bin" + ROM="-r ../sof.git/build_${j}_gcc/src/arch/xtensa/rom-$j.bin" fi if [ $j == "icl" ] then @@ -89,10 +89,10 @@ do SHM_IPC_REG=qemu-bridge-ipc-io OUTBOX_OFFSET="5000" SHM_MBOX=qemu-bridge-hp-sram-mem - ROM="-r ../sof.git/build_$j/src/arch/xtensa/rom_$j.bin" + ROM="-r ../sof.git/build_${j}_gcc/src/arch/xtensa/rom-$j.bin" fi - ./xtensa-host.sh $PLATFORM -k ../sof.git/build_$j/src/arch/xtensa/sof_$j.ri $ROM -o 2.0 ../sof.git/dump-$j.txt + ./xtensa-host.sh $PLATFORM -k ../sof.git/build_${j}_gcc/src/arch/xtensa/$FWNAME $ROM -o 2.0 ../sof.git/dump-$j.txt # dump log into sof.git incase running in docker # check if ready ipc header is in the ipc regs diff --git a/scripts/xtensa-build-all.sh b/scripts/xtensa-build-all.sh index ce632e425aa9..daca41573426 100755 --- a/scripts/xtensa-build-all.sh +++ b/scripts/xtensa-build-all.sh @@ -76,6 +76,7 @@ WORKDIR="$pwd" # build platform for j in ${PLATFORMS[@]} do + HAVE_ROM='no' if [ $j == "byt" ] then PLATFORM="baytrail" @@ -125,6 +126,7 @@ do ROOT="$pwd/../xtensa-root/$HOST" XTENSA_TOOLS_VERSION="RG-2017.8-linux" + HAVE_ROM='yes' fi if [ $j == "skl" ] then @@ -143,6 +145,7 @@ do ROOT="$pwd/../xtensa-root/$HOST" XTENSA_TOOLS_VERSION="RG-2017.8-linux" + HAVE_ROM='yes' fi if [ $j == "kbl" ] then @@ -161,6 +164,7 @@ do ROOT="$pwd/../xtensa-root/$HOST" XTENSA_TOOLS_VERSION="RG-2017.8-linux" + HAVE_ROM='yes' fi if [ $j == "cnl" ] then @@ -170,6 +174,7 @@ do ROOT="$pwd/../xtensa-root/xtensa-cnl-elf" HOST="xtensa-cnl-elf" XTENSA_TOOLS_VERSION="RF-2016.4-linux" + HAVE_ROM='yes' fi if [ $j == "sue" ] then @@ -179,6 +184,7 @@ do ROOT="$pwd/../xtensa-root/xtensa-cnl-elf" HOST="xtensa-cnl-elf" XTENSA_TOOLS_VERSION="RF-2016.4-linux" + HAVE_ROM='yes' fi if [ $j == "icl" ] then @@ -188,6 +194,7 @@ do ROOT="$pwd/../xtensa-root/xtensa-cnl-elf" HOST="xtensa-cnl-elf" XTENSA_TOOLS_VERSION="RF-2016.4-linux" + HAVE_ROM='yes' fi if [ $XTENSA_TOOLS_ROOT ] then @@ -215,17 +222,20 @@ do ROOT="$XTENSA_BUILDS_DIR/$XTENSA_CORE/xtensa-elf" export XTENSA_SYSTEM=$XTENSA_BUILDS_DIR/$XTENSA_CORE/config PATH=$XTENSA_TOOLS_DIR/XtensaTools/bin:$OLDPATH + COMPILER="xcc" else TOOLCHAIN=$HOST PATH=$pwd/../$HOST/bin:$OLDPATH + COMPILER="gcc" fi - # only delete binary related to this build - rm -fr src/arch/xtensa/sof-$j.* + BUILD_DIR=build_${j}_${COMPILER} + echo "Build in "$BUILD_DIR - rm -fr build_$j - mkdir build_$j - cd build_$j + # only delete binary related to this build + rm -fr $BUILD_DIR + mkdir $BUILD_DIR + cd $BUILD_DIR cmake -DTOOLCHAIN=$TOOLCHAIN -DROOT_DIR=$ROOT .. make ${PLATFORM}_defconfig @@ -238,7 +248,7 @@ do make overrideconfig fi - if [[ "x$BUILD_ROM" == "xyes" ]] + if [[ "x$BUILD_ROM" == "xyes" && "x$HAVE_ROM" == "xyes" ]] then echo "CONFIG_BUILD_VM_ROM=y" >> override.config make overrideconfig diff --git a/src/arch/xtensa/CMakeLists.txt b/src/arch/xtensa/CMakeLists.txt index 2eeb3fa7949c..35c38ebe59f6 100644 --- a/src/arch/xtensa/CMakeLists.txt +++ b/src/arch/xtensa/CMakeLists.txt @@ -208,7 +208,7 @@ ExternalProject_Add(rimage_ep add_custom_target( prepare_fw_copy_for_rimage DEPENDS sof rimage_ep - COMMAND cp ${PROJECT_BINARY_DIR}/sof sof_${fw_name} + COMMAND cp ${PROJECT_BINARY_DIR}/sof sof-${fw_name} ) # bootloader binary @@ -231,24 +231,24 @@ if(build_bootloader) add_custom_target( bootloader_dump - COMMAND cp bootloader bootloader_${fw_name} + COMMAND cp bootloader bootloader-${fw_name} COMMAND ${CMAKE_OBJCOPY} -O binary ${PROJECT_BINARY_DIR}/src/platform/${platform_folder}/boot_module mod-boot-${fw_name}.bin - COMMAND ${CMAKE_OBJCOPY} --add-section .module=mod-boot-${fw_name}.bin --set-section-flags .module=load,readonly bootloader_${fw_name} - COMMAND ${CMAKE_OBJCOPY} -O binary bootloader bootloader_${fw_name}.bin - COMMAND ${CMAKE_OBJDUMP} -h -D bootloader > bootloader_${fw_name}.map - COMMAND ${CMAKE_OBJDUMP} -S bootloader > bootloader_${fw_name}.lst - COMMAND ${CMAKE_OBJDUMP} -D bootloader > bootloader_${fw_name}.dis + COMMAND ${CMAKE_OBJCOPY} --add-section .module=mod-boot-${fw_name}.bin --set-section-flags .module=load,readonly bootloader-${fw_name} + COMMAND ${CMAKE_OBJCOPY} -O binary bootloader bootloader-${fw_name}.bin + COMMAND ${CMAKE_OBJDUMP} -h -D bootloader > bootloader-${fw_name}.map + COMMAND ${CMAKE_OBJDUMP} -S bootloader > bootloader-${fw_name}.lst + COMMAND ${CMAKE_OBJDUMP} -D bootloader > bootloader-${fw_name}.dis DEPENDS bootloader boot_module VERBATIM USES_TERMINAL ) - set(bootloader_binary_path bootloader_${fw_name}) + set(bootloader_binary_path bootloader-${fw_name}) add_custom_target( process_base_module COMMAND ${CMAKE_OBJCOPY} -O binary ${PROJECT_BINARY_DIR}/src/platform/${platform_folder}/base_module mod-${fw_name}.bin - COMMAND ${CMAKE_OBJCOPY} --add-section .module=mod-${fw_name}.bin --set-section-flags .module=load,readonly sof_${fw_name} + COMMAND ${CMAKE_OBJCOPY} --add-section .module=mod-${fw_name}.bin --set-section-flags .module=load,readonly sof-${fw_name} DEPENDS prepare_fw_copy_for_rimage base_module bootloader_dump VERBATIM USES_TERMINAL @@ -261,8 +261,8 @@ endif() add_custom_target( sof_dump - COMMAND ${CMAKE_OBJDUMP} -S sof_${fw_name} > sof_${fw_name}.lst - COMMAND ${CMAKE_OBJDUMP} -D sof_${fw_name} > sof_${fw_name}.dis + COMMAND ${CMAKE_OBJDUMP} -S sof-${fw_name} > sof-${fw_name}.lst + COMMAND ${CMAKE_OBJDUMP} -D sof-${fw_name} > sof-${fw_name}.dis DEPENDS process_base_module VERBATIM USES_TERMINAL @@ -288,11 +288,11 @@ if(MEU_PATH) add_custom_target( run_rimage COMMAND ${PROJECT_BINARY_DIR}/rimage_ep/build/rimage - -o sof_${fw_name}.ri - -p sof_${fw_name}.ldc + -o sof-${fw_name}.ri + -p sof-${fw_name}.ldc -m ${fw_name} ${bootloader_binary_path} - sof_${fw_name} + sof-${fw_name} -s ${MEU_OFFSET} -k ${otc_private_key} DEPENDS sof_dump @@ -302,11 +302,11 @@ if(MEU_PATH) add_custom_target( run_meu - COMMAND ${MEU_PATH}/meu -w ./ -s sof_${fw_name} + COMMAND ${MEU_PATH}/meu -w ./ -s sof-${fw_name} -key ${MEU_PRIVATE_KEY} -stp /usr/bin/openssl -f ${MEU_PATH}/generic_meu_conf.xml - -mnver 0.0.0.0 -o sof_${fw_name}.ri + -mnver 0.0.0.0 -o sof-${fw_name}.ri DEPENDS run_rimage VERBATIM USES_TERMINAL @@ -315,11 +315,11 @@ else() add_custom_target( run_rimage COMMAND ${PROJECT_BINARY_DIR}/rimage_ep/build/rimage - -o sof_${fw_name}.ri - -p sof_${fw_name}.ldc + -o sof-${fw_name}.ri + -p sof-${fw_name}.ldc -m ${fw_name} ${bootloader_binary_path} - sof_${fw_name} + sof-${fw_name} DEPENDS sof_dump VERBATIM USES_TERMINAL @@ -329,7 +329,7 @@ endif() add_custom_target( bin - COMMAND cp sof_${fw_name}.ri ${PROJECT_BINARY_DIR}/sof_${fw_name}.ri + COMMAND cp sof-${fw_name}.ri ${PROJECT_BINARY_DIR}/sof-${fw_name}.ri DEPENDS run_meu VERBATIM USES_TERMINAL @@ -362,11 +362,11 @@ if(CONFIG_BUILD_VM_ROM) add_custom_target( rom_dump - COMMAND cp rom rom_${fw_name} - COMMAND ${CMAKE_OBJCOPY} -O binary rom rom_${fw_name}.bin - COMMAND ${CMAKE_OBJDUMP} -h -D rom > rom_${fw_name}.map - COMMAND ${CMAKE_OBJDUMP} -S rom > rom_${fw_name}.lst - COMMAND ${CMAKE_OBJDUMP} -D rom > rom_${fw_name}.dis + COMMAND cp rom rom-${fw_name} + COMMAND ${CMAKE_OBJCOPY} -O binary rom rom-${fw_name}.bin + COMMAND ${CMAKE_OBJDUMP} -h -D rom > rom-${fw_name}.map + COMMAND ${CMAKE_OBJDUMP} -S rom > rom-${fw_name}.lst + COMMAND ${CMAKE_OBJDUMP} -D rom > rom-${fw_name}.dis DEPENDS rom VERBATIM USES_TERMINAL