From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Huaicheng Li <lhcwhu@gmail.com>
Cc: jsnow@redhat.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Save IDEState data to files when VM shutdown
Date: Wed, 9 Dec 2015 09:20:09 +0000 [thread overview]
Message-ID: <20151209092008.GB2712@work-vm> (raw)
In-Reply-To: <B40E175A-FEE8-4BA3-AA7D-4D2AC03B8283@gmail.com>
* Huaicheng Li (lhcwhu@gmail.com) wrote:
> Hi all,
>
> Please correct me if I’m wrong.
>
> I made some changes to IDE emulation (add some extra structures to “struct IDEState") and want to save these info to files when VM shutdowns. So I can reload these info from files next time when VM starts. According to my understanding, one IDEState structure is corresponding to one disk for VM and all available drives are probed/initialised by ide_init2() in hw/ide.c (I used qemu v0.11) during VM startup. It seemed that IDEState structure are saved to QEMUFile structure via pci_ide_save(), but I can only trace up to register_savevm(), where pci_ide_save() is registered as a callback. I can’t find where exactly this function starts execution or being called. My questions are:
Version 0.11 is *ancient* - please start with something newer; pci_ide_save was removed 6 years ago.
> (1). Does QEMUFile structure represent a running VM instance, through which I can access the IDE drive (struct IDEState) pointers ?
>
> (2). When does qemu execute pci_ide_save()?
QEMUFile is part of the migration code; it forms a stream of data containing
all of the device and RAM State during migration. See savevm.c for what drives
this (in migration/savevm.c in modern qemu).
Extracting the state of one device from the stream isn't that easy.
> (3). How does qemu handle VM shutdown? It seems ACPI event is sent to VM so guest OS will shutdown in the way like real OS running on real hardware. But how and where does qemu exactly handle this? I think I need to add my codes here.
I don't know the detail of that; I suggest following
the code from qemu_system_powerdown.
Why are you trying to save the state during shutdown?
Dave
>
> Any hints, suggestions would be appreciated. Thanks.
>
> Huaicheng Li
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2015-12-09 9:20 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-09 6:24 [Qemu-devel] Save IDEState data to files when VM shutdown Huaicheng Li
2015-12-09 9:20 ` Dr. David Alan Gilbert [this message]
2015-12-09 10:08 ` Huaicheng Li
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=20151209092008.GB2712@work-vm \
--to=dgilbert@redhat.com \
--cc=jsnow@redhat.com \
--cc=lhcwhu@gmail.com \
--cc=qemu-devel@nongnu.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).