Hi Paolo,

> On 5/20/25 14:51, Kohei Tokunaga wrote:
> >     target_kconfig = []
> >     foreach sym: accelerators
> > -    # Disallow 64-bit on 32-bit emulation and virtualization
> > -    if host_long_bits < config_target['TARGET_LONG_BITS'].to_int()
> > -      continue
> > +    if host_arch != 'wasm32'
> > +      # Disallow 64-bit on 32-bit emulation and virtualization
> > +      if host_long_bits < config_target['TARGET_LONG_BITS'].to_int()
> > +        continue
> > +      endif
> >       endif
> >       if sym == 'CONFIG_TCG' or target in accelerator_targets.get(sym,
[])
> >         config_target += { sym: 'y' }
>
> I'd prefer something like
>
> # Detect host pointer size for the target configuration loop.
> host_long_bits = cc.sizeof('void *') * 8
> tcg_vaddr_bits = host_arch == 'wasm32' ? 64 : host_long_bits
> ...
> config_host_data.set('TCG_VADDR_BITS', tcg_vaddr_bits)
>
> Then in the target configuration loop
>
> -    if host_long_bits < config_target['TARGET_LONG_BITS'].to_int()
> +    if tcg_vaddr_bits < config_target['TARGET_LONG_BITS'].to_int()
>
> and throughout the code you can have
>
> #ifdef TCG_VADDR_BITS == 32
> ...
> #else
> ...
> #endif
>
> instead of
>
> #ifdef EMSCRIPTEN
> ...
> #else
> ...
> #endif
>
> In fact, I think this patch would be acceptable as a separate
> submission, because it could be tested using TCI already.

Thank you for the feedback. I'll work on implementing this using
TCG_VADDR_BITS and submit it as a separated series.

Reply via email to