]> Git Repo - qemu.git/commit - hw/ppc/trace-events
spapr: Consolidate DRC state variables
authorDavid Gibson <[email protected]>
Tue, 20 Jun 2017 13:57:48 +0000 (21:57 +0800)
committerDavid Gibson <[email protected]>
Mon, 17 Jul 2017 05:07:05 +0000 (15:07 +1000)
commit9d4c0f4f0a71e74fd7e04d73620268484d693adf
treee90c8b8d7f9b83f892f864ebb4505262e01ea7b0
parentf1c52354e5bdab6983d13a4c174759c585e834b3
spapr: Consolidate DRC state variables

Each DRC has three fields describing its state: isolation_state,
allocation_state and configured.  At first this seems like a reasonable
representation, since its based directly on the PAPR defined
isolation-state and allocation-state indicators.  However:
  * Only a few combinations of the two fields' values are permitted
  * allocation_state isn't used at all for physical DRCs
  * The indicators are write only so they don't really have a well
    defined current value independent of each other

This replaces these variables with a single state variable, whose names
and numbers are based on the diagram in LoPAPR section 13.4.  Along with
this we add code to check the current state on various operations and make
sure the requested transition is permitted.

Strictly speaking, this makes guest visible changes to behaviour (since we
probably allowed some transitions we shouldn't have before).  However, a
hypothetical guest broken by that wasn't PAPR compliant, and probably
wouldn't have worked under PowerVM.

Signed-off-by: David Gibson <[email protected]>
Reviewed-by: Daniel Barboza <[email protected]>
Tested-by: Daniel Barboza <[email protected]>
hw/ppc/spapr_drc.c
hw/ppc/trace-events
include/hw/ppc/spapr_drc.h
This page took 0.025439 seconds and 4 git commands to generate.