[PATCH 1/4] docs: Add documentation about tests and SBIUnit
Ivan Orlov
ivan.orlov0322 at gmail.com
Tue Feb 13 07:29:40 PST 2024
On 2/13/24 15:21, Andrew Jones wrote:
>> Hmmm, I've never heard about this thing before, could you please point me to
>> a reference or source where I could read about it?
>
> It's used in OpenSBI code for arrays such as sbi_ecall_exts. See commit
> 56bed1a0fe39 ("lib: sbi_ecall: Generate extensions list with carray") for
> that example.
>
Thanks, I'll take a look and use them in the V2 if it is possible!
>>
>> In this case we would have to update the makefile logic, because now OpenSBI
>> uses 'compile_elf' makefile procedure for the test payload and the firmware
>> elf files both, and we would not like to use --whole-archive for the test
>> payload. I guess it is an overcomplication...
>
> Maybe, but I'm not sure how much we'd care about having bloated binaries
> when building with CONFIG_SBIUNIT.
>
The problem is not with the bloated payload binaries: if we use
--whole-archive when linking the test payload, it starts giving the
'undefined reference' errors, because some of the object files refer to
symbols which don't exist in the test payload. Like:
```
opensbi/platform/generic/andes/sleep.S:63: undefined reference to
`_start_warm'
```
_start_warm is defined in fw_base, but it's not accessible when building
the test payload (firmware/payloads/).
Probably, we could just disable the test payload building when
CONFIG_SBIUNIT is enabled, but I'm not sure if it is a correct
approach... Another option would be optional --whole-archive use, so we
would use it for linking the fw_* ELF files only.
--
Kind regards,
Ivan Orlov
More information about the opensbi
mailing list