28 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
29 |
* |
* |
30 |
* |
* |
31 |
* $Id: cpu.h,v 1.24 2005/06/11 20:59:12 debug Exp $ |
* $Id: cpu.h,v 1.27 2005/06/27 10:43:17 debug Exp $ |
32 |
* |
* |
33 |
* See cpu.c. |
* See cpu.c. |
34 |
*/ |
*/ |
41 |
/* This is needed for undefining 'mips' or 'ppc', on weird systems: */ |
/* This is needed for undefining 'mips' or 'ppc', on weird systems: */ |
42 |
#include "../../config.h" |
#include "../../config.h" |
43 |
|
|
|
#include "cpu_alpha.h" |
|
44 |
#include "cpu_arm.h" |
#include "cpu_arm.h" |
|
#include "cpu_hppa.h" |
|
45 |
#include "cpu_mips.h" |
#include "cpu_mips.h" |
46 |
#include "cpu_ppc.h" |
#include "cpu_ppc.h" |
|
#include "cpu_sparc.h" |
|
47 |
#include "cpu_urisc.h" |
#include "cpu_urisc.h" |
48 |
#include "cpu_x86.h" |
#include "cpu_x86.h" |
49 |
|
|
59 |
|
|
60 |
/* These are filled in by each CPU family's init function: */ |
/* These are filled in by each CPU family's init function: */ |
61 |
char *name; |
char *name; |
62 |
struct cpu *(*cpu_new)(struct memory *mem, |
int (*cpu_new)(struct cpu *cpu, struct memory *mem, |
63 |
struct machine *machine, |
struct machine *machine, |
64 |
int cpu_id, char *cpu_type_name); |
int cpu_id, char *cpu_type_name); |
65 |
void (*list_available_types)(void); |
void (*list_available_types)(void); |
117 |
|
|
118 |
/* CPU-family dependant: */ |
/* CPU-family dependant: */ |
119 |
union { |
union { |
|
struct alpha_cpu alpha; |
|
120 |
struct arm_cpu arm; |
struct arm_cpu arm; |
|
struct hppa_cpu hppa; |
|
121 |
struct mips_cpu mips; |
struct mips_cpu mips; |
122 |
struct ppc_cpu ppc; |
struct ppc_cpu ppc; |
|
struct sparc_cpu sparc; |
|
123 |
struct urisc_cpu urisc; |
struct urisc_cpu urisc; |
124 |
struct x86_cpu x86; |
struct x86_cpu x86; |
125 |
} cd; |
} cd; |
144 |
void cpu_run_deinit(struct emul *emul, struct machine *machine); |
void cpu_run_deinit(struct emul *emul, struct machine *machine); |
145 |
void cpu_dumpinfo(struct machine *m, struct cpu *cpu); |
void cpu_dumpinfo(struct machine *m, struct cpu *cpu); |
146 |
void cpu_list_available_types(void); |
void cpu_list_available_types(void); |
147 |
void cpu_show_cycles(struct machine *machine, |
void cpu_show_cycles(struct machine *machine, int forced); |
|
struct timeval *starttime, int64_t ncycles, int forced); |
|
148 |
struct cpu_family *cpu_family_ptr_by_number(int arch); |
struct cpu_family *cpu_family_ptr_by_number(int arch); |
149 |
void cpu_init(void); |
void cpu_init(void); |
150 |
|
|