The htid property defaults to 0 and hexagon_dsp.c never set it, so every CPU on the DSP machines came up as hardware thread 0.
This bug was causing h2 test failures. Reviewed-by: Philippe Mathieu-Daudé <[email protected]> Reviewed-by: Pierrick Bouvier <[email protected]> Signed-off-by: Brian Cain <[email protected]> --- hw/hexagon/hexagon_dsp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/hexagon/hexagon_dsp.c b/hw/hexagon/hexagon_dsp.c index 2198436a440..5b2b6e312b6 100644 --- a/hw/hexagon/hexagon_dsp.c +++ b/hw/hexagon/hexagon_dsp.c @@ -125,6 +125,8 @@ static void hexagon_common_init(MachineState *machine, Rev_t rev, HexagonCPU *cpu = HEXAGON_CPU(object_new(machine->cpu_type)); qemu_register_reset(do_cpu_reset, cpu); + qdev_prop_set_uint32(DEVICE(cpu), "htid", i); + /* * CPU #0 is the only CPU running at boot, others must be * explicitly enabled via start instruction. -- 2.34.1
