sim: invert sim_state storage
Currently all ports have to declare sim_state themselves in their sim-main.h and then embed the common sim_state_base & sim_cpu in it. This dynamic makes it impossible to share common object code among multiple ports because the core data structure is always different. Let's invert this relationship: common code declares sim_state, and if the port actually needs state on a per-instance basis, it can use the new arch_data field for it. Most ports don't actually use it, so they don't need to declare anything at all. This is the first in a series of changes: it adds a define to select between the old & new layouts, then converts all the ports that don't need custom state over to the new layout.
This commit is contained in:
parent
92bc001e1f
commit
383861bd08
@ -1,3 +1,8 @@
|
|||||||
|
2021-05-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
|
||||||
|
(struct sim_state): Delete.
|
||||||
|
|
||||||
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* cpustate.c: Include defs.h.
|
* cpustate.c: Include defs.h.
|
||||||
|
@ -22,6 +22,8 @@
|
|||||||
#ifndef _SIM_MAIN_H
|
#ifndef _SIM_MAIN_H
|
||||||
#define _SIM_MAIN_H
|
#define _SIM_MAIN_H
|
||||||
|
|
||||||
|
#define SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
|
||||||
#include "sim-basics.h"
|
#include "sim-basics.h"
|
||||||
#include "sim-types.h"
|
#include "sim-types.h"
|
||||||
#include "sim-base.h"
|
#include "sim-base.h"
|
||||||
@ -60,11 +62,4 @@ typedef enum
|
|||||||
AARCH64_MAX_REGNO = 67
|
AARCH64_MAX_REGNO = 67
|
||||||
} aarch64_regno;
|
} aarch64_regno;
|
||||||
|
|
||||||
/* The simulator state structure used to hold all global variables. */
|
|
||||||
struct sim_state
|
|
||||||
{
|
|
||||||
sim_cpu * cpu[MAX_NR_PROCESSORS];
|
|
||||||
sim_state_base base;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* _SIM_MAIN_H */
|
#endif /* _SIM_MAIN_H */
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-05-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
|
||||||
|
(struct sim_state): Delete.
|
||||||
|
|
||||||
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* armcopro.c, armemu.c, arminit.c, armsupp.c, armvirt.c, iwmmxt.c,
|
* armcopro.c, armemu.c, arminit.c, armsupp.c, armvirt.c, iwmmxt.c,
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
#ifndef SIM_MAIN_H
|
#ifndef SIM_MAIN_H
|
||||||
#define SIM_MAIN_H
|
#define SIM_MAIN_H
|
||||||
|
|
||||||
|
#define SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
|
||||||
#include "sim-basics.h"
|
#include "sim-basics.h"
|
||||||
#include "sim-base.h"
|
#include "sim-base.h"
|
||||||
#include "bfd.h"
|
#include "bfd.h"
|
||||||
@ -33,11 +35,4 @@ struct _sim_cpu {
|
|||||||
sim_cpu_base base;
|
sim_cpu_base base;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sim_state {
|
|
||||||
|
|
||||||
sim_cpu *cpu[MAX_NR_PROCESSORS];
|
|
||||||
|
|
||||||
sim_state_base base;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,3 +1,13 @@
|
|||||||
|
2021-05-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-base.h (struct sim_state): Update comment.
|
||||||
|
(struct sim_state): Define.
|
||||||
|
(STATE_ARCH_DATA): Likewise.
|
||||||
|
(sim_state_alloc): New define.
|
||||||
|
(sim_state_alloc_extra): Renamed & add 3rd arg.
|
||||||
|
* sim-utils.c (sim_state_alloc): Likewise.
|
||||||
|
(sim_state_alloc_extra): Set arch data.
|
||||||
|
|
||||||
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* callback.c: Replace config.h include with defs.h.
|
* callback.c: Replace config.h include with defs.h.
|
||||||
|
@ -42,14 +42,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|||||||
sim_cpu_base base;
|
sim_cpu_base base;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sim_state {
|
If your sim needs to allocate sim-wide state, use STATE_ARCH_DATA. */
|
||||||
sim_cpu *cpu[MAX_NR_PROCESSORS];
|
|
||||||
... simulator specific members ...
|
|
||||||
sim_state_base base;
|
|
||||||
};
|
|
||||||
|
|
||||||
Note that `base' appears last. This makes `base.magic' appear last
|
|
||||||
in the entire struct and helps catch miscompilation errors. */
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef SIM_BASE_H
|
#ifndef SIM_BASE_H
|
||||||
@ -226,8 +219,27 @@ typedef struct {
|
|||||||
#define STATE_MAGIC(sd) ((sd)->base.magic)
|
#define STATE_MAGIC(sd) ((sd)->base.magic)
|
||||||
} sim_state_base;
|
} sim_state_base;
|
||||||
|
|
||||||
|
#ifdef SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
/* TODO: Merge sim_state & sim_state_base. */
|
||||||
|
struct sim_state {
|
||||||
|
/* All the cpus for this instance. */
|
||||||
|
sim_cpu *cpu[MAX_NR_PROCESSORS];
|
||||||
|
|
||||||
|
/* All the common state. */
|
||||||
|
sim_state_base base;
|
||||||
|
|
||||||
|
/* Pointer for sim target to store arbitrary state data. Normally the
|
||||||
|
target should define a struct and use it here. */
|
||||||
|
void *arch_data;
|
||||||
|
#define STATE_ARCH_DATA(sd) ((sd)->arch_data)
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Functions for allocating/freeing a sim_state. */
|
/* Functions for allocating/freeing a sim_state. */
|
||||||
SIM_DESC sim_state_alloc (SIM_OPEN_KIND kind, host_callback *callback);
|
SIM_DESC sim_state_alloc_extra (SIM_OPEN_KIND kind, host_callback *callback,
|
||||||
|
size_t extra_bytes);
|
||||||
|
#define sim_state_alloc(kind, callback) sim_state_alloc_extra(kind, callback, 0)
|
||||||
|
|
||||||
void sim_state_free (SIM_DESC);
|
void sim_state_free (SIM_DESC);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -48,8 +48,8 @@ zalloc (unsigned long size)
|
|||||||
/* Allocate a sim_state struct. */
|
/* Allocate a sim_state struct. */
|
||||||
|
|
||||||
SIM_DESC
|
SIM_DESC
|
||||||
sim_state_alloc (SIM_OPEN_KIND kind,
|
sim_state_alloc_extra (SIM_OPEN_KIND kind, host_callback *callback,
|
||||||
host_callback *callback)
|
size_t extra_bytes)
|
||||||
{
|
{
|
||||||
SIM_DESC sd = ZALLOC (struct sim_state);
|
SIM_DESC sd = ZALLOC (struct sim_state);
|
||||||
|
|
||||||
@ -57,6 +57,11 @@ sim_state_alloc (SIM_OPEN_KIND kind,
|
|||||||
STATE_CALLBACK (sd) = callback;
|
STATE_CALLBACK (sd) = callback;
|
||||||
STATE_OPEN_KIND (sd) = kind;
|
STATE_OPEN_KIND (sd) = kind;
|
||||||
|
|
||||||
|
#ifdef SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
if (extra_bytes)
|
||||||
|
STATE_ARCH_DATA (sd) = zalloc (extra_bytes);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
{
|
{
|
||||||
int cpu_nr;
|
int cpu_nr;
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-05-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
|
||||||
|
(struct sim_state): Delete.
|
||||||
|
|
||||||
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* cr16_sim.h: Delete config.h include.
|
* cr16_sim.h: Delete config.h include.
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
#ifndef SIM_MAIN_H
|
#ifndef SIM_MAIN_H
|
||||||
#define SIM_MAIN_H
|
#define SIM_MAIN_H
|
||||||
|
|
||||||
|
#define SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
|
||||||
#include "sim-basics.h"
|
#include "sim-basics.h"
|
||||||
|
|
||||||
typedef long int word;
|
typedef long int word;
|
||||||
@ -34,11 +36,4 @@ struct _sim_cpu {
|
|||||||
sim_cpu_base base;
|
sim_cpu_base base;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sim_state {
|
|
||||||
|
|
||||||
sim_cpu *cpu[MAX_NR_PROCESSORS];
|
|
||||||
|
|
||||||
sim_state_base base;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-05-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
|
||||||
|
(struct sim_state): Delete.
|
||||||
|
|
||||||
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* d10v_sim.h, gencode.c: Delete config.h include.
|
* d10v_sim.h, gencode.c: Delete config.h include.
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
#ifndef SIM_MAIN_H
|
#ifndef SIM_MAIN_H
|
||||||
#define SIM_MAIN_H
|
#define SIM_MAIN_H
|
||||||
|
|
||||||
|
#define SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
|
||||||
#include "sim-basics.h"
|
#include "sim-basics.h"
|
||||||
|
|
||||||
typedef long int word;
|
typedef long int word;
|
||||||
@ -34,11 +36,4 @@ struct _sim_cpu {
|
|||||||
sim_cpu_base base;
|
sim_cpu_base base;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sim_state {
|
|
||||||
|
|
||||||
sim_cpu *cpu[MAX_NR_PROCESSORS];
|
|
||||||
|
|
||||||
sim_state_base base;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-05-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
|
||||||
|
(struct sim_state): Delete.
|
||||||
|
|
||||||
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* interp.c, sim-main.c: Replace config.h include with defs.h.
|
* interp.c, sim-main.c: Replace config.h include with defs.h.
|
||||||
|
@ -21,6 +21,8 @@
|
|||||||
#ifndef SIM_MAIN_H
|
#ifndef SIM_MAIN_H
|
||||||
#define SIM_MAIN_H
|
#define SIM_MAIN_H
|
||||||
|
|
||||||
|
#define SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
|
||||||
#include "sim-basics.h"
|
#include "sim-basics.h"
|
||||||
#include "sim-base.h"
|
#include "sim-base.h"
|
||||||
|
|
||||||
@ -36,13 +38,6 @@ struct _sim_cpu {
|
|||||||
sim_cpu_base base;
|
sim_cpu_base base;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sim_state {
|
|
||||||
sim_cpu *cpu[MAX_NR_PROCESSORS];
|
|
||||||
|
|
||||||
/* ... simulator specific members ... */
|
|
||||||
sim_state_base base;
|
|
||||||
};
|
|
||||||
|
|
||||||
extern void step_once (SIM_CPU *);
|
extern void step_once (SIM_CPU *);
|
||||||
extern void initialize_cpu (SIM_DESC, SIM_CPU *);
|
extern void initialize_cpu (SIM_DESC, SIM_CPU *);
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-05-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
|
||||||
|
(struct sim_state): Delete.
|
||||||
|
|
||||||
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* interp.c: Replace config.h include with defs.h.
|
* interp.c: Replace config.h include with defs.h.
|
||||||
|
@ -21,6 +21,8 @@
|
|||||||
#ifndef SIM_MAIN_H
|
#ifndef SIM_MAIN_H
|
||||||
#define SIM_MAIN_H
|
#define SIM_MAIN_H
|
||||||
|
|
||||||
|
#define SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
|
||||||
#include "sim-basics.h"
|
#include "sim-basics.h"
|
||||||
#include "sim-base.h"
|
#include "sim-base.h"
|
||||||
#include "bfd.h"
|
#include "bfd.h"
|
||||||
@ -36,11 +38,4 @@ struct _sim_cpu {
|
|||||||
sim_cpu_base base;
|
sim_cpu_base base;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sim_state {
|
|
||||||
|
|
||||||
sim_cpu *cpu[MAX_NR_PROCESSORS];
|
|
||||||
|
|
||||||
sim_state_base base;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-05-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
|
||||||
|
(struct sim_state): Delete.
|
||||||
|
|
||||||
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* dv-m68hc11.c, dv-m68hc11eepr.c, dv-m68hc11sio.c, dv-m68hc11spi.c,
|
* dv-m68hc11.c, dv-m68hc11eepr.c, dv-m68hc11sio.c, dv-m68hc11spi.c,
|
||||||
|
@ -20,6 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|||||||
#ifndef _SIM_MAIN_H
|
#ifndef _SIM_MAIN_H
|
||||||
#define _SIM_MAIN_H
|
#define _SIM_MAIN_H
|
||||||
|
|
||||||
|
#define SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
|
||||||
#include "sim-basics.h"
|
#include "sim-basics.h"
|
||||||
#include "sim-signal.h"
|
#include "sim-signal.h"
|
||||||
#include "sim-base.h"
|
#include "sim-base.h"
|
||||||
@ -560,13 +562,6 @@ extern int m68hc11cpu_clear_oscillator (SIM_DESC sd, const char *port);
|
|||||||
extern void m68hc11cpu_set_port (struct hw *me, sim_cpu *cpu,
|
extern void m68hc11cpu_set_port (struct hw *me, sim_cpu *cpu,
|
||||||
unsigned addr, uint8 val);
|
unsigned addr, uint8 val);
|
||||||
|
|
||||||
/* The current state of the processor; registers, memory, etc. */
|
|
||||||
|
|
||||||
struct sim_state {
|
|
||||||
sim_cpu *cpu[MAX_NR_PROCESSORS];
|
|
||||||
sim_state_base base;
|
|
||||||
};
|
|
||||||
|
|
||||||
extern void sim_board_reset (SIM_DESC sd);
|
extern void sim_board_reset (SIM_DESC sd);
|
||||||
|
|
||||||
#define PRINT_TIME 0x01
|
#define PRINT_TIME 0x01
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-05-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
|
||||||
|
(struct sim_state): Delete.
|
||||||
|
|
||||||
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* interp.c: Replace config.h include with defs.h.
|
* interp.c: Replace config.h include with defs.h.
|
||||||
|
@ -19,6 +19,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|||||||
#ifndef SIM_MAIN_H
|
#ifndef SIM_MAIN_H
|
||||||
#define SIM_MAIN_H
|
#define SIM_MAIN_H
|
||||||
|
|
||||||
|
#define SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
|
||||||
#include "sim-basics.h"
|
#include "sim-basics.h"
|
||||||
|
|
||||||
typedef long int word;
|
typedef long int word;
|
||||||
@ -68,12 +70,5 @@ struct _sim_cpu {
|
|||||||
sim_cpu_base base;
|
sim_cpu_base base;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sim_state {
|
|
||||||
|
|
||||||
sim_cpu *cpu[MAX_NR_PROCESSORS];
|
|
||||||
|
|
||||||
sim_state_base base;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-05-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
|
||||||
|
(struct sim_state): Delete.
|
||||||
|
|
||||||
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* interp.c: Replace config.h include with defs.h.
|
* interp.c: Replace config.h include with defs.h.
|
||||||
|
@ -18,6 +18,8 @@
|
|||||||
#ifndef MICROBLAZE_SIM_MAIN
|
#ifndef MICROBLAZE_SIM_MAIN
|
||||||
#define MICROBLAZE_SIM_MAIN
|
#define MICROBLAZE_SIM_MAIN
|
||||||
|
|
||||||
|
#define SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
|
||||||
#include "microblaze.h"
|
#include "microblaze.h"
|
||||||
#include "sim-basics.h"
|
#include "sim-basics.h"
|
||||||
#include "sim-base.h"
|
#include "sim-base.h"
|
||||||
@ -48,11 +50,4 @@ struct _sim_cpu {
|
|||||||
sim_cpu_base base;
|
sim_cpu_base base;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sim_state {
|
|
||||||
|
|
||||||
sim_cpu *cpu[MAX_NR_PROCESSORS];
|
|
||||||
|
|
||||||
sim_state_base base;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* MICROBLAZE_SIM_MAIN */
|
#endif /* MICROBLAZE_SIM_MAIN */
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-05-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
|
||||||
|
(struct sim_state): Delete.
|
||||||
|
|
||||||
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* dv-mn103cpu.c, dv-mn103int.c, dv-mn103iop.c, dv-mn103ser.c,
|
* dv-mn103cpu.c, dv-mn103int.c, dv-mn103iop.c, dv-mn103ser.c,
|
||||||
|
@ -22,6 +22,8 @@
|
|||||||
#ifndef SIM_MAIN_H
|
#ifndef SIM_MAIN_H
|
||||||
#define SIM_MAIN_H
|
#define SIM_MAIN_H
|
||||||
|
|
||||||
|
#define SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
|
||||||
#define SIM_ENGINE_HALT_HOOK(SD,LAST_CPU,CIA) 0 /* disable this hook */
|
#define SIM_ENGINE_HALT_HOOK(SD,LAST_CPU,CIA) 0 /* disable this hook */
|
||||||
|
|
||||||
#include "sim-basics.h"
|
#include "sim-basics.h"
|
||||||
@ -65,17 +67,6 @@ struct _sim_cpu {
|
|||||||
sim_cpu_base base;
|
sim_cpu_base base;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct sim_state {
|
|
||||||
|
|
||||||
/* the processors proper */
|
|
||||||
sim_cpu *cpu[MAX_NR_PROCESSORS];
|
|
||||||
|
|
||||||
/* The base class. */
|
|
||||||
sim_state_base base;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
/* For compatibility, until all functions converted to passing
|
/* For compatibility, until all functions converted to passing
|
||||||
SIM_DESC as an argument */
|
SIM_DESC as an argument */
|
||||||
extern SIM_DESC simulator;
|
extern SIM_DESC simulator;
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-05-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
|
||||||
|
(struct sim_state): Delete.
|
||||||
|
|
||||||
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* interp.c: Replace config.h include with defs.h.
|
* interp.c: Replace config.h include with defs.h.
|
||||||
|
@ -20,6 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|||||||
#ifndef SIM_MAIN_H
|
#ifndef SIM_MAIN_H
|
||||||
#define SIM_MAIN_H
|
#define SIM_MAIN_H
|
||||||
|
|
||||||
|
#define SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
|
||||||
#include "sim-basics.h"
|
#include "sim-basics.h"
|
||||||
#include "sim-base.h"
|
#include "sim-base.h"
|
||||||
#include "bfd.h"
|
#include "bfd.h"
|
||||||
@ -39,11 +41,4 @@ struct _sim_cpu {
|
|||||||
sim_cpu_base base;
|
sim_cpu_base base;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sim_state {
|
|
||||||
|
|
||||||
sim_cpu *cpu[MAX_NR_PROCESSORS];
|
|
||||||
|
|
||||||
sim_state_base base;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-05-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
|
||||||
|
(struct sim_state): Delete.
|
||||||
|
|
||||||
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* msp430-sim.c: Replace config.h include with defs.h.
|
* msp430-sim.c: Replace config.h include with defs.h.
|
||||||
|
@ -21,6 +21,8 @@
|
|||||||
#ifndef _MSP430_MAIN_SIM_H_
|
#ifndef _MSP430_MAIN_SIM_H_
|
||||||
#define _MSP430_MAIN_SIM_H_
|
#define _MSP430_MAIN_SIM_H_
|
||||||
|
|
||||||
|
#define SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
|
||||||
#include "sim-basics.h"
|
#include "sim-basics.h"
|
||||||
#include "sim-signal.h"
|
#include "sim-signal.h"
|
||||||
#include "msp430-sim.h"
|
#include "msp430-sim.h"
|
||||||
@ -33,14 +35,6 @@ struct _sim_cpu
|
|||||||
sim_cpu_base base;
|
sim_cpu_base base;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sim_state
|
|
||||||
{
|
|
||||||
sim_cpu *cpu[MAX_NR_PROCESSORS];
|
|
||||||
|
|
||||||
/* Simulator specific members. */
|
|
||||||
sim_state_base base;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define MSP430_CPU(sd) (STATE_CPU ((sd), 0))
|
#define MSP430_CPU(sd) (STATE_CPU ((sd), 0))
|
||||||
#define MSP430_CPU_STATE(sd) (MSP430_CPU ((sd)->state))
|
#define MSP430_CPU_STATE(sd) (MSP430_CPU ((sd)->state))
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-05-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
|
||||||
|
(struct sim_state): Delete.
|
||||||
|
|
||||||
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* interp.c: Replace config.h include with defs.h.
|
* interp.c: Replace config.h include with defs.h.
|
||||||
|
@ -19,6 +19,8 @@
|
|||||||
#ifndef PRU_SIM_MAIN
|
#ifndef PRU_SIM_MAIN
|
||||||
#define PRU_SIM_MAIN
|
#define PRU_SIM_MAIN
|
||||||
|
|
||||||
|
#define SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include "pru.h"
|
#include "pru.h"
|
||||||
@ -83,9 +85,4 @@ struct _sim_cpu {
|
|||||||
sim_cpu_base base;
|
sim_cpu_base base;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sim_state {
|
|
||||||
sim_cpu *cpu[MAX_NR_PROCESSORS];
|
|
||||||
|
|
||||||
sim_state_base base;
|
|
||||||
};
|
|
||||||
#endif /* PRU_SIM_MAIN */
|
#endif /* PRU_SIM_MAIN */
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-05-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
|
||||||
|
(struct sim_state): Delete.
|
||||||
|
|
||||||
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* interp.c: Replace config.h include with defs.h.
|
* interp.c: Replace config.h include with defs.h.
|
||||||
|
@ -19,6 +19,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|||||||
#ifndef SIM_MAIN_H
|
#ifndef SIM_MAIN_H
|
||||||
#define SIM_MAIN_H
|
#define SIM_MAIN_H
|
||||||
|
|
||||||
|
#define SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
|
||||||
#include "sim-basics.h"
|
#include "sim-basics.h"
|
||||||
#include "sim-base.h"
|
#include "sim-base.h"
|
||||||
|
|
||||||
@ -131,11 +133,4 @@ struct _sim_cpu {
|
|||||||
sim_cpu_base base;
|
sim_cpu_base base;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sim_state {
|
|
||||||
|
|
||||||
sim_cpu *cpu[MAX_NR_PROCESSORS];
|
|
||||||
|
|
||||||
sim_state_base base;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-05-17 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
|
* sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
|
||||||
|
(struct sim_state): Delete.
|
||||||
|
|
||||||
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
2021-05-16 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* interp.c, simops.c: Include defs.h.
|
* interp.c, simops.c: Include defs.h.
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
#ifndef SIM_MAIN_H
|
#ifndef SIM_MAIN_H
|
||||||
#define SIM_MAIN_H
|
#define SIM_MAIN_H
|
||||||
|
|
||||||
|
#define SIM_HAVE_COMMON_SIM_STATE
|
||||||
|
|
||||||
/* The v850 has 32bit words, numbered 31 (MSB) to 0 (LSB) */
|
/* The v850 has 32bit words, numbered 31 (MSB) to 0 (LSB) */
|
||||||
|
|
||||||
#define WITH_TARGET_WORD_MSB 31
|
#define WITH_TARGET_WORD_MSB 31
|
||||||
@ -48,18 +50,6 @@ struct _sim_cpu
|
|||||||
sim_cpu_base base;
|
sim_cpu_base base;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct sim_state {
|
|
||||||
sim_cpu *cpu[MAX_NR_PROCESSORS];
|
|
||||||
#if 0
|
|
||||||
SIM_ADDR rom_size;
|
|
||||||
SIM_ADDR low_end;
|
|
||||||
SIM_ADDR high_start;
|
|
||||||
SIM_ADDR high_base;
|
|
||||||
void *mem;
|
|
||||||
#endif
|
|
||||||
sim_state_base base;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* For compatibility, until all functions converted to passing
|
/* For compatibility, until all functions converted to passing
|
||||||
SIM_DESC as an argument */
|
SIM_DESC as an argument */
|
||||||
extern SIM_DESC simulator;
|
extern SIM_DESC simulator;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user