Remove env->ready_for_interrupt_injection
[qemu-kvm/fedora.git] / target-sparc / machine.c
blob0e7a23e9f8f02ae3734fa9b8a1423b736c7d3f4f
1 #include "hw/hw.h"
2 #include "hw/boards.h"
4 #include "exec-all.h"
6 void register_machines(void)
8 #ifdef TARGET_SPARC64
9 qemu_register_machine(&sun4u_machine);
10 #else
11 qemu_register_machine(&ss5_machine);
12 qemu_register_machine(&ss10_machine);
13 qemu_register_machine(&ss600mp_machine);
14 qemu_register_machine(&ss20_machine);
15 qemu_register_machine(&ss2_machine);
16 qemu_register_machine(&voyager_machine);
17 qemu_register_machine(&ss_lx_machine);
18 qemu_register_machine(&ss4_machine);
19 qemu_register_machine(&scls_machine);
20 qemu_register_machine(&sbook_machine);
21 qemu_register_machine(&ss1000_machine);
22 qemu_register_machine(&ss2000_machine);
23 #endif
26 void cpu_save(QEMUFile *f, void *opaque)
28 CPUState *env = opaque;
29 int i;
30 uint32_t tmp;
32 for(i = 0; i < 8; i++)
33 qemu_put_betls(f, &env->gregs[i]);
34 for(i = 0; i < NWINDOWS * 16; i++)
35 qemu_put_betls(f, &env->regbase[i]);
37 /* FPU */
38 for(i = 0; i < TARGET_FPREGS; i++) {
39 union {
40 float32 f;
41 uint32_t i;
42 } u;
43 u.f = env->fpr[i];
44 qemu_put_be32(f, u.i);
47 qemu_put_betls(f, &env->pc);
48 qemu_put_betls(f, &env->npc);
49 qemu_put_betls(f, &env->y);
50 tmp = GET_PSR(env);
51 qemu_put_be32(f, tmp);
52 qemu_put_betls(f, &env->fsr);
53 qemu_put_betls(f, &env->tbr);
54 #ifndef TARGET_SPARC64
55 qemu_put_be32s(f, &env->wim);
56 /* MMU */
57 for(i = 0; i < 16; i++)
58 qemu_put_be32s(f, &env->mmuregs[i]);
59 #endif
62 int cpu_load(QEMUFile *f, void *opaque, int version_id)
64 CPUState *env = opaque;
65 int i;
66 uint32_t tmp;
68 for(i = 0; i < 8; i++)
69 qemu_get_betls(f, &env->gregs[i]);
70 for(i = 0; i < NWINDOWS * 16; i++)
71 qemu_get_betls(f, &env->regbase[i]);
73 /* FPU */
74 for(i = 0; i < TARGET_FPREGS; i++) {
75 union {
76 float32 f;
77 uint32_t i;
78 } u;
79 u.i = qemu_get_be32(f);
80 env->fpr[i] = u.f;
83 qemu_get_betls(f, &env->pc);
84 qemu_get_betls(f, &env->npc);
85 qemu_get_betls(f, &env->y);
86 tmp = qemu_get_be32(f);
87 env->cwp = 0; /* needed to ensure that the wrapping registers are
88 correctly updated */
89 PUT_PSR(env, tmp);
90 qemu_get_betls(f, &env->fsr);
91 qemu_get_betls(f, &env->tbr);
92 #ifndef TARGET_SPARC64
93 qemu_get_be32s(f, &env->wim);
94 /* MMU */
95 for(i = 0; i < 16; i++)
96 qemu_get_be32s(f, &env->mmuregs[i]);
97 #endif
98 tlb_flush(env, 1);
99 return 0;