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.