Revision aa941b94 hw/pxa2xx_pic.c
b/hw/pxa2xx_pic.c | ||
---|---|---|
245 | 245 |
pxa2xx_pic_mem_write, |
246 | 246 |
}; |
247 | 247 |
|
248 |
static void pxa2xx_pic_save(QEMUFile *f, void *opaque) |
|
249 |
{ |
|
250 |
struct pxa2xx_pic_state_s *s = (struct pxa2xx_pic_state_s *) opaque; |
|
251 |
int i; |
|
252 |
|
|
253 |
for (i = 0; i < 2; i ++) |
|
254 |
qemu_put_be32s(f, &s->int_enabled[i]); |
|
255 |
for (i = 0; i < 2; i ++) |
|
256 |
qemu_put_be32s(f, &s->int_pending[i]); |
|
257 |
for (i = 0; i < 2; i ++) |
|
258 |
qemu_put_be32s(f, &s->is_fiq[i]); |
|
259 |
qemu_put_be32s(f, &s->int_idle); |
|
260 |
for (i = 0; i < PXA2XX_PIC_SRCS; i ++) |
|
261 |
qemu_put_be32s(f, &s->priority[i]); |
|
262 |
} |
|
263 |
|
|
264 |
static int pxa2xx_pic_load(QEMUFile *f, void *opaque, int version_id) |
|
265 |
{ |
|
266 |
struct pxa2xx_pic_state_s *s = (struct pxa2xx_pic_state_s *) opaque; |
|
267 |
int i; |
|
268 |
|
|
269 |
for (i = 0; i < 2; i ++) |
|
270 |
qemu_get_be32s(f, &s->int_enabled[i]); |
|
271 |
for (i = 0; i < 2; i ++) |
|
272 |
qemu_get_be32s(f, &s->int_pending[i]); |
|
273 |
for (i = 0; i < 2; i ++) |
|
274 |
qemu_get_be32s(f, &s->is_fiq[i]); |
|
275 |
qemu_get_be32s(f, &s->int_idle); |
|
276 |
for (i = 0; i < PXA2XX_PIC_SRCS; i ++) |
|
277 |
qemu_get_be32s(f, &s->priority[i]); |
|
278 |
|
|
279 |
pxa2xx_pic_update(opaque); |
|
280 |
return 0; |
|
281 |
} |
|
282 |
|
|
248 | 283 |
qemu_irq *pxa2xx_pic_init(target_phys_addr_t base, CPUState *env) |
249 | 284 |
{ |
250 | 285 |
struct pxa2xx_pic_state_s *s; |
... | ... | |
276 | 311 |
/* Enable IC coprocessor access. */ |
277 | 312 |
cpu_arm_set_cp_io(env, 6, pxa2xx_pic_cp_read, pxa2xx_pic_cp_write, s); |
278 | 313 |
|
314 |
register_savevm("pxa2xx_pic", 0, 0, pxa2xx_pic_save, pxa2xx_pic_load, s); |
|
315 |
|
|
279 | 316 |
return qi; |
280 | 317 |
} |
Also available in: Unified diff