qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Snapshots not bound to an architecture?


From: Blue Swirl
Subject: Re: [Qemu-devel] Snapshots not bound to an architecture?
Date: Wed, 8 Oct 2008 22:06:22 +0300

On 10/7/08, Anthony Liguori <address@hidden> wrote:
> Paul Brook wrote:
>
> > On Tuesday 07 October 2008, Anthony Liguori wrote:
> >
> >
> > > Blue Swirl wrote:
> > >
> > >
> > > > Hi,
> > > >
> > > > While testing the savevm/loadvm functions, I noticed that it's
> > > > possible to attempt to load a snapshot made for entirely different
> > > > architecture. There are a lot of warnings, of course.
> > > >
> > > > Could we prevent this somehow? Or is there a use case for this, for
> > > > example loading a snapshot made on i386 to an x86_64 emulator?
> > > >
> > > >
> > > I think we should introduce a machine section for save/restore that
> > > included that information.  It should also be versioned in such a way
> > > that it could be incremented whenever a new piece of hardware is added
> > > to the default machine type.
> > >
> > >
> >
> > Using a single version number to determine the "base" machine is IMHO a
> bad idea.
> >
>
>  I should have said, that I expected this to be an intermediate step.
>
>
> >  The base peripherals should be identified (and mismatches detected) that
> same way as any other peripherals.
> >
> >
>
>  Yes.  This is particularly important in the context of hot plug because the
> bus/dev/fn of the plugged device may be different than if the device were
> just added directly.
>
>
> > The simplest way to avoid loading the wrong type of machine is to give the
> cpus different names (e.g. cpu_i386/cpu_amd64) instead of just calling them
> "cpu".
> >
> >
>
>  Yes, that works too, but it breaks backwards compatibility in a way that's
> hard to reconcile.  Bumping the version of "cpu" and including a machine
> type identifier would also work and would be easier to do in a backwards
> compatible way.

There could be a compatibility check in the loadvm code just for "cpu"
and "cpu_common". The check would be removed when no target wants to
handle those versions anymore.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]