[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Allow QEMUMachine to override reset sequencing
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH] Allow QEMUMachine to override reset sequencing |
Date: |
Thu, 09 Aug 2012 17:47:28 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120713 Thunderbird/14.0 |
Am 07.08.2012 08:41, schrieb David Gibson:
> qemu_system_reset() function always performs the same basic actions on
> all machines. This includes running all the reset handler hooks,
> however the order in which these will run is not always easily predictable.
>
> This patch splits the core of qemu_system_reset() - the invocation of
> the reset handlers - out into a new qemu_devices_reset() function.
> qemu_system_reset() will usually call qemu_devices_reset(), but that
> can be now overriden by a new reset method in the QEMUMachine
> structure.
>
> Individual machines can use this reset method, if necessary, to
> perform any extra, machine specific initializations which have to
> occur before or after the bulk of the reset handlers. It's expected
> that the method will call qemu_devices_reset() at some point, but if
> the machine has really strange ordering requirements between devices
> resets it could even override that with it's own reset sequence (with
> great care, obviously).
>
> For a specific example of when this might be needed: a number of
> machines (but not PC) load images specified with -kernel or -initrd
> directly into the machine RAM before booting the guest. This mostly
> works at the moment, but to make this actually safe requires that this
> load occurs after peripheral devices are reset - otherwise they could
> have active DMAs in progress which would clobber the in memory images.
> Some machines (notably pseries) also have other entry conditions which
> need to be set up as the last thing before executing in guest space -
> some of this could be considered "emulated firmware" in the sense that
> the actions of the firmware are emulated directly by qemu rather than
> by executing a firmware image within the guest. When the platform's
> firmware to OS interface is sufficiently well specified, this saves
> time both in implementing the "firmware" and executing it.
>
> Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Andreas Färber <address@hidden>
I'll put together a follow-up to show what I meant in the v1 thread.
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg