|
|
1.1 root 1: #include "hw/hw.h"
2: #include "hw/boards.h"
3:
4: void register_machines(void)
5: {
6: qemu_register_machine(&bareetraxfs_machine);
7: qemu_register_machine(&axisdev88_machine);
8: }
9:
10: void cpu_save(QEMUFile *f, void *opaque)
11: {
12: CPUCRISState *env = opaque;
13: int i;
14: int s;
15: int mmu;
16:
17: for (i = 0; i < 16; i++)
18: qemu_put_be32(f, env->regs[i]);
19: for (i = 0; i < 16; i++)
20: qemu_put_be32(f, env->pregs[i]);
21:
22: qemu_put_be32(f, env->pc);
23: qemu_put_be32(f, env->ksp);
24:
25: qemu_put_be32(f, env->dslot);
26: qemu_put_be32(f, env->btaken);
27: qemu_put_be32(f, env->btarget);
28:
29: qemu_put_be32(f, env->cc_op);
30: qemu_put_be32(f, env->cc_mask);
31: qemu_put_be32(f, env->cc_dest);
32: qemu_put_be32(f, env->cc_src);
33: qemu_put_be32(f, env->cc_result);
34: qemu_put_be32(f, env->cc_size);
35: qemu_put_be32(f, env->cc_x);
36:
37: for (s = 0; s < 4; s++) {
38: for (i = 0; i < 16; i++)
39: qemu_put_be32(f, env->sregs[s][i]);
40: }
41:
42: qemu_put_be32(f, env->mmu_rand_lfsr);
43: for (mmu = 0; mmu < 2; mmu++) {
44: for (s = 0; s < 4; s++) {
45: for (i = 0; i < 16; i++) {
46: qemu_put_be32(f, env->tlbsets[mmu][s][i].lo);
47: qemu_put_be32(f, env->tlbsets[mmu][s][i].hi);
48: }
49: }
50: }
51: }
52:
53: int cpu_load(QEMUFile *f, void *opaque, int version_id)
54: {
55: CPUCRISState *env = opaque;
56: int i;
57: int s;
58: int mmu;
59:
60: for (i = 0; i < 16; i++)
61: env->regs[i] = qemu_get_be32(f);
62: for (i = 0; i < 16; i++)
63: env->pregs[i] = qemu_get_be32(f);
64:
65: env->pc = qemu_get_be32(f);
66: env->ksp = qemu_get_be32(f);
67:
68: env->dslot = qemu_get_be32(f);
69: env->btaken = qemu_get_be32(f);
70: env->btarget = qemu_get_be32(f);
71:
72: env->cc_op = qemu_get_be32(f);
73: env->cc_mask = qemu_get_be32(f);
74: env->cc_dest = qemu_get_be32(f);
75: env->cc_src = qemu_get_be32(f);
76: env->cc_result = qemu_get_be32(f);
77: env->cc_size = qemu_get_be32(f);
78: env->cc_x = qemu_get_be32(f);
79:
80: for (s = 0; s < 4; s++) {
81: for (i = 0; i < 16; i++)
82: env->sregs[s][i] = qemu_get_be32(f);
83: }
84:
85: env->mmu_rand_lfsr = qemu_get_be32(f);
86: for (mmu = 0; mmu < 2; mmu++) {
87: for (s = 0; s < 4; s++) {
88: for (i = 0; i < 16; i++) {
89: env->tlbsets[mmu][s][i].lo = qemu_get_be32(f);
90: env->tlbsets[mmu][s][i].hi = qemu_get_be32(f);
91: }
92: }
93: }
94:
95: return 0;
96: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.