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

Liam Girdwood liam.r.girdwood at linux.intel.com
Mon Jun 4 13:10:47 CEST 2018


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

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%)


More information about the Sound-open-firmware mailing list