> Why are you trying to save the state during shutdown?

The structure I added into IDEState keeps being updated when VM is up. So I 
think it’s a safe way to do this during shutdown. When the VM is started again, 
it can continue from the status saved during last shutdown. 

Thanks for your help. I will look into the code first.


> On Dec 9, 2015, at 3:20 AM, Dr. David Alan Gilbert <dgilb...@redhat.com> 
> wrote:
> 
> * Huaicheng Li (lhc...@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 / dgilb...@redhat.com / Manchester, UK


Reply via email to