On Mon, 2018-06-04 at 12:03 +0100, Liam Girdwood wrote:
From: Tomasz Lauda tomasz.lauda@linux.intel.com
There is no APL boot via SRAM right now, so let's enable it.
Can you describe the other changes here that were used to enable the boot loader, I can see some work to support XCC too ?
Btw, I tried to compile on master and it fails :-
xtensa-bxt-elf-gcc -DHAVE_CONFIG_H -I. -I../../../src/include -I /home/sof/work/sof.git/src/arch/xtensa/include -I /home/sof/work/sof.git/src/arch/xtensa/xtos -DASSEMBLY -I /home/sof/work/sof.git/src/platform/apollolake/include -I /home/sof/work/sof.git/src/platform/apollolake/include/arch -O2 -g -Wall -Werror -Wl,-EL -Wmissing-prototypes -fno-inline-functions -nostdlib -mlongcalls -MT sof-main-entry.o -MD -MP -MF .deps/sof-main-entry.Tpo -c -o sof-main-entry.o `test -f 'main-entry.S' || echo './'`main-entry.S mv -f .deps/sof-main-entry.Tpo .deps/sof-main-entry.Po /bin/bash ../../../libtool --tag=CC --mode=link xtensa-bxt-elf-gcc -I /home/sof/work/sof.git/src/arch/xtensa/include -I /home/sof/work/sof.git/src/arch/xtensa/xtos -mtext-section-literals -I /home/sof/work/sof.git/src/include -I /home/sof/work/sof.git/../xtensa-root/xtensa-bxt-elf/include -I /home/sof/work/sof.git/src/platform/apollolake/include -I /home/sof/work/sof.git/src/platform/apollolake/include/arch -O2 -g -Wall -Werror -Wl,-EL -Wmissing-prototypes -fno-inline-functions -nostdlib -mlongcalls -Wl,-Map=sof-apl.map -T ../../platform/apollolake/apollolake.x -nostdlib -o sof sof-crt1-boards.o sof-_vectors.o sof-init.o sof-timer.o sof-task.o sof-main-entry.o ../../init/libinit.a ../../tasks/libtasks.a ../../lib/libcore.a ../../platform/apollolake/libplatform.a ../../ipc/libsof_ipc.a ../../audio/libaudio.a ../../drivers/libdrivers.a ../../math/libsof_math.a xtos/libxtos.a xtos/libxlevel2.a xtos/libxlevel3.a xtos/libxlevel4.a xtos/libxlevel5.a hal/libhal.a -lgcc libtool: link: xtensa-bxt-elf-gcc -I /home/sof/work/sof.git/src/arch/xtensa/include -I /home/sof/work/sof.git/src/arch/xtensa/xtos -mtext-section-literals -I /home/sof/work/sof.git/src/include -I /home/sof/work/sof.git/../xtensa-root/xtensa-bxt-elf/include -I /home/sof/work/sof.git/src/platform/apollolake/include -I /home/sof/work/sof.git/src/platform/apollolake/include/arch -O2 -g -Wall -Werror -Wl,-EL -Wmissing-prototypes -fno-inline-functions -nostdlib -mlongcalls -Wl,-Map=sof-apl.map -T ../../platform/apollolake/apollolake.x -nostdlib -o sof sof-crt1-boards.o sof-_vectors.o sof-init.o sof-timer.o sof-task.o sof-main-entry.o ../../init/libinit.a ../../tasks/libtasks.a ../../lib/libcore.a ../../platform/apollolake/libplatform.a ../../ipc/libsof_ipc.a ../../audio/libaudio.a ../../drivers/libdrivers.a ../../math/libsof_math.a xtos/libxtos.a xtos/libxlevel2.a xtos/libxlevel3.a xtos/libxlevel4.a xtos/libxlevel5.a hal/libhal.a -lgcc /home/sof/ct-ng.git/builds/xtensa-bxt-elf/lib/gcc/xtensa-bxt-elf/5.2.0/../../../../xtensa-bxt-elf/bin/ld: sof section `.data' will not fit in region `sof_data' /home/sof/ct-ng.git/builds/xtensa-bxt-elf/lib/gcc/xtensa-bxt-elf/5.2.0/../../../../xtensa-bxt-elf/bin/ld: region `sof_data' overflowed by 7440 bytes collect2: error: ld returned 1 exit status Makefile:580: recipe for target 'sof' failed make[5]: *** [sof] Error 1 make[5]: Leaving directory '/home/sof/work/sof.git/src/arch/xtensa' Makefile:801: recipe for target 'all-recursive' failed make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory '/home/sof/work/sof.git/src/arch/xtensa' Makefile:524: recipe for target 'all' failed make[3]: *** [all] Error 2 make[3]: Leaving directory '/home/sof/work/sof.git/src/arch/xtensa' Makefile:379: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory '/home/sof/work/sof.git/src/arch' Makefile:380: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/sof/work/sof.git/src' Makefile:419: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1
Thanks
Liam
Signed-off-by: Tomasz Lauda tomasz.lauda@linux.intel.com
Makefile.am | 15 +- configure.ac | 29 +- src/arch/xtensa/Makefile.am | 15 +- src/arch/xtensa/boot_entry.S | 49 +- src/arch/xtensa/boot_loader.c | 16 +- src/arch/xtensa/crt1-boards.S | 616 +++++++++--------- src/arch/xtensa/reset-vector.S | 8 +- src/arch/xtensa/xtos/crt1-boards.S | 9 +- src/arch/xtensa/xtos/crt1-sim.S | 5 +- src/arch/xtensa/xtos/crt1-tiny.S | 6 +- src/include/sof/trace.h | 3 + src/platform/apollolake/Makefile.am | 14 +- src/platform/apollolake/apollolake.x.in | 133 ++-- src/platform/apollolake/boot_ldr.x.in | 236 +++++++ src/platform/apollolake/boot_module.c | 54 ++ src/platform/apollolake/include/Makefile.am | 2 +- .../apollolake/include/arch/Makefile.am | 1 + .../include/{ => arch}/xtensa/Makefile.am | 0 .../{ => arch}/xtensa/config/Makefile.am | 0 .../{ => arch}/xtensa/config/core-isa.h | 60 +- .../include/arch}/xtensa/config/core-matmap.h | 7 + .../include/arch}/xtensa/config/defs.h | 8 + .../include/arch}/xtensa/config/specreg.h | 8 + .../include/{ => arch}/xtensa/config/system.h | 7 + .../{ => arch}/xtensa/config/tie-asm.h | 8 + .../include/arch}/xtensa/config/tie.h | 8 + .../apollolake/include/platform/memory.h | 112 ++-- .../apollolake/include/platform/platcfg.h | 38 ++ .../apollolake/include/platform/platform.h | 1 + .../apollolake/include/platform/shim.h | 22 +- src/platform/baytrail/include/Makefile.am | 2 +- .../baytrail/include/arch/Makefile.am | 1 + .../include/{ => arch}/xtensa/Makefile.am | 0 .../{ => arch}/xtensa/config/Makefile.am | 0 .../{ => arch}/xtensa/config/core-isa-byt.h | 0 .../{ => arch}/xtensa/config/core-isa-cht.h | 0 .../{ => arch}/xtensa/config/core-isa.h | 0 .../{ => arch}/xtensa/config/core-matmap.h | 0 .../include/arch}/xtensa/config/defs.h | 0 .../{ => arch}/xtensa/config/specreg.h | 0 .../include/{ => arch}/xtensa/config/system.h | 0 .../{ => arch}/xtensa/config/tie-asm.h | 0 .../include/{ => arch}/xtensa/config/tie.h | 0 src/platform/cannonlake/boot_ldr.x.in | 224 +------ src/platform/cannonlake/cannonlake.x.in | 81 +-- src/platform/cannonlake/include/Makefile.am | 2 +- .../cannonlake/include/arch/Makefile.am | 1 + .../include/{ => arch}/xtensa/Makefile.am | 0 .../{ => arch}/xtensa/config/Makefile.am | 1 - .../xtensa/config/core-isa.h} | 58 +- .../include/arch}/xtensa/config/core-matmap.h | 7 + .../include/arch}/xtensa/config/defs.h | 8 + .../include/arch}/xtensa/config/specreg.h | 8 + .../include/{ => arch}/xtensa/config/system.h | 7 + .../{ => arch}/xtensa/config/tie-asm.h | 8 + .../include/arch}/xtensa/config/tie.h | 8 + .../cannonlake/include/platform/memory.h | 32 +- .../cannonlake/include/platform/platcfg.h | 36 + .../cannonlake/include/platform/platform.h | 1 + .../cannonlake/include/platform/shim.h | 6 +- .../include/xtensa/config/core-isa.h | 557 ---------------- src/platform/haswell/include/Makefile.am | 2 +- src/platform/haswell/include/arch/Makefile.am | 1 + .../include/{ => arch}/xtensa/Makefile.am | 0 .../{ => arch}/xtensa/config/Makefile.am | 0 .../{ => arch}/xtensa/config/core-isa-bdw.h | 0 .../{ => arch}/xtensa/config/core-isa-hsw.h | 0 .../{ => arch}/xtensa/config/core-isa.h | 0 .../{ => arch}/xtensa/config/core-matmap.h | 0 .../include/arch}/xtensa/config/defs.h | 0 .../{ => arch}/xtensa/config/specreg.h | 0 .../include/{ => arch}/xtensa/config/system.h | 0 .../{ => arch}/xtensa/config/tie-asm.h | 0 .../include/{ => arch}/xtensa/config/tie.h | 0 74 files changed, 1185 insertions(+), 1356 deletions(-) create mode 100644 src/platform/apollolake/boot_ldr.x.in create mode 100644 src/platform/apollolake/boot_module.c create mode 100644 src/platform/apollolake/include/arch/Makefile.am rename src/platform/apollolake/include/{ => arch}/xtensa/Makefile.am (100%) rename src/platform/apollolake/include/{ => arch}/xtensa/config/Makefile.am (100%) rename src/platform/apollolake/include/{ => arch}/xtensa/config/core-isa.h (95%) rename src/platform/{cannonlake/include => apollolake/include/arch}/xtensa/config/core-matmap.h (99%) rename src/platform/{cannonlake/include => apollolake/include/arch}/xtensa/config/defs.h (94%) rename src/platform/{cannonlake/include => apollolake/include/arch}/xtensa/config/specreg.h (96%) rename src/platform/apollolake/include/{ => arch}/xtensa/config/system.h (99%) rename src/platform/apollolake/include/{ => arch}/xtensa/config/tie-asm.h (99%) rename src/platform/{cannonlake/include => apollolake/include/arch}/xtensa/config/tie.h (98%) create mode 100644 src/platform/apollolake/include/platform/platcfg.h create mode 100644 src/platform/baytrail/include/arch/Makefile.am rename src/platform/baytrail/include/{ => arch}/xtensa/Makefile.am (100%) rename src/platform/baytrail/include/{ => arch}/xtensa/config/Makefile.am (100%) rename src/platform/baytrail/include/{ => arch}/xtensa/config/core-isa-byt.h (100%) rename src/platform/baytrail/include/{ => arch}/xtensa/config/core-isa-cht.h (100%) rename src/platform/baytrail/include/{ => arch}/xtensa/config/core-isa.h (100%) rename src/platform/baytrail/include/{ => arch}/xtensa/config/core-matmap.h (100%) rename src/platform/{apollolake/include => baytrail/include/arch}/xtensa/config/defs.h (100%) rename src/platform/baytrail/include/{ => arch}/xtensa/config/specreg.h (100%) rename src/platform/baytrail/include/{ => arch}/xtensa/config/system.h (100%) rename src/platform/baytrail/include/{ => arch}/xtensa/config/tie-asm.h (100%) rename src/platform/baytrail/include/{ => arch}/xtensa/config/tie.h (100%) create mode 100644 src/platform/cannonlake/include/arch/Makefile.am rename src/platform/cannonlake/include/{ => arch}/xtensa/Makefile.am (100%) rename src/platform/cannonlake/include/{ => arch}/xtensa/config/Makefile.am (84%) rename src/platform/cannonlake/include/{xtensa/config/core-isa-boot.h => arch/xtensa/config/core-isa.h} (95%) rename src/platform/{apollolake/include => cannonlake/include/arch}/xtensa/config/core-matmap.h (99%) rename src/platform/{haswell/include => cannonlake/include/arch}/xtensa/config/defs.h (94%) rename src/platform/{apollolake/include => cannonlake/include/arch}/xtensa/config/specreg.h (96%) rename src/platform/cannonlake/include/{ => arch}/xtensa/config/system.h (99%) rename src/platform/cannonlake/include/{ => arch}/xtensa/config/tie-asm.h (99%) rename src/platform/{apollolake/include => cannonlake/include/arch}/xtensa/config/tie.h (98%) create mode 100644 src/platform/cannonlake/include/platform/platcfg.h delete mode 100644 src/platform/cannonlake/include/xtensa/config/core-isa.h create mode 100644 src/platform/haswell/include/arch/Makefile.am rename src/platform/haswell/include/{ => arch}/xtensa/Makefile.am (100%) rename src/platform/haswell/include/{ => arch}/xtensa/config/Makefile.am (100%) rename src/platform/haswell/include/{ => arch}/xtensa/config/core-isa-bdw.h (100%) rename src/platform/haswell/include/{ => arch}/xtensa/config/core-isa-hsw.h (100%) rename src/platform/haswell/include/{ => arch}/xtensa/config/core-isa.h (100%) rename src/platform/haswell/include/{ => arch}/xtensa/config/core-matmap.h (100%) rename src/platform/{baytrail/include => haswell/include/arch}/xtensa/config/defs.h (100%) rename src/platform/haswell/include/{ => arch}/xtensa/config/specreg.h (100%) rename src/platform/haswell/include/{ => arch}/xtensa/config/system.h (100%) rename src/platform/haswell/include/{ => arch}/xtensa/config/tie-asm.h (100%) rename src/platform/haswell/include/{ => arch}/xtensa/config/tie.h (100%)