Hi,
This v3 contains new versions of pnv-phb4 exclusive patches from
version 2. Patches 1-10 are already accepted.
I changed how patch 9 (v2 patch 17) works by doing everything possible
in extra patches/cleanups beforehand, and then using patch 9 to flip the
switch in a single step. This means that handling the default initialization
of pnv-phb4s is done at the same time we enable user creatable pnv-phb4s.
There's also a change in how XSCOM initializion is being handled. We're not
using a flag to do a partial XSCOM initialization during phb4_realize() anymore.
Intead, we moved XSCOM initialization code, as less intrusive as we could, to
phb4_realize().
This time I also took the precaution of testing the default case
(i.e. running without -nodefaults) in every patch. v2 was breaking
this default run between some patches.
changes from v2:
- former patch 16: removed
- patch 10 (v2 18): unchanged
- patches 4,5,7,8: new
- patch 9 (former 17):
* added g_assert() if stack == NULL
* added a comment explaining why we shouldn't assert on user error
with wrong chip-id/index values
- minor changes across the patches due to the design changes
- v2 link: https://lists.gnu.org/archive/html/qemu-devel/2022-01/msg00671.html
Daniel Henrique Barboza (10):
pnv_phb4.c: introduce pnv_phb4_set_stack_phb_props()
pnv_phb4_pec.c: move pnv_pec_phb_offset() to pnv_phb4.c
pnv_phb4_pec: use pnv_phb4_pec_get_phb_id() in pnv_pec_dt_xscom()
pnv_phb4_pec.c: remove stack 'phb-id' alias
pnv_phb4_pec.c: move phb4 properties setup to pec_realize()
ppc/pnv: turn 'phb' into a pointer in struct PnvPhb4PecStack
ppc/pnv: move PHB4 related XSCOM init to phb4_realize()
pnv_phb4.c: check stack->phb not NULL in phb4_update_regions()
ppc/pnv: Introduce user creatable pnv-phb4 devices
pnv_phb4.c: change TYPE_PNV_PHB4_ROOT_BUS name