diff options
| author | David Gibson | 2018-04-05 08:27:18 +0200 |
|---|---|---|
| committer | David Gibson | 2018-05-04 07:00:37 +0200 |
| commit | 47a9b5515475d91cb70791fe55182cf2fead135d (patch) | |
| tree | a4e5128dff8bc22f8257abc7c673edc6f2453781 /fsdev | |
| parent | spapr: Move PAPR mode cpu setup fully to spapr code (diff) | |
| download | qemu-47a9b5515475d91cb70791fe55182cf2fead135d.tar.gz qemu-47a9b5515475d91cb70791fe55182cf2fead135d.tar.xz qemu-47a9b5515475d91cb70791fe55182cf2fead135d.zip | |
spapr: Clean up handling of LPCR power-saving exit bits
To prevent spurious wakeups on cpus that are supposed to be disabled, we
need to clear the LPCR bits which control certain wakeup events.
spapr_cpu_reset() has separate cases here for boot and non-boot (initially
inactive) cpus. rtas_start_cpu() then turns the LPCR bits on when the
non-boot cpus are activated.
But explicit checks against first_cpu are not how we usually do things:
instead spapr_cpu_reset() generally sets things up for non-boot (inactive)
cpus, then spapr_machine_reset() and/or rtas_start_cpu() override as
necessary.
So, do that instead. Because the LPCR activation is identical for boot
cpus and non-boot cpus just activated with rtas_start_cpu() we can put the
code common in spapr_cpu_set_entry_state().
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Tested-by: Cédric Le Goater <clg@kaod.org>
Diffstat (limited to 'fsdev')
0 files changed, 0 insertions, 0 deletions
