On 3/13/25 11:47, ltaylorsimp...@gmail.com wrote:
What we are trying to model is an instance of a Hexagon that has a number of
threads and some resources that are shared. The shared resources include the
TLB and global S registers. The initial thought was to tie the shared
resources to the thread with cpu_index == 0. If we were to model a Qualcomm
SoC, there would be multiple ARM cores and multiple Hexagon instances. Each
Hexagon instance would have distinct shared resources. So, you are correct
that using cpu_index is not going to scale.
What is the recommended way to model this? I see a "nr_threads" field in CPUCore but no
clear way to find the threads. PPC has some cores that add a "threads" field. Should we
follow this approach?
I recommend that the shared resources be modeled as a separate Object,
which is linked via object_property_add_link to all of the cpus that use it.
The linking would be under the control of the board model and/or the SoC model.
r~