sim: microblaze: invert sim_cpu storage

This commit is contained in:
Mike Frysinger 2016-08-13 10:10:49 +08:00
parent f246dc7285
commit 9dfc46c3d9
3 changed files with 8 additions and 8 deletions

View file

@ -382,13 +382,13 @@ sim_info (SIM_DESC sd, int verbose)
static sim_cia
microblaze_pc_get (sim_cpu *cpu)
{
return cpu->microblaze_cpu.spregs[0];
return MICROBLAZE_SIM_CPU (cpu)->spregs[0];
}
static void
microblaze_pc_set (sim_cpu *cpu, sim_cia pc)
{
cpu->microblaze_cpu.spregs[0] = pc;
MICROBLAZE_SIM_CPU (cpu)->spregs[0] = pc;
}
static void
@ -409,7 +409,8 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb,
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
/* The cpu data is kept in a separately allocated chunk of memory. */
if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK)
if (sim_cpu_alloc_all_extra (sd, 1, sizeof (struct microblaze_regset))
!= SIM_RC_OK)
{
free_state (sd);
return 0;

View file

@ -24,7 +24,7 @@
#define GET_RA ((inst & RA_MASK) >> RA_LOW)
#define GET_RB ((inst & RB_MASK) >> RB_LOW)
#define CPU cpu->microblaze_cpu
#define CPU (*MICROBLAZE_SIM_CPU (cpu))
#define RD CPU.regs[rd]
#define RA CPU.regs[ra]

View file

@ -18,6 +18,8 @@
#ifndef MICROBLAZE_SIM_MAIN
#define MICROBLAZE_SIM_MAIN
#define SIM_HAVE_COMMON_SIM_CPU
#include "microblaze.h"
#include "sim-basics.h"
#include "sim-base.h"
@ -43,9 +45,6 @@
signed_2 imm_high;
};
struct _sim_cpu {
struct microblaze_regset microblaze_cpu;
sim_cpu_base base;
};
#define MICROBLAZE_SIM_CPU(cpu) ((struct microblaze_regset *) CPU_ARCH_DATA (cpu))
#endif /* MICROBLAZE_SIM_MAIN */