[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [PATCH 02/13] pseries: Fix and cleanup CPU i
From: |
Andreas Färber |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [PATCH 02/13] pseries: Fix and cleanup CPU initialization and reset |
Date: |
Thu, 13 Sep 2012 16:10:15 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120825 Thunderbird/15.0 |
Am 13.09.2012 04:57, schrieb David Gibson:
> The current pseries machine init function iterates over the CPUs at several
> points, doing various bits of initialization. This is messy; these can
> and should be merged into a single iteration doing all the necessary per
> cpu initialization. Worse, some of these initializations were setting up
> state which should be set on every reset, not just at machine init time.
> A few of the initializations simply weren't necessary at all.
>
> This patch, therefore, moves those things that need to be to the
> per-cpu reset handler, and combines the remainder into two loops over
> the cpus (which also creates them). The second loop is for setting up
> hash table information, and will be removed in a subsequent patch also
> making other fixes to the hash table setup.
>
> This exposes a bug in our start-cpu RTAS routine (called by the guest to
> start up CPUs other than CPU0) under kvm. Previously, this function did
> not make a call to ensure that it's changes to the new cpu's state were
> pushed into KVM in-kernel state. We sort-of got away with this because
> some of the initializations had already placed the secondary CPUs into the
> right starting state for the sorts of Linux guests we've been running.
>
> Nonetheless the start-cpu RTAS call's behaviour was not correct and could
> easily have been broken by guest changes. This patch also fixes it.
>
> Signed-off-by: David Gibson <address@hidden>
Thanks for changing the comment,
Reviewed-by: Andreas Färber <address@hidden>
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
- [Qemu-ppc] [0/13] pseries patch queue, David Gibson, 2012/09/12
- [Qemu-ppc] [PATCH 09/13] pseries: Remove C bitfields from xics code, David Gibson, 2012/09/12
- [Qemu-ppc] [PATCH 02/13] pseries: Fix and cleanup CPU initialization and reset, David Gibson, 2012/09/12
- Re: [Qemu-ppc] [Qemu-devel] [PATCH 02/13] pseries: Fix and cleanup CPU initialization and reset,
Andreas Färber <=
- [Qemu-ppc] [PATCH 10/13] pseries: Remove XICS irq type enum type, David Gibson, 2012/09/12
- [Qemu-ppc] [PATCH 07/13] pseries: Fix XICS reset, David Gibson, 2012/09/12
- [Qemu-ppc] [PATCH 03/13] pseries: Use new method to correct reset sequence, David Gibson, 2012/09/12
- [Qemu-ppc] [PATCH 06/13] pseries: Reset emulated PCI TCE tables on system reset, David Gibson, 2012/09/12
- [Qemu-ppc] [PATCH 05/13] pseries: Clear TCE and signal state when resetting PAPR VIO devices, David Gibson, 2012/09/12
- [Qemu-ppc] [PATCH 11/13] pseries: Remove never used flags field from spapr vio devices, David Gibson, 2012/09/12
- [Qemu-ppc] [PATCH 08/13] pseries: Small cleanup to H_CEDE implementation, David Gibson, 2012/09/12
- [Qemu-ppc] [PATCH 01/13] ppc: Make kvm_arch_put_registers() put *all* the registers, David Gibson, 2012/09/12
- [Qemu-ppc] [PATCH 12/13] pseries: Rework implementation of TCE bypass, David Gibson, 2012/09/12