qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 891510: docs: rSTify ppc-spapr-hotplug.txt.


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 891510: docs: rSTify ppc-spapr-hotplug.txt.
Date: Tue, 18 Jan 2022 14:27:20 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 8915106c6950e43f0cf0dd5d3092450f22ce5418
      
https://github.com/qemu/qemu/commit/8915106c6950e43f0cf0dd5d3092450f22ce5418
  Author: Leonardo Garcia <lagarcia@br.ibm.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M docs/specs/ppc-spapr-hotplug.txt

  Log Message:
  -----------
  docs: rSTify ppc-spapr-hotplug.txt.

While working on this file, also removed and unused reference in the end of the 
file. The reference in the text was removed by commit 9f992cca93d (spapr: 
update spapr hotplug documentation), but the link in the end of the document 
was not removed then.

Signed-off-by: Leonardo Garcia <lagarcia@br.ibm.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: 
<50ed30232e0e6eafb580c17adec3fba17b873014.1641995058.git.lagarcia@br.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 55ff468f7816ff40e4058153127c9d19ffd36261
      
https://github.com/qemu/qemu/commit/55ff468f7816ff40e4058153127c9d19ffd36261
  Author: Leonardo Garcia <lagarcia@br.ibm.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    A docs/specs/ppc-spapr-hotplug.rst
    R docs/specs/ppc-spapr-hotplug.txt

  Log Message:
  -----------
  docs: Rename ppc-spapr-hotplug.txt to ppc-spapr-hotplug.rst.

Signed-off-by: Leonardo Garcia <lagarcia@br.ibm.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: 
<1f5860217273f272fddadc68b5d205b4090f6b04.1641995058.git.lagarcia@br.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 22beb38b78b80e17d70b4562625557cafaedda11
      
https://github.com/qemu/qemu/commit/22beb38b78b80e17d70b4562625557cafaedda11
  Author: Leonardo Garcia <lagarcia@br.ibm.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M docs/system/ppc/pseries.rst

  Log Message:
  -----------
  Link new ppc-spapr-hotplug.rst file to pseries.rst.

Signed-off-by: Leonardo Garcia <lagarcia@br.ibm.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: 
<e54aad58e3cfbd96647430d33cdb59fd87d199b0.1641995058.git.lagarcia@br.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 2084b44d7afa2e604c52a31ee89f46a01835131b
      
https://github.com/qemu/qemu/commit/2084b44d7afa2e604c52a31ee89f46a01835131b
  Author: Leonardo Garcia <lagarcia@br.ibm.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M docs/specs/ppc-spapr-uv-hcalls.txt

  Log Message:
  -----------
  rSTify ppc-spapr-uv-hcalls.txt.

Signed-off-by: Leonardo Garcia <lagarcia@br.ibm.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: 
<243a714d3861f7539d29b02a899ffc376757d668.1642446876.git.lagarcia@br.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: dedc5d79dae59562b2311301d27ecbf2234acf8a
      
https://github.com/qemu/qemu/commit/dedc5d79dae59562b2311301d27ecbf2234acf8a
  Author: Leonardo Garcia <lagarcia@br.ibm.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    A docs/specs/ppc-spapr-uv-hcalls.rst
    R docs/specs/ppc-spapr-uv-hcalls.txt

  Log Message:
  -----------
  Rename ppc-spapr-uv-hcalls.txt to ppc-spapr-uv-hcalls.rst.

Signed-off-by: Leonardo Garcia <lagarcia@br.ibm.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: 
<ea1554e3a02e093eaa64d1260faf01d525c9ecdc.1642446876.git.lagarcia@br.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 8e12c012a79320041d49ea6162e944b2f7306b71
      
https://github.com/qemu/qemu/commit/8e12c012a79320041d49ea6162e944b2f7306b71
  Author: Leonardo Garcia <lagarcia@br.ibm.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M docs/system/ppc/pseries.rst

  Log Message:
  -----------
  Link new ppc-spapr-uv-hcalls.rst to pseries.rst.

Signed-off-by: Leonardo Garcia <lagarcia@br.ibm.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: 
<a24d2c260442e44aa99d4c18b1717f2f4a73529a.1642446876.git.lagarcia@br.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 8f91aca7ff0044b77f04c745ab1572f1e40e2b2f
      
https://github.com/qemu/qemu/commit/8f91aca7ff0044b77f04c745ab1572f1e40e2b2f
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M target/ppc/machine.c

  Log Message:
  -----------
  target/ppc: Remove last user of .load_state_old

This breaks migration compatibility from (very) old versions of
QEMU. This should not be a problem for the pseries machine for which
migration is only supported on recent QEMUs ( > 2.x). There is no
clear status on what is supported or not for the other machines. Let's
move forward and remove the .load_state_old handler.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Message-Id: <20220118104150.1899661-2-clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 328c95fc7d005380e970383a79e30bb4d4acddd2
      
https://github.com/qemu/qemu/commit/328c95fc7d005380e970383a79e30bb4d4acddd2
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M target/ppc/cpu-models.c
    M target/ppc/cpu.h
    M target/ppc/helper.h
    M target/ppc/machine.c
    M target/ppc/misc_helper.c
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Finish removal of 401/403 CPUs

Commit c8f49e6b938e ("target/ppc: remove 401/403 CPUs") left a few
things behind.

Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Message-Id: <20220117091541.1615807-1-clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220118104150.1899661-3-clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: fe072a9914cc26c0f0a70dbbe0c27a61ff0170bc
      
https://github.com/qemu/qemu/commit/fe072a9914cc26c0f0a70dbbe0c27a61ff0170bc
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M target/ppc/cpu-models.c

  Log Message:
  -----------
  target/ppc: Fix 7448 support

The 7448 CPU is an evolution of the PowerPC 7447A and the last of the
G4 family. Change its family to reflect correctly its features. This
fixes Linux boot.

Cc: Fabiano Rosas <farosas@linux.ibm.com>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220117092555.1616512-1-clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 390a1299973a2f124fccd91c9110f094f1bee29d
      
https://github.com/qemu/qemu/commit/390a1299973a2f124fccd91c9110f094f1bee29d
  Author: Fabiano Rosas <farosas@linux.ibm.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    A tests/avocado/ppc_74xx.py

  Log Message:
  -----------
  tests/avocado: ppc: Add smoke tests for MPC7400 and MPC7450 families

These tests ensure that our emulation for these cpus is not completely
broken and we can at least run OpenBIOS on them.

$ make check-avocado AVOCADO_TESTS=../tests/avocado/ppc_74xx.py

Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com>
Reviewed-by: Willian Rampazzo <willianr@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220117144757.782441-1-farosas@linux.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 5d4ec103410f18490b5d61703af9c586bfca8b6c
      
https://github.com/qemu/qemu/commit/5d4ec103410f18490b5d61703af9c586bfca8b6c
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c

  Log Message:
  -----------
  ppc/pnv: use PHB4 obj in pnv_pec_stk_pci_xscom_ops

The current relationship between PnvPhb4PecStack and PnvPHB4 objects is
overly complex. Recent work done in pnv_phb4.c and pnv_phb4_pec.c shows
that the stack obj role in the overall design is more of a placeholder for
its 'phb' object, having no atributes that stand on its own. This became
clearer after pnv-phb4 user creatable devices were implemented.

What remains now are a lot of stack->phb and phb->stack pointers
throughout .read and .write callbacks of MemoryRegionOps that are being
initialized in phb4_realize() time. stk_realize() is a no-op if the
machine is being run with -nodefaults.

The first step of trying to decouple the stack and phb relationship is
to move the MemoryRegionOps that belongs to PnvPhb4PecStack to PhbPHB4.
Unfortunately this can't be done  without some preliminary steps to
change the usage of 'stack' and replace it with 'phb' in these
read/write callbacks.

This patch starts this process by using a PnvPHB4 opaque in
pnv_pec_stk_pci_xscom_ops instead of PnvPhb4PecStack.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220113192952.911188-2-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: df462784104b6aa39badcc327dd1ce41769b0011
      
https://github.com/qemu/qemu/commit/df462784104b6aa39badcc327dd1ce41769b0011
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c
    M include/hw/pci-host/pnv_phb4.h

  Log Message:
  -----------
  ppc/pnv: move PCI registers to PnvPHB4

Previous patch changed pnv_pec_stk_pci_xscom_read() and
pnv_pec_stk_pci_xscom_write() to use a PnvPHB4 opaque, making it easier
to move both pci_regs[] and the pci_regs_mr MemoryRegion to the PnvHB4
object.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220113192952.911188-3-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: e0d2379fa7cd46e94401dcc5aa1cf525db89d176
      
https://github.com/qemu/qemu/commit/e0d2379fa7cd46e94401dcc5aa1cf525db89d176
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c
    M include/hw/pci-host/pnv_phb4.h

  Log Message:
  -----------
  ppc/pnv: move phbbar to PnvPHB4

This MemoryRegion is simple enough to be moved in a single step.

A 'stack->phb' pointer had to be introduced in pnv_pec_stk_update_map()
because this function isn't ready to be fully converted to use a PnvPHB4
pointer instead. This will be dealt with in the following patches.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220113192952.911188-4-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: db16c02ea7e399613ea74c32b02fb2737d6937e7
      
https://github.com/qemu/qemu/commit/db16c02ea7e399613ea74c32b02fb2737d6937e7
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c
    M include/hw/pci-host/pnv_phb4.h

  Log Message:
  -----------
  ppc/pnv: move intbar to PnvPHB4

This MemoryRegion can also be moved in a single step.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220113192952.911188-5-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 7edb9514bff1552309a51cdea4f3f2afc47fe8c0
      
https://github.com/qemu/qemu/commit/7edb9514bff1552309a51cdea4f3f2afc47fe8c0
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c

  Log Message:
  -----------
  ppc/pnv: change pnv_phb4_update_regions() to use PnvPHB4

The function does not rely on stack for anything it does anymore. This
is also one less instance of 'stack->phb' that we need to worry about.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220113192952.911188-6-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 1293d7352150c3f186ffe09d2024df3969df61c3
      
https://github.com/qemu/qemu/commit/1293d7352150c3f186ffe09d2024df3969df61c3
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c
    M include/hw/pci-host/pnv_phb4.h

  Log Message:
  -----------
  ppc/pnv: move mmbar0/mmbar1 and friends to PnvPHB4

These 2 MemoryRegions, together with mmio(0|1)_base and mmio(0|1)_size
variables, are used together in the same functions. We're better of
moving them all in a single step.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220113192952.911188-7-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 98f08333431ef453d1dbfc91d2ebe9bab8cb6d4f
      
https://github.com/qemu/qemu/commit/98f08333431ef453d1dbfc91d2ebe9bab8cb6d4f
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c
    M include/hw/pci-host/pnv_phb4.h

  Log Message:
  -----------
  ppc/pnv: move nest_regs[] to PnvPHB4

stack->nest_regs[] is used in several XSCOM functions and it's one of
the main culprits of having to deal with stack->phb pointers around the
code.

Sure, we're having to add 2 extra stack->phb pointers to ease
nest_regs[] migration to PnvPHB4. They'll be dealt with shortly.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220113192952.911188-8-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: e19e998ce29c31eaf635ebada3133fc7db4e8a93
      
https://github.com/qemu/qemu/commit/e19e998ce29c31eaf635ebada3133fc7db4e8a93
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c

  Log Message:
  -----------
  ppc/pnv: change pnv_pec_stk_update_map() to use PnvPHB4

stack->nest_regs_mr wasn't migrated to PnvPHB4 together with phb->nest_regs[] in
the previous patch. We were unable to cleanly convert its write MemoryRegionOps,
pnv_pec_stk_nest_xscom_write(), to use PnvPHB4 instead of PnvPhb4PecStack due to
pnv_pec_stk_update_map() using a stack. Thing is, we're now able to convert
pnv_pec_stk_update_map() because of what the did in previous patch.

The need for this intermediate step is a good example of the interconnected
relationship between stack and phb that we aim to cleanup.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220113192952.911188-9-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 867683d86e3c88b07034d891937a3535ace5ff38
      
https://github.com/qemu/qemu/commit/867683d86e3c88b07034d891937a3535ace5ff38
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c
    M include/hw/pci-host/pnv_phb4.h

  Log Message:
  -----------
  ppc/pnv: move nest_regs_mr to PnvPHB4

We're now able to cleanly move nest_regs_mr to the PnvPHB4 device.

One thing of notice here is the need to use a phb->stack->pec pointer
because pnv_pec_stk_nest_xscom_write requires a PEC object. Another
thing that can be noticed in the use of 'stack->stack_no' that still
remains throughout the XSCOM code.

After moving all MemoryRegions to the PnvPHB4 object, this illustrates
what is the remaining role of the stack: provide a PEC pointer and the
'stack_no' information. If we can provide these in the PnvPHB4 object
instead (spoiler: we can, and we will), the PnvPhb4PecStack device will
be deprecated and can be removed.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220113192952.911188-10-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 293a1d27e34810dfa70193b480d0ac265801f1f3
      
https://github.com/qemu/qemu/commit/293a1d27e34810dfa70193b480d0ac265801f1f3
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c
    M include/hw/pci-host/pnv_phb4.h

  Log Message:
  -----------
  ppc/pnv: move phb_regs_mr to PnvPHB4

After recent changes, this MemoryRegion can be migrated to PnvPHB4
without too much trouble.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220113192952.911188-11-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: d2704eb3fd5093224fb14ecbfdc916d42d42416b
      
https://github.com/qemu/qemu/commit/d2704eb3fd5093224fb14ecbfdc916d42d42416b
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c
    M hw/pci-host/pnv_phb4_pec.c
    M include/hw/pci-host/pnv_phb4.h

  Log Message:
  -----------
  ppc/pnv: introduce PnvPHB4 'pec' property

This property will track the owner PEC of this PHB. For now it's
redundant since we can retrieve the PEC via phb->stack->pec but it
will not be redundant when we get rid of the stack device.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220114180719.52117-2-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 6f506c90c3e1814a4a7df5be8d08782c06226820
      
https://github.com/qemu/qemu/commit/6f506c90c3e1814a4a7df5be8d08782c06226820
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c

  Log Message:
  -----------
  ppc/pnv: reduce stack->stack_no usage

'stack->stack_no' represents the order that a stack appears in its PEC.
Its primary use is in XSCOM address space calculation in
pnv_phb4_xscom_realize() when calculating the memory region offset.

This attribute is redundant with phb->phb_id, which is calculated via
pnv_phb4_pec_get_phb_id() using stack->stack_no information. It'll also
be awkward to assign it when dealing with PECs and PHBs only in a future
patch.

A new pnv_phb4_get_phb_stack_no() helper is introduced to eliminate most
of the stack->stack_no uses we have. The only use left after this patch
is during pnv_pec_stk_default_phb_realize() when calculating phb_id,
which will also handled in the next patches.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220114180719.52117-3-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 7e67e0a9f00072f31c5279f711441ddfa96ee0e2
      
https://github.com/qemu/qemu/commit/7e67e0a9f00072f31c5279f711441ddfa96ee0e2
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c
    M hw/pci-host/pnv_phb4_pec.c
    M include/hw/pci-host/pnv_phb4.h

  Log Message:
  -----------
  ppc/pnv: remove stack pointer from PnvPHB4

This pointer was being used for two reasons: pnv_phb4_update_regions()
was using it to access the PHB and phb4_realize() was using it as a way
to determine if the PHB was user created.

We can determine if the PHB is user created via phb->pec, introduced in
the previous patch, and pnv_phb4_update_regions() is no longer using
stack->phb.

Remove the pointer from the PnvPHB4 device.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220114180719.52117-4-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: a479f0dcc0e46562768b238c2d53b50401aebfcf
      
https://github.com/qemu/qemu/commit/a479f0dcc0e46562768b238c2d53b50401aebfcf
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4_pec.c

  Log Message:
  -----------
  ppc/pnv: move default_phb_realize() to pec_realize()

Move the current pnv_pec_stk_default_phb_realize() call to
pec_realize(), renaming the function to pnv_pec_default_phb_realize(),
and set the PHB attributes using the PEC object directly.

This will be important to allow for PECs devices to handle PHB4s
directly later on.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220114180719.52117-5-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 5c9ecb2e44790dc6b8ee799433130dc5eedde19b
      
https://github.com/qemu/qemu/commit/5c9ecb2e44790dc6b8ee799433130dc5eedde19b
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4_pec.c
    M include/hw/pci-host/pnv_phb4.h

  Log Message:
  -----------
  ppc/pnv: remove PnvPhb4PecStack::stack_no

pnv_pec_default_phb_realize() stopped using it after the previous patch and
no one else is using it.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220114180719.52117-6-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 3f4c369ea63e846f1dd3a83229b9300350b44025
      
https://github.com/qemu/qemu/commit/3f4c369ea63e846f1dd3a83229b9300350b44025
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c
    M hw/pci-host/pnv_phb4_pec.c
    M include/hw/pci-host/pnv_phb4.h

  Log Message:
  -----------
  ppc/pnv: make PECs create and realize PHB4s

This patch changes the design of the PEC device to create and realize PHB4s
instead of PecStacks. After all the recent changes, PHB4s now contain all
the information needed for their proper functioning, not relying on PecStack
in any capacity.

All changes are being made in a single patch to avoid renaming parts of
the PecState and leaving the code in a strange way. E.g. rename
PecClass->num_stacks to num_phbs, which would then read a
pnv_pec_num_stacks[] array. To avoid mixing the old and new design more
than necessary it's clearer to do these changes in a single step.

The name changes made are:

- in PnvPhb4PecState:
  * rename 'num_stacks' to 'num_phbs'
  * remove the pec->stacks[] array. Current code relies on the
pec->stacks[] obj acting as a simple container, without ever accessing
pec->stacks[] for any other purpose. Instead of converting this into a
pec->phbs[] array, remove it

- in PnvPhb4PecClass, rename *num_stacks to *num_phbs;

- pnv_pec_num_stacks[] is renamed to pnv_pec_num_phbs[].

The logical changes:

- pnv_pec_default_phb_realize():
  * init and set the properties of the PnvPHB4 qdev
  * do not use stack->phb anymore;

- pnv_pec_realize():
  * use the new default_phb_realize() to init/realize each PHB if
running with defaults;

- pnv_pec_instance_init(): removed since we're creating the PHBs during
pec_realize();

- pnv_phb4_get_stack():
  * renamed to pnv_phb4_get_pec() and returns a PnvPhb4PecState*;

- pnv_phb4_realize(): use 'phb->pec' instead of 'stack'.

This design change shouldn't caused any behavioral change in the runtime
of the machine.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220114180719.52117-7-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 33fa43e0538d34b9fd3bcf63e150c14c68f74a8d
      
https://github.com/qemu/qemu/commit/33fa43e0538d34b9fd3bcf63e150c14c68f74a8d
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4_pec.c
    M include/hw/pci-host/pnv_phb4.h

  Log Message:
  -----------
  ppc/pnv: remove PnvPhb4PecStack object

All the complexity that was scattered between PnvPhb4PecStack and
PnvPHB4 are now centered in the PnvPHB4 device. PnvPhb4PecStack does not
serve any purpose in the current code base.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220114180719.52117-8-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: b4cda949b7adba4101ad313c34f9a2866d95e83f
      
https://github.com/qemu/qemu/commit/b4cda949b7adba4101ad313c34f9a2866d95e83f
  Author: Daniel Henrique Barboza <danielhb413@gmail.com>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c

  Log Message:
  -----------
  ppc/pnv: rename pnv_pec_stk_update_map()

This function does not use 'stack' anymore. Rename it to
pnv_pec_phb_update_map().

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220114180719.52117-9-danielhb413@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 45d22dcf2d409b1a0d89f172ade65ee1f5519db1
      
https://github.com/qemu/qemu/commit/45d22dcf2d409b1a0d89f172ade65ee1f5519db1
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c
    M hw/pci-host/pnv_phb4_pec.c

  Log Message:
  -----------
  ppc/pnv: Move root port allocation under pnv_pec_default_phb_realize()

The root port device is currently created and attached to the PHB
early in pnv_phb4_realize(). Do it under pnv_pec_default_phb_realize()
after the PHB is fully realized. It's cleaner and avoids an extra
test on defaults_enabled().

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220117122753.1655504-2-clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 32a07887be0e4c51ae33e3efaf3368e916ca9af7
      
https://github.com/qemu/qemu/commit/32a07887be0e4c51ae33e3efaf3368e916ca9af7
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4_pec.c
    M include/hw/pci-host/pnv_phb4.h

  Log Message:
  -----------
  ppc/pnv: Add a 'rp_model' class attribute for the PHB4 PEC

PHB5 will introduce its own root port model. Prepare ground for it.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220117122753.1655504-3-clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: ba49190107ee9803fb2f336b15283b457384b178
      
https://github.com/qemu/qemu/commit/ba49190107ee9803fb2f336b15283b457384b178
  Author: Cédric Le Goater <clg@kaod.org>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    M hw/pci-host/pnv_phb4.c
    M hw/pci-host/pnv_phb4_pec.c

  Log Message:
  -----------
  ppc/pnv: Remove PHB4 version property

Grab the PHB version from the PEC class directly when needed.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220117122753.1655504-4-clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>


  Commit: 0dabdd6b3a7ead1183d6f26eaded7d0c332e4cc7
      
https://github.com/qemu/qemu/commit/0dabdd6b3a7ead1183d6f26eaded7d0c332e4cc7
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2022-01-18 (Tue, 18 Jan 2022)

  Changed paths:
    A docs/specs/ppc-spapr-hotplug.rst
    R docs/specs/ppc-spapr-hotplug.txt
    A docs/specs/ppc-spapr-uv-hcalls.rst
    R docs/specs/ppc-spapr-uv-hcalls.txt
    M docs/system/ppc/pseries.rst
    M hw/pci-host/pnv_phb4.c
    M hw/pci-host/pnv_phb4_pec.c
    M include/hw/pci-host/pnv_phb4.h
    M target/ppc/cpu-models.c
    M target/ppc/cpu.h
    M target/ppc/helper.h
    M target/ppc/machine.c
    M target/ppc/misc_helper.c
    M target/ppc/translate.c
    A tests/avocado/ppc_74xx.py

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/legoater/tags/pull-ppc-20220118' into 
staging

ppc 7.0 queue:

* More documentation updates (Leonardo)
* Fixes for the 7448 CPU (Fabiano and Cedric)
* Final removal of 403 CPUs and the .load_state_old handler (Cedric)
* More cleanups of PHB4 models (Daniel and Cedric)

# gpg: Signature made Tue 18 Jan 2022 11:59:16 GMT
# gpg:                using RSA key A0F66548F04895EBFE6B0B6051A343C7CFFBECA1
# gpg: Good signature from "Cédric Le Goater <clg@kaod.org>" [undefined]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: A0F6 6548 F048 95EB FE6B  0B60 51A3 43C7 CFFB ECA1

* remotes/legoater/tags/pull-ppc-20220118: (31 commits)
  ppc/pnv: Remove PHB4 version property
  ppc/pnv: Add a 'rp_model' class attribute for the PHB4 PEC
  ppc/pnv: Move root port allocation under pnv_pec_default_phb_realize()
  ppc/pnv: rename pnv_pec_stk_update_map()
  ppc/pnv: remove PnvPhb4PecStack object
  ppc/pnv: make PECs create and realize PHB4s
  ppc/pnv: remove PnvPhb4PecStack::stack_no
  ppc/pnv: move default_phb_realize() to pec_realize()
  ppc/pnv: remove stack pointer from PnvPHB4
  ppc/pnv: reduce stack->stack_no usage
  ppc/pnv: introduce PnvPHB4 'pec' property
  ppc/pnv: move phb_regs_mr to PnvPHB4
  ppc/pnv: move nest_regs_mr to PnvPHB4
  ppc/pnv: change pnv_pec_stk_update_map() to use PnvPHB4
  ppc/pnv: move nest_regs[] to PnvPHB4
  ppc/pnv: move mmbar0/mmbar1 and friends to PnvPHB4
  ppc/pnv: change pnv_phb4_update_regions() to use PnvPHB4
  ppc/pnv: move intbar to PnvPHB4
  ppc/pnv: move phbbar to PnvPHB4
  ppc/pnv: move PCI registers to PnvPHB4
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/8b8462071519...0dabdd6b3a7e



reply via email to

[Prev in Thread] Current Thread [Next in Thread]