diff options
| author | Peter Maydell | 2016-09-08 16:22:50 +0200 |
|---|---|---|
| committer | Peter Maydell | 2016-09-08 16:22:50 +0200 |
| commit | 33e60e01988b02ac9baf4dc0f4a452b39fb5ce55 (patch) | |
| tree | 39674954d438bcb4ed08b5cec4520deb0db88888 /include | |
| parent | Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.8-20160907' into... (diff) | |
| parent | tests: fix postcopy-test leaks (diff) | |
| download | qemu-33e60e01988b02ac9baf4dc0f4a452b39fb5ce55.tar.gz qemu-33e60e01988b02ac9baf4dc0f4a452b39fb5ce55.tar.xz qemu-33e60e01988b02ac9baf4dc0f4a452b39fb5ce55.zip | |
Merge remote-tracking branch 'remotes/elmarco/tags/leak-pull-request' into staging
Pull request
v2:
- dropped "tests: fix small leak in test-io-channel-command" that Daniel Berrange will pick
- fixed "tests: add qtest_add_data_func_full" to work with glib < 2.26
# gpg: Signature made Thu 08 Sep 2016 15:16:54 BST
# gpg: using RSA key 0xDAE8E10975969CE5
# gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>"
# gpg: aka "Marc-André Lureau <marcandre.lureau@gmail.com>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg: It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 87A9 BD93 3F87 C606 D276 F62D DAE8 E109 7596 9CE5
* remotes/elmarco/tags/leak-pull-request: (25 commits)
tests: fix postcopy-test leaks
tests: fix rsp leak in postcopy-test
tests: pc-cpu-test leaks fixes
tests: add qtest_add_data_func_full
bus: simplify name handling
ipmi: free extern timer
sd: free timer
pc: keep gsi reference
pc: free i8259
tests: fix qom-test leaks
acpi-build: fix array leak
machine: use class base init generated name
pc: don't leak a20_line
pc: simplify passing qemu_irq
portio: keep references on portio
tests: fix leak in test-string-input-visitor
tests: fix check-qom-proplist leaks
tests: fix check-qom-interface leaks
tests: fix test-iov leaks
tests: fix test-vmstate leaks
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/glib-compat.h | 24 | ||||
| -rw-r--r-- | include/hw/boards.h | 2 | ||||
| -rw-r--r-- | include/hw/i386/pc.h | 4 | ||||
| -rw-r--r-- | include/hw/ide/internal.h | 2 | ||||
| -rw-r--r-- | include/hw/isa/i8257.h | 2 | ||||
| -rw-r--r-- | include/hw/isa/isa.h | 5 | ||||
| -rw-r--r-- | include/hw/qdev-core.h | 2 |
7 files changed, 36 insertions, 5 deletions
diff --git a/include/glib-compat.h b/include/glib-compat.h index 8d5a7f3801..8093163bee 100644 --- a/include/glib-compat.h +++ b/include/glib-compat.h @@ -280,4 +280,28 @@ static inline void g_hash_table_add(GHashTable *hash_table, gpointer key) } while (0) #endif +#if !GLIB_CHECK_VERSION(2, 28, 0) +static inline void g_list_free_full(GList *list, GDestroyNotify free_func) +{ + GList *l; + + for (l = list; l; l = l->next) { + free_func(l->data); + } + + g_list_free(list); +} + +static inline void g_slist_free_full(GSList *list, GDestroyNotify free_func) +{ + GSList *l; + + for (l = list; l; l = l->next) { + free_func(l->data); + } + + g_slist_free(list); +} +#endif + #endif diff --git a/include/hw/boards.h b/include/hw/boards.h index 3e69eca038..e46a744bcd 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -93,7 +93,7 @@ struct MachineClass { /*< public >*/ const char *family; /* NULL iff @name identifies a standalone machtype */ - const char *name; + char *name; const char *alias; const char *desc; diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 74c175c1e5..c4316c30a8 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -53,6 +53,7 @@ struct PCMachineState { ISADevice *rtc; PCIBus *bus; FWCfgState *fw_cfg; + qemu_irq *gsi; /* Configuration options: */ uint64_t max_ram_below_4g; @@ -220,7 +221,7 @@ void i8042_mm_init(qemu_irq kbd_irq, qemu_irq mouse_irq, MemoryRegion *region, ram_addr_t size, hwaddr mask); void i8042_isa_mouse_fake_event(void *opaque); -void i8042_setup_a20_line(ISADevice *dev, qemu_irq *a20_out); +void i8042_setup_a20_line(ISADevice *dev, qemu_irq a20_out); /* pc.c */ extern int fd_bootchk; @@ -903,7 +904,6 @@ bool e820_get_entry(int, uint32_t, uint64_t *, uint64_t *); { \ MachineClass *mc = MACHINE_CLASS(oc); \ optsfn(mc); \ - mc->name = namestr; \ mc->init = initfn; \ } \ static const TypeInfo pc_machine_type_##suffix = { \ diff --git a/include/hw/ide/internal.h b/include/hw/ide/internal.h index 7824bc34ce..a6dd2c3d30 100644 --- a/include/hw/ide/internal.h +++ b/include/hw/ide/internal.h @@ -480,6 +480,8 @@ struct IDEBus { uint8_t retry_unit; int64_t retry_sector_num; uint32_t retry_nsector; + PortioList portio_list; + PortioList portio2_list; }; #define TYPE_IDE_DEVICE "ide-device" diff --git a/include/hw/isa/i8257.h b/include/hw/isa/i8257.h index aa211c0df7..88a2766a3f 100644 --- a/include/hw/isa/i8257.h +++ b/include/hw/isa/i8257.h @@ -36,6 +36,8 @@ typedef struct I8257State { QEMUBH *dma_bh; bool dma_bh_scheduled; int running; + PortioList portio_page; + PortioList portio_pageh; } I8257State; #endif diff --git a/include/hw/isa/isa.h b/include/hw/isa/isa.h index 7693ac5454..c2fdd70cdc 100644 --- a/include/hw/isa/isa.h +++ b/include/hw/isa/isa.h @@ -134,12 +134,15 @@ void isa_register_ioport(ISADevice *dev, MemoryRegion *io, uint16_t start); * device and use the legacy portio routines. * * @dev: the ISADevice against which these are registered; may be NULL. + * @piolist: the PortioList associated with the io ports * @start: the base I/O port against which the portio->offset is applied. * @portio: the ports, sorted by offset. * @opaque: passed into the portio callbacks. * @name: passed into memory_region_init_io. */ -void isa_register_portio_list(ISADevice *dev, uint16_t start, +void isa_register_portio_list(ISADevice *dev, + PortioList *piolist, + uint16_t start, const MemoryRegionPortio *portio, void *opaque, const char *name); diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h index 4b4b33bec8..2c973473f7 100644 --- a/include/hw/qdev-core.h +++ b/include/hw/qdev-core.h @@ -224,7 +224,7 @@ typedef struct BusChild { struct BusState { Object obj; DeviceState *parent; - const char *name; + char *name; HotplugHandler *hotplug_handler; int max_index; bool realized; |
