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.
Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
---
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 20306c28e72..81f8fbef362 100644
--- a/hw/hexagon/hexagon_dsp.c
+++ b/hw/hexagon/hexagon_dsp.c
@@ -124,6 +124,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