Making changes in instructions.scala means the same changes need to take place in flexpret_csrs.h as well. If that is forgotten, it might lead to a bug. It should be relatively simple to generate the flexpret_csrs.h from scala to fix this issue.
This would also draw the benefit of being able to generate only NUM_THREADS of the tohost_n registers. Meaning if software attempts to use tohost registers that are not built into the CPU, we might be able to catch that and give a compilation error.