From: Avi Kivity <avi@redhat.com>
To: Isaku Yamahata <yamahata@valinux.co.jp>
Cc: qemu-devel@nongnu.org, Juan Quintela <quintela@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 24/26] acpi, acpi_piix: factor out GPE logic
Date: Sun, 17 Apr 2011 18:53:12 +0300 [thread overview]
Message-ID: <4DAB0CE8.8090204@redhat.com> (raw)
In-Reply-To: <20110417135045.GA8741@valinux.co.jp>
On 04/17/2011 04:50 PM, Isaku Yamahata wrote:
> On Sun, Apr 17, 2011 at 04:17:51PM +0300, Avi Kivity wrote:
> > On 03/16/2011 11:29 AM, Isaku Yamahata wrote:
> >> factor out ACPI GPE logic. Later it will be used by ICH9 ACPI.
> >>
> >
> > I think this patch is causing qemu-kvm failures on migration:
> > (gdb) bt
> > #0 0x000000000049aff4 in qemu_put_be16s (f=0x1a74490, pv=0x2c02580,
> > size=2) at hw/hw.h:108
> > #1 put_uint16 (f=0x1a74490, pv=0x2c02580, size=2) at savevm.c:855
> > #2 0x000000000049c3e4 in vmstate_save_state (f=0x1a74490,
> > vmsd=0x6f0b00, opaque=0x1842ef0) at savevm.c:1436
> > #3 0x000000000049c3b6 in vmstate_save_state (f=0x1a74490,
> > vmsd=0x6f0aa0, opaque=0x1842b90) at savevm.c:1434
> > #4 0x000000000049c6f1 in vmstate_save (mon=<value optimized out>,
> > f=0x1a74490) at savevm.c:1459
> > #5 qemu_savevm_state_complete (mon=<value optimized out>, f=0x1a74490)
> > at savevm.c:1600
> > #6 0x000000000049455a in migrate_fd_put_ready (opaque=0x1847890) at
> > migration.c:383
> > #7 0x00000000004ce2eb in qemu_run_timers (clock=<value optimized out>)
> > at qemu-timer.c:505
> > #8 0x00000000004ce806 in qemu_run_all_timers () at qemu-timer.c:619
> > #9 0x0000000000419463 in main_loop_wait (nonblocking=<value optimized
> > out>) at /build/home/tlv/akivity/qemu-kvm/vl.c:1339
> > #10 0x0000000000433927 in kvm_main_loop () at
> > /build/home/tlv/akivity/qemu-kvm/qemu-kvm.c:1590
> > #11 0x000000000041a3a6 in main_loop (argc=<value optimized out>,
> > argv=<value optimized out>, envp=<value optimized out>)
> > at /build/home/tlv/akivity/qemu-kvm/vl.c:1369
> > #12 main (argc=<value optimized out>, argv=<value optimized out>,
> > envp=<value optimized out>) at /build/home/tlv/akivity/qemu-kvm/vl.c:3257
> >
> > The vmstate being migrated is "gpe".
> >
> >
> >
> >>
> >> +#define VMSTATE_GPE_ARRAY(_field, _state) \
> >> + { \
> >> + .name = (stringify(_field)), \
> >> + .version_id = 0, \
> >> + .num = GPE_LEN, \
> >> + .info =&vmstate_info_uint16, \
> >> + .size = sizeof(uint16_t), \
> >> + .flags = VMS_ARRAY | VMS_POINTER, \
> >> + .offset = vmstate_offset_pointer(_state, _field, uint8_t), \
> >> + }
> >> +
> >> static const VMStateDescription vmstate_gpe = {
> >> .name = "gpe",
> >> .version_id = 1,
> >> .minimum_version_id = 1,
> >> .minimum_version_id_old = 1,
> >> .fields = (VMStateField []) {
> >> - VMSTATE_UINT16(sts, struct gpe_regs),
> >> - VMSTATE_UINT16(en, struct gpe_regs),
> >> + VMSTATE_GPE_ARRAY(sts, ACPIGPE),
> >> + VMSTATE_GPE_ARRAY(en, ACPIGPE),
> >> VMSTATE_END_OF_LIST()
> >> }
> >> };
> >
> > I'm no vmstate expert, but this does look odd. Why both VMS_ARRAY and
> > VMS_POINTER? aren't we trying to save/restore a simple 16-bit value? Or
> > at least we did before this patch.
>
> That's right. the difference is, the new member type became uint8_t*.
> Does the following help?
>
Unforunately not. The core is very similar though:
#0 0x000000000049aff4 in qemu_put_be16s (f=0x2427490, pv=0x1ae7580,
size=2) at hw/hw.h:108
#1 put_uint16 (f=0x2427490, pv=0x1ae7580, size=2) at savevm.c:855
#2 0x000000000049c3e4 in vmstate_save_state (f=0x2427490,
vmsd=0x6f0b00, opaque=0x21f5ef0) at savevm.c:1436
#3 0x000000000049c3b6 in vmstate_save_state (f=0x2427490,
vmsd=0x6f0aa0, opaque=0x21f5b90) at savevm.c:1434
#4 0x000000000049c6f1 in vmstate_save (mon=<value optimized out>,
f=0x2427490) at savevm.c:1459
#5 qemu_savevm_state_complete (mon=<value optimized out>, f=0x2427490)
at savevm.c:1600
#6 0x000000000049455a in migrate_fd_put_ready (opaque=0x21fa8c0) at
migration.c:383
#7 0x00000000004ce2eb in qemu_run_timers (clock=<value optimized out>)
at qemu-timer.c:505
#8 0x00000000004ce806 in qemu_run_all_timers () at qemu-timer.c:619
#9 0x0000000000419463 in main_loop_wait (nonblocking=<value optimized
out>) at /build/home/tlv/akivity/qemu-kvm/vl.c:1339
#10 0x0000000000433927 in kvm_main_loop () at
/build/home/tlv/akivity/qemu-kvm/qemu-kvm.c:1590
#11 0x000000000041a3a6 in main_loop (argc=<value optimized out>,
argv=<value optimized out>, envp=<value optimized out>)
at /build/home/tlv/akivity/qemu-kvm/vl.c:1369
#12 main (argc=<value optimized out>, argv=<value optimized out>,
envp=<value optimized out>) at /build/home/tlv/akivity/qemu-kvm/vl.c:3257
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2011-04-17 15:53 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-16 9:29 [Qemu-devel] [PATCH 00/26] q35 chipset support for native pci express support Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 01/26] pci: replace the magic, 256, for the maximum of slot Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 02/26] pci: add opaque argument to pci_map_irq_fn Isaku Yamahata
2011-03-17 5:36 ` [Qemu-devel] " Michael S. Tsirkin
2011-03-16 9:29 ` [Qemu-devel] [PATCH 03/26] pci: introduce pci_swizzle_map_irq_fn() for standardized interrupt pin swizzle Isaku Yamahata
2011-03-17 14:43 ` [Qemu-devel] " Michael S. Tsirkin
2011-03-17 15:29 ` Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 04/26] pci: add accessor function to get irq levels Isaku Yamahata
2011-03-17 5:29 ` [Qemu-devel] " Michael S. Tsirkin
2011-03-17 6:05 ` Isaku Yamahata
2011-03-17 8:19 ` Michael S. Tsirkin
2011-03-16 9:29 ` [Qemu-devel] [PATCH 05/26] piix_pci: eliminate PIIX3State::pci_irq_levels Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 06/26] pci_bridge: add helper function to convert PCIBridge into PCIDevice Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 07/26] pci/p2pbr: generic pci p2p bridge Isaku Yamahata
2011-03-16 21:34 ` [Qemu-devel] " Michael S. Tsirkin
2011-03-17 2:08 ` Isaku Yamahata
2011-03-17 5:17 ` Michael S. Tsirkin
2011-03-17 5:26 ` Isaku Yamahata
2011-03-17 5:31 ` Michael S. Tsirkin
2011-03-16 9:29 ` [Qemu-devel] [PATCH 08/26] apb_pci: simplify apb_pci.c by using pci_p2pbr Isaku Yamahata
2011-03-19 8:14 ` [Qemu-devel] " Blue Swirl
2011-03-16 9:29 ` [Qemu-devel] [PATCH 09/26] dec_pci: simplify dec_pci.c " Isaku Yamahata
2011-03-19 8:13 ` [Qemu-devel] " Blue Swirl
2011-03-16 9:29 ` [Qemu-devel] [PATCH 10/26] ide/ahci/ich: use qdev.reset Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 11/26] ahci: add ide device initialization helper Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 12/26] usb/uhci: generalize initialization Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 13/26] usb/uhci: add ich9 usb uhci id's device Isaku Yamahata
2011-03-19 8:15 ` Blue Swirl
2011-03-16 9:29 ` [Qemu-devel] [PATCH 14/26] ide: consolidate drive_get(IF_IDE) Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 15/26] smbus_eeprom: consolidate smbus eeprom creation Isaku Yamahata
2011-04-01 20:36 ` Aurelien Jarno
2011-03-16 9:29 ` [Qemu-devel] [PATCH 16/26] pc, pc_piix: split out allocating isa irqs Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 17/26] pc, pc_piix: split out pc nic initialization Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 18/26] ioapic: move ioapic_init() from pc_piix.c to pc.c Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 19/26] pc/piix_pci: factor out smram/pam logic Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 20/26] pc, i440fx: simply i440fx initialization Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 21/26] acpi, acpi_piix: factor out PM_TMR logic Isaku Yamahata
2011-03-19 8:18 ` Blue Swirl
2011-03-16 9:29 ` [Qemu-devel] [PATCH 22/26] acpi, acpi_piix: factor out PM1a EVT logic Isaku Yamahata
2011-03-19 8:21 ` Blue Swirl
2011-03-16 9:29 ` [Qemu-devel] [PATCH 23/26] acpi, acpi_piix: factor out PM1_CNT logic Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 24/26] acpi, acpi_piix: factor out GPE logic Isaku Yamahata
2011-04-17 13:17 ` Avi Kivity
2011-04-17 13:50 ` Isaku Yamahata
2011-04-17 15:53 ` Avi Kivity [this message]
2011-04-18 7:47 ` Isaku Yamahata
2011-04-18 8:22 ` Avi Kivity
2011-04-18 13:45 ` Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 25/26] pci_ids: add intel 82801BA pci-to-pci bridge id and PCI_CLASS_SERIAL_SMBUS Isaku Yamahata
2011-03-16 9:29 ` [Qemu-devel] [PATCH 26/26] pc q35 based chipset emulator Isaku Yamahata
2011-03-16 10:12 ` [Qemu-devel] ACPI table loading [was: q35 chipset support for native pci express support] Michael Tokarev
2011-03-16 12:10 ` Isaku Yamahata
2011-03-16 13:47 ` [Qemu-devel] RFC: ACPI table loading Michael Tokarev
2011-03-17 3:35 ` Isaku Yamahata
2011-04-19 8:28 ` [Qemu-devel] [PATCH 00/26] q35 chipset support for native pci express support Hu Tao
2011-04-19 8:51 ` Isaku Yamahata
2011-04-19 8:58 ` Hu Tao
2011-04-20 22:46 ` Isaku Yamahata
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=4DAB0CE8.8090204@redhat.com \
--to=avi@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=yamahata@valinux.co.jp \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.