Previously coreid and numcores were hard coded as 0 and 1 respectively
as OpenRISC QEMU did not have multicore support.
Multicore support is now being added so these registers need to have
configured values.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Stafford Horne <shorne@gmail.com>
#include "exec/exec-all.h"
#include "exec/helper-proto.h"
#include "exception.h"
+#include "sysemu/sysemu.h"
#define TO_SPR(group, number) (((group) << 11) + (number))
return env->esr;
case TO_SPR(0, 128): /* COREID */
- return 0;
+ return cpu->parent_obj.cpu_index;
case TO_SPR(0, 129): /* NUMCORES */
- return 1;
+ return max_cpus;
case TO_SPR(0, 1024) ... TO_SPR(0, 1024 + (16 * 32)): /* Shadow GPRs */
idx = (spr - 1024);