diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2016-03-15 13:49:25 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2016-05-19 13:08:04 +0200 |
commit | 6adb9c5474fe417c86db3905e65887eb636d446f (patch) | |
tree | dbf4d3761a170a236f1eaf47969b8153223d23e2 /target-lm32/cpu-qom.h | |
parent | 4da6f8d954429c0cd1471d25cb9dbe909607374e (diff) | |
download | qemu-6adb9c5474fe417c86db3905e65887eb636d446f.zip qemu-6adb9c5474fe417c86db3905e65887eb636d446f.tar.gz qemu-6adb9c5474fe417c86db3905e65887eb636d446f.tar.bz2 |
target-lm32: make cpu-qom.h not target specific
Make LM32CPU an opaque type within cpu-qom.h, and move all definitions of
private methods, as well as all type definitions that require knowledge
of the layout to cpu.h. This helps making files independent of NEED_CPU_H
if they only need to pass around CPU pointers.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'target-lm32/cpu-qom.h')
-rw-r--r-- | target-lm32/cpu-qom.h | 41 |
1 files changed, 1 insertions, 40 deletions
diff --git a/target-lm32/cpu-qom.h b/target-lm32/cpu-qom.h index 54989e4..b423d25 100644 --- a/target-lm32/cpu-qom.h +++ b/target-lm32/cpu-qom.h @@ -47,45 +47,6 @@ typedef struct LM32CPUClass { void (*parent_reset)(CPUState *cpu); } LM32CPUClass; -/** - * LM32CPU: - * @env: #CPULM32State - * - * A LatticeMico32 CPU. - */ -typedef struct LM32CPU { - /*< private >*/ - CPUState parent_obj; - /*< public >*/ - - CPULM32State env; - - uint32_t revision; - uint8_t num_interrupts; - uint8_t num_breakpoints; - uint8_t num_watchpoints; - uint32_t features; -} LM32CPU; - -static inline LM32CPU *lm32_env_get_cpu(CPULM32State *env) -{ - return container_of(env, LM32CPU, env); -} - -#define ENV_GET_CPU(e) CPU(lm32_env_get_cpu(e)) - -#define ENV_OFFSET offsetof(LM32CPU, env) - -#ifndef CONFIG_USER_ONLY -extern const struct VMStateDescription vmstate_lm32_cpu; -#endif - -void lm32_cpu_do_interrupt(CPUState *cpu); -bool lm32_cpu_exec_interrupt(CPUState *cs, int int_req); -void lm32_cpu_dump_state(CPUState *cpu, FILE *f, fprintf_function cpu_fprintf, - int flags); -hwaddr lm32_cpu_get_phys_page_debug(CPUState *cpu, vaddr addr); -int lm32_cpu_gdb_read_register(CPUState *cpu, uint8_t *buf, int reg); -int lm32_cpu_gdb_write_register(CPUState *cpu, uint8_t *buf, int reg); +typedef struct LM32CPU LM32CPU; #endif |