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 <[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 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

Reply via email to