cmd646.c (a348f108842fb928563865c9918642900cd0d477) cmd646.c (f90c2bcdbc69e41e575f868b984c3e2de8f51bac)
1/*
2 * QEMU IDE Emulation: PCI cmd646 support.
3 *
4 * Copyright (c) 2003 Fabrice Bellard
5 * Copyright (c) 2006 Openedhand Ltd.
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
8 * of this software and associated documentation files (the "Software"), to deal

--- 281 unchanged lines hidden (view full) ---

290 &d->bmdma[i].dma);
291 }
292
293 vmstate_register(&dev->qdev, 0, &vmstate_ide_pci, d);
294 qemu_register_reset(cmd646_reset, d);
295 return 0;
296}
297
1/*
2 * QEMU IDE Emulation: PCI cmd646 support.
3 *
4 * Copyright (c) 2003 Fabrice Bellard
5 * Copyright (c) 2006 Openedhand Ltd.
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
8 * of this software and associated documentation files (the "Software"), to deal

--- 281 unchanged lines hidden (view full) ---

290 &d->bmdma[i].dma);
291 }
292
293 vmstate_register(&dev->qdev, 0, &vmstate_ide_pci, d);
294 qemu_register_reset(cmd646_reset, d);
295 return 0;
296}
297
298static int pci_cmd646_ide_exitfn(PCIDevice *dev)
298static void pci_cmd646_ide_exitfn(PCIDevice *dev)
299{
300 PCIIDEState *d = DO_UPCAST(PCIIDEState, dev, dev);
301 unsigned i;
302
303 for (i = 0; i < 2; ++i) {
304 memory_region_del_subregion(&d->bmdma_bar, &d->bmdma[i].extra_io);
305 memory_region_destroy(&d->bmdma[i].extra_io);
306 memory_region_del_subregion(&d->bmdma_bar, &d->bmdma[i].addr_ioport);
307 memory_region_destroy(&d->bmdma[i].addr_ioport);
308 memory_region_destroy(&d->cmd646_bar[i].cmd);
309 memory_region_destroy(&d->cmd646_bar[i].data);
310 }
311 memory_region_destroy(&d->bmdma_bar);
299{
300 PCIIDEState *d = DO_UPCAST(PCIIDEState, dev, dev);
301 unsigned i;
302
303 for (i = 0; i < 2; ++i) {
304 memory_region_del_subregion(&d->bmdma_bar, &d->bmdma[i].extra_io);
305 memory_region_destroy(&d->bmdma[i].extra_io);
306 memory_region_del_subregion(&d->bmdma_bar, &d->bmdma[i].addr_ioport);
307 memory_region_destroy(&d->bmdma[i].addr_ioport);
308 memory_region_destroy(&d->cmd646_bar[i].cmd);
309 memory_region_destroy(&d->cmd646_bar[i].data);
310 }
311 memory_region_destroy(&d->bmdma_bar);
312
313 return 0;
314}
315
316void pci_cmd646_ide_init(PCIBus *bus, DriveInfo **hd_table,
317 int secondary_ide_enabled)
318{
319 PCIDevice *dev;
320
321 dev = pci_create(bus, -1, "cmd646-ide");

--- 38 unchanged lines hidden ---
312}
313
314void pci_cmd646_ide_init(PCIBus *bus, DriveInfo **hd_table,
315 int secondary_ide_enabled)
316{
317 PCIDevice *dev;
318
319 dev = pci_create(bus, -1, "cmd646-ide");

--- 38 unchanged lines hidden ---