[Sound-open-firmware] [PATCH] apl: core: enable boot loader path for Apollolake

Lauda, Tomasz tomasz.lauda at linux.intel.com
Tue Jun 5 15:22:17 CEST 2018



On 04.06.2018 13:10, Liam Girdwood wrote:
> On Mon, 2018-06-04 at 12:03 +0100, Liam Girdwood wrote:
>> From: Tomasz Lauda <tomasz.lauda at 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
Please try to first clean the old build.
>
> Thanks
>
> Liam
>
>> Signed-off-by: Tomasz Lauda <tomasz.lauda at 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%)
> _______________________________________________
> Sound-open-firmware mailing list
> Sound-open-firmware at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/sound-open-firmware



More information about the Sound-open-firmware mailing list