From: Shannon Zhao <zhaoshenglong@huawei.com>
To: qemu-devel@nongnu.org
Cc: qemu-trivial@nongnu.org, pbonzini@redhat.com, mjt@tls.msk.ru,
shannon.zhao@linaro.org, peter.maydell@linaro.org
Subject: [Qemu-devel] [PATCH v2 01/13] hw/i386/pc: Fix misusing qemu_allocate_irqs for single irq
Date: Fri, 29 May 2015 13:26:59 +0800 [thread overview]
Message-ID: <1432877231-5136-2-git-send-email-zhaoshenglong@huawei.com> (raw)
In-Reply-To: <1432877231-5136-1-git-send-email-zhaoshenglong@huawei.com>
From: Shannon Zhao <shannon.zhao@linaro.org>
valgrind complains about:
==20308== 8 bytes in 1 blocks are definitely lost in loss record 622 of 3,474
==20308== at 0x4C2845D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==20308== by 0x2EB687: malloc_and_trace (vl.c:2556)
==20308== by 0x64C770E: g_malloc (in /usr/lib64/libglib-2.0.so.0.3600.3)
==20308== by 0x377C57: qemu_extend_irqs (irq.c:55)
==20308== by 0x377CE3: qemu_allocate_irqs (irq.c:64)
==20308== by 0x2522B8: pc_allocate_cpu_irq (pc.c:1350)
==20308== by 0x255AFF: pc_q35_init (pc_q35.c:233)
==20308== by 0x2EFA52: main (vl.c:4249)
==16440== 8 bytes in 1 blocks are definitely lost in loss record 599 of 3,443
==16440== at 0x4C2845D: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==16440== by 0x2EB687: malloc_and_trace (vl.c:2556)
==16440== by 0x64C770E: g_malloc (in /usr/lib64/libglib-2.0.so.0.3600.3)
==16440== by 0x377C57: qemu_extend_irqs (irq.c:55)
==16440== by 0x377CE3: qemu_allocate_irqs (irq.c:64)
==16440== by 0x2522B8: pc_allocate_cpu_irq (pc.c:1350)
==16440== by 0x2546B6: pc_init1 (pc_piix.c:223)
==16440== by 0x254C16: pc_init_pci (pc_piix.c:311)
==16440== by 0x2EFA52: main (vl.c:4249)
Since pc_allocate_cpu_irq only requests one irq, so let it just call
qemu_allocate_irq.
Signed-off-by: Shannon Zhao <zhaoshenglong@huawei.com>
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
---
hw/i386/pc.c | 4 ++--
hw/i386/pc_piix.c | 4 +---
hw/i386/pc_q35.c | 4 +---
include/hw/i386/pc.h | 2 +-
4 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 769eb25..bb59a04 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1345,9 +1345,9 @@ FWCfgState *pc_memory_init(MachineState *machine,
return fw_cfg;
}
-qemu_irq *pc_allocate_cpu_irq(void)
+qemu_irq pc_allocate_cpu_irq(void)
{
- return qemu_allocate_irqs(pic_irq_request, NULL, 1);
+ return qemu_allocate_irq(pic_irq_request, NULL, 0);
}
DeviceState *pc_vga_init(ISABus *isa_bus, PCIBus *pci_bus)
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 5e4c0b8..f2b6ebd 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -86,7 +86,6 @@ static void pc_init1(MachineState *machine,
ISABus *isa_bus;
PCII440FXState *i440fx_state;
int piix3_devfn = -1;
- qemu_irq *cpu_irq;
qemu_irq *gsi;
qemu_irq *i8259;
qemu_irq smi_irq;
@@ -220,8 +219,7 @@ static void pc_init1(MachineState *machine,
} else if (xen_enabled()) {
i8259 = xen_interrupt_controller_init();
} else {
- cpu_irq = pc_allocate_cpu_irq();
- i8259 = i8259_init(isa_bus, cpu_irq[0]);
+ i8259 = i8259_init(isa_bus, pc_allocate_cpu_irq());
}
for (i = 0; i < ISA_NUM_IRQS; i++) {
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index e67f2de..f2e3cf7 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -79,7 +79,6 @@ static void pc_q35_init(MachineState *machine)
GSIState *gsi_state;
ISABus *isa_bus;
int pci_enabled = 1;
- qemu_irq *cpu_irq;
qemu_irq *gsi;
qemu_irq *i8259;
int i;
@@ -230,8 +229,7 @@ static void pc_q35_init(MachineState *machine)
} else if (xen_enabled()) {
i8259 = xen_interrupt_controller_init();
} else {
- cpu_irq = pc_allocate_cpu_irq();
- i8259 = i8259_init(isa_bus, cpu_irq[0]);
+ i8259 = i8259_init(isa_bus, pc_allocate_cpu_irq());
}
for (i = 0; i < ISA_NUM_IRQS; i++) {
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 1b35168..6c6a45e 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -195,7 +195,7 @@ FWCfgState *pc_memory_init(MachineState *machine,
MemoryRegion *rom_memory,
MemoryRegion **ram_memory,
PcGuestInfo *guest_info);
-qemu_irq *pc_allocate_cpu_irq(void);
+qemu_irq pc_allocate_cpu_irq(void);
DeviceState *pc_vga_init(ISABus *isa_bus, PCIBus *pci_bus);
void pc_basic_device_init(ISABus *isa_bus, qemu_irq *gsi,
ISADevice **rtc_state,
--
2.0.4
next prev parent reply other threads:[~2015-05-29 5:28 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-29 5:26 [Qemu-devel] [PATCH v2 00/13] use qemu_allocate_irq not _irqs for single irq Shannon Zhao
2015-05-29 5:26 ` Shannon Zhao [this message]
2015-05-29 5:27 ` [Qemu-devel] [PATCH v2 02/13] hw/isa/lpc_ich9.c: Fix misusing qemu_allocate_irqs " Shannon Zhao
2015-05-29 5:27 ` [Qemu-devel] [PATCH v2 03/13] hw/isa/i82378.c: " Shannon Zhao
2015-05-29 5:27 ` [Qemu-devel] [PATCH v2 04/13] hw/timer/arm_timer.c: " Shannon Zhao
2015-05-29 5:27 ` [Qemu-devel] [PATCH v2 05/13] hw/intc/exynos4210_gic.c: Fix memory leak by adjusting order Shannon Zhao
2015-05-29 5:27 ` [Qemu-devel] [PATCH v2 06/13] hw/sparc/sun4m.c: Fix misusing qemu_allocate_irqs for single irq Shannon Zhao
2015-05-29 5:27 ` [Qemu-devel] [PATCH v2 07/13] hw/ppc/prep.c: " Shannon Zhao
2015-05-29 5:27 ` [Qemu-devel] [PATCH v2 08/13] hw/lm32/lm32_boards.c: " Shannon Zhao
2015-05-29 5:27 ` [Qemu-devel] [PATCH v2 09/13] hw/lm32/milkymist.c: " Shannon Zhao
2015-05-29 5:27 ` [Qemu-devel] [PATCH v2 10/13] hw/unicore32/puv3.c: " Shannon Zhao
2015-05-29 5:27 ` [Qemu-devel] [PATCH v2 11/13] hw/alpha/typhoon.c: " Shannon Zhao
2015-05-29 5:27 ` [Qemu-devel] [PATCH v2 12/13] hw/arm/nseries.c: " Shannon Zhao
2015-05-29 5:27 ` [Qemu-devel] [PATCH v2 13/13] hw/display/tc6393xb.c: " Shannon Zhao
2015-05-30 14:12 ` [Qemu-devel] [PATCH v2 00/13] use qemu_allocate_irq not _irqs " Michael Tokarev
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1432877231-5136-2-git-send-email-zhaoshenglong@huawei.com \
--to=zhaoshenglong@huawei.com \
--cc=mjt@tls.msk.ru \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-trivial@nongnu.org \
--cc=shannon.zhao@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).