On 5/15/2026 10:18 AM, Cédric Le Goater wrote:
> On 5/15/26 19:00, Pierrick Bouvier wrote:
>> On 5/15/2026 9:29 AM, Cédric Le Goater wrote:
>>> On 5/15/26 16:10, Philippe Mathieu-Daudé wrote:
>>>> aspeed_ast27x0.c models 2 similar SoC based on a 64-bit only
>>>> CPU (Cortex-A35), only available in the 64-bit binary.
>>>>
>>>> If we build this file as common object, these SoCs become
>>>> available in both 32 and 64-bit binaries; however when running
>>>> the introspection test on the 32-bit binary, the init() method
>>>> tries to init the Cortex-A35 type -- although not realizing it
>>>> -- which is not available. This can be avoided by deferring the
>>>> CPU type initialization to the SoC DeviceRealize step (this is
>>>> safe because nothing uses the CPU type before, only the GIC
>>>> access them, just after their realization).
>>>
>>> I understand this is a qtest workaround. Could we introduce
>>> instead a (qtest_enabled() && 32-bit binary) helper ?
>>>
>>
>> In general, it exposes a dependency issue in QOM type system.
>> In this case, we get a class depending on another one through
>> class_init. Moving this to realize seems like the best fix.
> 
> My feeling is that this goes against the best modeling practices
> we have tried to put in place over the last decade.
>

In this case, adding the workaround you suggested might be the best
approach indeed.

> C.
> 


Reply via email to