Dear coreboot folks,

Am Freitag, den 17.02.2017, 09:28 +0100 schrieb Paul Menzel:

> What payload can be easily build and used for ARM targets?
> 
> If you have any scripts, could you please share those? Maybe they can
> be integrated into coreboot, so that there is also a default payload
> available for ARM targets.
> 
> Building GRUB resulted in a payload that is too big. I’ll try building
> with a bigger ROM chip size for the target *QEMU armv7* later.

It looks like, there is actually enough room, but cbfstool claims there
is an overlap.

```
[…]
    CBFS       fallback/payload
INFO: Performing operation on 'COREBOOT' region...
ERROR: Ramstage region _postram_cbfs_cache overlapped by: fallback/payload
```

But there is enough room available. Any idea, what is going on? The
commands below work just fine.

```
$ git describe --tag
4.5-1004-g17335fab17
$ make V=1
[…]
printf "    CBFS       fallback/payload\n"
    CBFS       fallback/payload
build/util/cbfstool/cbfstool build/coreboot.pre.tmp add-payload -f 
payloads/external/GRUB2/grub2/build/default_payload.elf -n fallback/payload -t 
payload -c LZMA  -r COREBOOT   
true
mv build/coreboot.pre.tmp build/coreboot.pre
programs=$( build/util/cbfstool/cbfstool build/coreboot.pre print -v | sed -n 
'\%fallback/payload%,\%^[^ ]\{4\}%s%    .*load: \(0x[0-9a-fA-F]*\),.*length: 
[0-9]*/\([0-9]*\).*%\1 \2%p' ; ) ; \
regions=$( echo ramstage ; arm-linux-gnueabi-objdump -t 
build/cbfs/fallback/ramstage.elf | sed -n '/ _ramstage$/s/^\([0-9a-fA-F]*\) 
.*/0x\1/p' ; arm-linux-gnueabi-objdump -t build/cbfs/fallback/ramstage.elf | 
sed -n '/ _eramstage$/s/^\([0-9a-fA-F]*\) .*/0x\1/p' ;   echo 
postram_cbfs_cache ; arm-linux-gnueabi-objdump -t 
build/cbfs/fallback/ramstage.elf | sed -n '/ 
_postram_cbfs_cache$/s/^\([0-9a-fA-F]*\) .*/0x\1/p' ; arm-linux-gnueabi-objdump 
-t build/cbfs/fallback/ramstage.elf | sed -n '/ 
_epostram_cbfs_cache$/s/^\([0-9a-fA-F]*\) .*/0x\1/p' ;   echo stack ; 
arm-linux-gnueabi-objdump -t build/cbfs/fallback/ramstage.elf | sed -n '/ 
_stack$/s/^\([0-9a-fA-F]*\) .*/0x\1/p' ; arm-linux-gnueabi-objdump -t 
build/cbfs/fallback/ramstage.elf | sed -n '/ _estack$/s/^\([0-9a-fA-F]*\) 
.*/0x\1/p' ;   echo ttb ; arm-linux-gnueabi-objdump -t 
build/cbfs/fallback/ramstage.elf | sed -n '/ _ttb$/s/^\([0-9a-fA-F]*\) 
.*/0x\1/p' ; arm-linux-gnueabi-objdump -t build/cbfs/fallback/ramstage.elf | 
sed -n '/ _ettb$/s/^\([0-9a-fA-F]*\) .*/0x\1/p' ; ) ; \
pstart= ; pend= ; \
for x in $programs; do \
    if [ -z $pstart ]; then pstart=$(($x)) ; continue ; fi ; \
    pend=$(($pstart + $x)) ; \
    rname= ; rstart= ; rend= ; \
    for y in $regions ; do \
        if [ -z $rname ]; then rname=$y ; continue ; fi ; \
        if [ -z $rstart ]; then rstart=$(($y)) ; continue ; fi ; \
        rend=$(($y)) ; \
        if [ $pstart -lt $rend -a $rstart -lt $pend ]; then \
            echo "ERROR: Ramstage region _$rname overlapped by:" \
                  fallback/payload ; \
            exit 1 ; \
        fi ; \
        rname= ; rstart= ; rend= ; \
    done ; \
    pstart= ; pend= ; \
done
INFO: Performing operation on 'COREBOOT' region...
ERROR: Ramstage region _postram_cbfs_cache overlapped by: fallback/payload
```

Commit fffee873c86 (Makefile: Add build-time overlap check for programs
loaded after coreboot) [1] adds this check.


Thanks,

Paul


[1] https://review.coreboot.org/13949

Attachment: signature.asc
Description: This is a digitally signed message part

-- 
coreboot mailing list: [email protected]
https://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to