:p
atchew
Login
The following changes since commit 93fac696d241dccb04ebb9d23da55fc1e9d8ee36: Open 7.2 development tree (2022-08-30 09:40:41 -0700) are available in the Git repository at: https://gitlab.com/danielhb/qemu.git tags/pull-ppc-20220831 for you to fetch changes up to 2d9c27ac5c035823315f68c227ca1cc6313e9842: ppc4xx: Fix code style problems reported by checkpatch (2022-08-31 14:08:06 -0300) ---------------------------------------------------------------- ppc patch queue for 2022-08-31: In the first 7.2 queue we have changes in the powernv pnv-phb handling, the start of the QOMification of the ppc405 model, the removal of the taihu machine, a new SLOF image and others. ---------------------------------------------------------------- Alexey Kardashevskiy (1): pseries: Update SLOF firmware image BALATON Zoltan (9): ppc4xx: Move PLB model to ppc4xx_devs.c ppc4xx: Rename ppc405-plb to ppc4xx-plb ppc4xx: Move EBC model to ppc4xx_devs.c ppc4xx: Rename ppc405-ebc to ppc4xx-ebc hw/intc/ppc-uic: Convert ppc-uic to a PPC4xx DCR device ppc405: Move machine specific code to ppc405_boards.c hw/ppc/sam3460ex: Remove PPC405 dependency from sam460ex hw/ppc/Kconfig: Move imply before select ppc4xx: Fix code style problems reported by checkpatch Cédric Le Goater (22): ppc/ppc405: Remove taihu machine ppc/ppc405: Introduce a PPC405 generic machine ppc/ppc405: Move devices under the ref405ep machine ppc/ppc405: Move SRAM under the ref405ep machine ppc/ppc405: Introduce a PPC405 SoC ppc/ppc405: Start QOMification of the SoC ppc/ppc405: QOM'ify CPU ppc/ppc4xx: Introduce a DCR device model ppc/ppc405: QOM'ify CPC ppc/ppc405: QOM'ify GPT ppc/ppc405: QOM'ify OCM ppc/ppc405: QOM'ify GPIO ppc/ppc405: QOM'ify DMA ppc/ppc405: QOM'ify EBC ppc/ppc405: QOM'ify OPBA ppc/ppc405: QOM'ify POB ppc/ppc405: QOM'ify PLB ppc/ppc405: QOM'ify MAL ppc/ppc405: Use an embedded PPCUIC model in SoC state ppc/ppc405: Use an explicit I2C object ppc/ppc405: QOM'ify FPGA ppc/ppc4xx: Fix sdram trace events Daniel Henrique Barboza (24): ppc/pnv: add PHB3 bus init helper ppc/pnv: add PnvPHB base/proxy device ppc/pnv: turn PnvPHB3 into a PnvPHB backend ppc/pnv: add PHB4 bus init helper ppc/pnv: turn PnvPHB4 into a PnvPHB backend ppc/pnv: add pnv-phb-root-port device ppc/pnv: remove pnv-phb3-root-port ppc/pnv: remove pnv-phb4-root-port ppc/pnv: remove root port name from pnv_phb_attach_root_port() ppc/pnv: remove pecc->rp_model ppc/pnv: remove PnvPHB4.version ppc/pnv: move attach_root_port helper to pnv-phb.c ppc/pnv: add phb-id/chip-id PnvPHB3RootBus properties ppc/pnv: add phb-id/chip-id PnvPHB4RootBus properties ppc/pnv: set root port chassis and slot using Bus properties ppc/pnv: add helpers for pnv-phb user devices ppc/pnv: turn chip8->phbs[] into a PnvPHB* array ppc/pnv: enable user created pnv-phb for powernv8 ppc/pnv: add PHB4 helpers for user created pnv-phb ppc/pnv: enable user created pnv-phb for powernv9 ppc/pnv: change pnv_phb4_get_pec() to also retrieve chip10->pecs ppc/pnv: user creatable pnv-phb for powernv10 ppc/pnv: consolidate pnv_parent_*_fixup() helpers ppc/pnv: fix QOM parenting of user creatable root ports Lucas Mateus Castro (alqotel) (2): fpu: Add rebias bool, value and operation target/ppc: Bugfix FP when OE/UE are set Nicholas Piggin (2): target/ppc: Fix host PVR matching for KVM ppc/pnv: Add initial P9/10 SBE model MAINTAINERS | 2 +- docs/about/deprecated.rst | 9 - docs/about/removed-features.rst | 6 + docs/system/ppc/embedded.rst | 1 - docs/system/ppc/pseries.rst | 2 +- fpu/softfloat-parts.c.inc | 21 +- fpu/softfloat.c | 2 + hw/intc/ppc-uic.c | 26 +- hw/pci-host/meson.build | 3 +- hw/pci-host/pnv_phb.c | 337 ++++++++++++ hw/pci-host/pnv_phb.h | 55 ++ hw/pci-host/pnv_phb3.c | 152 +++-- hw/pci-host/pnv_phb4.c | 191 +++---- hw/pci-host/pnv_phb4_pec.c | 11 +- hw/ppc/Kconfig | 3 +- hw/ppc/meson.build | 1 + hw/ppc/pnv.c | 188 +++++-- hw/ppc/pnv_sbe.c | 414 ++++++++++++++ hw/ppc/pnv_xscom.c | 3 + hw/ppc/ppc405.h | 200 +++++-- hw/ppc/ppc405_boards.c | 552 +++++++++---------- hw/ppc/ppc405_uc.c | 1156 ++++++++++++++------------------------- hw/ppc/ppc440_bamboo.c | 34 +- hw/ppc/ppc440_uc.c | 3 +- hw/ppc/ppc4xx_devs.c | 554 ++++++++++++++----- hw/ppc/ppc4xx_pci.c | 31 +- hw/ppc/sam460ex.c | 38 +- hw/ppc/trace-events | 14 +- hw/ppc/virtex_ml507.c | 7 +- include/fpu/softfloat-types.h | 4 + include/hw/intc/ppc-uic.h | 6 +- include/hw/pci-host/pnv_phb3.h | 19 +- include/hw/pci-host/pnv_phb4.h | 22 +- include/hw/ppc/pnv.h | 13 +- include/hw/ppc/pnv_sbe.h | 55 ++ include/hw/ppc/pnv_xscom.h | 12 + include/hw/ppc/ppc4xx.h | 76 ++- pc-bios/README | 2 +- pc-bios/slof.bin | Bin 992384 -> 995176 bytes roms/SLOF | 2 +- target/ppc/cpu-qom.h | 6 +- target/ppc/cpu.c | 2 + target/ppc/cpu_init.c | 91 ++- target/ppc/fpu_helper.c | 2 - target/ppc/machine.c | 2 +- 45 files changed, 2736 insertions(+), 1594 deletions(-) create mode 100644 hw/pci-host/pnv_phb.c create mode 100644 hw/pci-host/pnv_phb.h create mode 100644 hw/ppc/pnv_sbe.c create mode 100644 include/hw/ppc/pnv_sbe.h
From: Alexey Kardashevskiy <aik@ozlabs.ru> The only change is that now SLOF can also boot big endian zImage but kernel-addr=0 is still required. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- docs/system/ppc/pseries.rst | 2 +- pc-bios/README | 2 +- pc-bios/slof.bin | Bin 992384 -> 995176 bytes roms/SLOF | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/system/ppc/pseries.rst b/docs/system/ppc/pseries.rst index XXXXXXX..XXXXXXX 100644 --- a/docs/system/ppc/pseries.rst +++ b/docs/system/ppc/pseries.rst @@ -XXX,XX +XXX,XX @@ Booting via ``-kernel`` supports the following: +-------------------+-------------------+------------------+ | vmlinux LE | ✓ | ✓ | +-------------------+-------------------+------------------+ -| zImage.pseries BE | x | ✓¹ | +| zImage.pseries BE | ✓¹ | ✓¹ | +-------------------+-------------------+------------------+ | zImage.pseries LE | ✓ | ✓ | +-------------------+-------------------+------------------+ diff --git a/pc-bios/README b/pc-bios/README index XXXXXXX..XXXXXXX 100644 --- a/pc-bios/README +++ b/pc-bios/README @@ -XXX,XX +XXX,XX @@ - SLOF (Slimline Open Firmware) is a free IEEE 1275 Open Firmware implementation for certain IBM POWER hardware. The sources are at https://github.com/aik/SLOF, and the image currently in qemu is - built from git tag qemu-slof-20220110. + built from git tag qemu-slof-20220719. - VOF (Virtual Open Firmware) is a minimalistic firmware to work with -machine pseries,x-vof=on. When enabled, the firmware acts as a slim shim and diff --git a/pc-bios/slof.bin b/pc-bios/slof.bin index XXXXXXX..XXXXXXX 100644 GIT binary patch literal 995176 zcmeEv4SZDPneTfh1DQn7(T+6=$_WWF69x<);tUDNBz!nY&<+Z%t#+LdqD1)!3f&Vq zhnalXCf0U?YwwLKY9bJWwOiQIdu{7SP)mVzchPJ2hpW{fT4sp5n{L~?lLT_^|9Q_j zlbK{D1Z~&*+syoaC+D2^<N1D`_jx~N!WjRY)NZU<zZ*CEhU&`o)ekVXsq)^Ms`(2R z@`}rD*l=&nwz-SfEv}lsc-^9Pi}G*UTD@s|zR@e;U7VSI^;I_;Rr8Gp+^ehP6{`M; zDgOMALYjvI5z?$WFhRfDAKX@XZ#9VUvSRkZk6!7~%W*4~hoArZKgrf*opOe$Q@#Rs z3+`W9))``gU(QJDbTJdVHE0$;zZ6P5$zUYG-=pIXelhq>I{#^35dS8f|FkcN|1_O{ z^B2T_n$ExZ3*z6b^FQg&&VMq$_^&EY?0=JV{wGgR{wM4Fr%zD+({=tW6O@08&VR-P z<v&B`KXZcepQ-bI$pq#95}p4k6O{icI{#BADF0J+{x6-N{9mf`f7t}(|1zC_>jdTB zs`G#O1m*v7o&PH)DF0XJ{C{bJ^8Y2Bf7=A*-=_0_<pkybN}c~NPf-59tn+`>1m*uK zo&T%}%72#5|J4(e|EqQWubH6yU!(IsZG!SYP3M351m%Ca&i}O&l>cjW{;!*${9mW@ zKVyROKSSqVoS^)RI{(=dl>cm<|Ctk%|Cu`fITMus9G(B%3Ce%2&i||l%Kt2#|LZ3x z|JUpM&z_+C&(`_3Pf-5tI{%Id%D+SBKW~EapQrObXM*xSN9W%;LHT#;{Lh`B{Lj_- zpEp7IpQrPG!+(4J|EtcKrtqXBkdi=30x1ckB#@FoN&+bfq$H4%KuQ8B38W;DlE4=y z0XZ;DQv9sb9c*WHk2W4r?ythTuznR2oGw4h^fI;r_o=uq)!%Q#{dT<1#eEg-vvB_k z?$_eJ689^;%(T_zFPkpcq;=x^+u71RhmWA{4p)#dS347yGdA<qAQMOahQQ*5H}anl z2(1fRLOG0uN|+~9$-JR@<_mSOJ3@z<KXi(12n(z>oXw<g2@8fRS#!9awT3%bTlg?* z51(RPX9afPY&LuGYzgZ=Tgi@|t!F3BcCeFY53`=Lr&y?0V12#WEYe#du-;0+(pxWB zdpm@z-ot{}drGi}4+}2kU(z~p_bBi2yI1+A--#i1Lmz!FJtVOFP&RYXchhA@T4$li z%#rM&jtJ<DfZhn`jey<==#7Bhe$d+wdiz0dKj`fTz5SrKAN2Nv-T}}%0D1>N?*Ql> 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%0DRDbzyrH-JPS|N;>u(J@j_;$QV4N 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�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 Z>-)kZKk}-~W?f+=UN3O>?|$><{|Cii_S*me literal 992384 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	gja5ikA6`A5R8 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%0DWs^7iKo)<Pnc?}f6TpIpbPIc{WSE@KR&iY6 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 VS`nG7hfOWkPyOHj=Rg0S{|l2ze^&qi diff --git a/roms/SLOF b/roms/SLOF index XXXXXXX..XXXXXXX 160000 --- a/roms/SLOF +++ b/roms/SLOF @@ -1 +1 @@ -Subproject commit 5b4c5acdcd552a4e1796aeca6bb700f6cbb0282d +Subproject commit 6b6c16b4b40763507cf1f518096f3c3883c5cf2d -- 2.37.2
From: Nicholas Piggin <npiggin@gmail.com> ppc_cpu_compare_class_pvr_mask() should match the best CPU class in the family, because it is used by the KVM subsystem to find the host CPU class. Since commit 03ae4133ab8 ("target-ppc: Add pvr_match() callback"), it matches any class in the family (the first one in the comparison list). Since commit f30c843ced5 ("ppc/pnv: Introduce PowerNV machines with fixed CPU models"), pnv has relied on pnv_match having these new semantics to check machine compatibility with a CPU family. Resolve this by adding a parameter to the pvr_match function to select the best or any match, and restore the old behaviour for the KVM case. Prior to this fix, e.g., a POWER9 DD2.3 KVM host matches to the power9_v1.0 class (because that happens to be the first POWER9 family CPU compared). After the patch, it matches the power9_v2.0 class. This approach requires pnv_match contain knowledge of the CPU classes implemented in the same family, which feels ugly. But pushing the 'best' match down to the class would still require they know about one another which is not obviously much better. For now this gets things working. Fixes: 03ae4133ab8 ("target-ppc: Add pvr_match() callback") Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Message-Id: <20220731013358.170187-1-npiggin@gmail.com> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/pnv.c | 2 +- target/ppc/cpu-qom.h | 6 ++- target/ppc/cpu_init.c | 91 +++++++++++++++++++++++++++++++++---------- target/ppc/machine.c | 2 +- 4 files changed, 77 insertions(+), 24 deletions(-) diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -XXX,XX +XXX,XX @@ static bool pnv_match_cpu(const char *default_type, const char *cpu_type) PowerPCCPUClass *ppc = POWERPC_CPU_CLASS(object_class_by_name(cpu_type)); - return ppc_default->pvr_match(ppc_default, ppc->pvr); + return ppc_default->pvr_match(ppc_default, ppc->pvr, false); } static void pnv_ipmi_bt_init(ISABus *bus, IPMIBmc *bmc, uint32_t irq) diff --git a/target/ppc/cpu-qom.h b/target/ppc/cpu-qom.h index XXXXXXX..XXXXXXX 100644 --- a/target/ppc/cpu-qom.h +++ b/target/ppc/cpu-qom.h @@ -XXX,XX +XXX,XX @@ struct PowerPCCPUClass { void (*parent_parse_features)(const char *type, char *str, Error **errp); uint32_t pvr; - bool (*pvr_match)(struct PowerPCCPUClass *pcc, uint32_t pvr); + /* + * If @best is false, match if pcc is in the family of pvr + * Else match only if pcc is the best match for pvr in this family. + */ + bool (*pvr_match)(struct PowerPCCPUClass *pcc, uint32_t pvr, bool best); uint64_t pcr_mask; /* Available bits in PCR register */ uint64_t pcr_supported; /* Bits for supported PowerISA versions */ uint32_t svr; diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c index XXXXXXX..XXXXXXX 100644 --- a/target/ppc/cpu_init.c +++ b/target/ppc/cpu_init.c @@ -XXX,XX +XXX,XX @@ static void init_proc_POWER7(CPUPPCState *env) ppcPOWER7_irq_init(env_archcpu(env)); } -static bool ppc_pvr_match_power7(PowerPCCPUClass *pcc, uint32_t pvr) +static bool ppc_pvr_match_power7(PowerPCCPUClass *pcc, uint32_t pvr, bool best) { - if ((pvr & CPU_POWERPC_POWER_SERVER_MASK) == CPU_POWERPC_POWER7P_BASE) { - return true; + uint32_t base = pvr & CPU_POWERPC_POWER_SERVER_MASK; + uint32_t pcc_base = pcc->pvr & CPU_POWERPC_POWER_SERVER_MASK; + + if (!best) { + if (base == CPU_POWERPC_POWER7_BASE) { + return true; + } + if (base == CPU_POWERPC_POWER7P_BASE) { + return true; + } } - if ((pvr & CPU_POWERPC_POWER_SERVER_MASK) == CPU_POWERPC_POWER7_BASE) { - return true; + + if (base != pcc_base) { + return false; } - return false; + + return true; } static bool cpu_has_work_POWER7(CPUState *cs) @@ -XXX,XX +XXX,XX @@ static void init_proc_POWER8(CPUPPCState *env) ppcPOWER7_irq_init(env_archcpu(env)); } -static bool ppc_pvr_match_power8(PowerPCCPUClass *pcc, uint32_t pvr) +static bool ppc_pvr_match_power8(PowerPCCPUClass *pcc, uint32_t pvr, bool best) { - if ((pvr & CPU_POWERPC_POWER_SERVER_MASK) == CPU_POWERPC_POWER8NVL_BASE) { - return true; - } - if ((pvr & CPU_POWERPC_POWER_SERVER_MASK) == CPU_POWERPC_POWER8E_BASE) { - return true; + uint32_t base = pvr & CPU_POWERPC_POWER_SERVER_MASK; + uint32_t pcc_base = pcc->pvr & CPU_POWERPC_POWER_SERVER_MASK; + + if (!best) { + if (base == CPU_POWERPC_POWER8_BASE) { + return true; + } + if (base == CPU_POWERPC_POWER8E_BASE) { + return true; + } + if (base == CPU_POWERPC_POWER8NVL_BASE) { + return true; + } } - if ((pvr & CPU_POWERPC_POWER_SERVER_MASK) == CPU_POWERPC_POWER8_BASE) { - return true; + if (base != pcc_base) { + return false; } - return false; + + return true; } static bool cpu_has_work_POWER8(CPUState *cs) @@ -XXX,XX +XXX,XX @@ static void init_proc_POWER9(CPUPPCState *env) ppcPOWER9_irq_init(env_archcpu(env)); } -static bool ppc_pvr_match_power9(PowerPCCPUClass *pcc, uint32_t pvr) +static bool ppc_pvr_match_power9(PowerPCCPUClass *pcc, uint32_t pvr, bool best) { - if ((pvr & CPU_POWERPC_POWER_SERVER_MASK) == CPU_POWERPC_POWER9_BASE) { + uint32_t base = pvr & CPU_POWERPC_POWER_SERVER_MASK; + uint32_t pcc_base = pcc->pvr & CPU_POWERPC_POWER_SERVER_MASK; + + if (!best) { + if (base == CPU_POWERPC_POWER9_BASE) { + return true; + } + } + + if (base != pcc_base) { + return false; + } + + if ((pvr & 0x0f00) == (pcc->pvr & 0x0f00)) { + /* Major DD version matches to power9_v1.0 and power9_v2.0 */ return true; } + return false; } @@ -XXX,XX +XXX,XX @@ static void init_proc_POWER10(CPUPPCState *env) ppcPOWER9_irq_init(env_archcpu(env)); } -static bool ppc_pvr_match_power10(PowerPCCPUClass *pcc, uint32_t pvr) +static bool ppc_pvr_match_power10(PowerPCCPUClass *pcc, uint32_t pvr, bool best) { - if ((pvr & CPU_POWERPC_POWER_SERVER_MASK) == CPU_POWERPC_POWER10_BASE) { + uint32_t base = pvr & CPU_POWERPC_POWER_SERVER_MASK; + uint32_t pcc_base = pcc->pvr & CPU_POWERPC_POWER_SERVER_MASK; + + if (!best) { + if (base == CPU_POWERPC_POWER10_BASE) { + return true; + } + } + + if (base != pcc_base) { + return false; + } + + if ((pvr & 0x0f00) == (pcc->pvr & 0x0f00)) { + /* Major DD version matches to power10_v1.0 and power10_v2.0 */ return true; } + return false; } @@ -XXX,XX +XXX,XX @@ static gint ppc_cpu_compare_class_pvr_mask(gconstpointer a, gconstpointer b) return -1; } - if (pcc->pvr_match(pcc, pvr)) { + if (pcc->pvr_match(pcc, pvr, true)) { return 0; } @@ -XXX,XX +XXX,XX @@ static void ppc_cpu_instance_finalize(Object *obj) ppc_hash64_finalize(cpu); } -static bool ppc_pvr_match_default(PowerPCCPUClass *pcc, uint32_t pvr) +static bool ppc_pvr_match_default(PowerPCCPUClass *pcc, uint32_t pvr, bool best) { return pcc->pvr == pvr; } diff --git a/target/ppc/machine.c b/target/ppc/machine.c index XXXXXXX..XXXXXXX 100644 --- a/target/ppc/machine.c +++ b/target/ppc/machine.c @@ -XXX,XX +XXX,XX @@ static bool pvr_match(PowerPCCPU *cpu, uint32_t pvr) if (pvr == pcc->pvr) { return true; } - return pcc->pvr_match(pcc, pvr); + return pcc->pvr_match(pcc, pvr, true); } static int cpu_post_load(void *opaque, int version_id) -- 2.37.2
From: Nicholas Piggin <npiggin@gmail.com> The SBE (Self Boot Engine) are on-chip microcontrollers that perform early boot steps, as well as provide some runtime facilities (e.g., timer, secure register access, MPIPL). The latter facilities are accessed mostly via a message system called SBEFIFO. This driver provides initial emulation for the SBE runtime registers and a very basic SBEFIFO implementation that provides the timer command. This covers the basic SBE behaviour expected by skiboot when booting. Reviewed-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Message-Id: <20220811093726.1442343-1-npiggin@gmail.com> [danielhb: fixed SBE_HOST_RESPONSE_MASK long line] Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/meson.build | 1 + hw/ppc/pnv.c | 25 +++ hw/ppc/pnv_sbe.c | 414 +++++++++++++++++++++++++++++++++++++ hw/ppc/pnv_xscom.c | 3 + hw/ppc/trace-events | 11 + include/hw/ppc/pnv.h | 3 + include/hw/ppc/pnv_sbe.h | 55 +++++ include/hw/ppc/pnv_xscom.h | 12 ++ 8 files changed, 524 insertions(+) create mode 100644 hw/ppc/pnv_sbe.c create mode 100644 include/hw/ppc/pnv_sbe.h diff --git a/hw/ppc/meson.build b/hw/ppc/meson.build index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/meson.build +++ b/hw/ppc/meson.build @@ -XXX,XX +XXX,XX @@ ppc_ss.add(when: 'CONFIG_POWERNV', if_true: files( 'pnv_lpc.c', 'pnv_psi.c', 'pnv_occ.c', + 'pnv_sbe.c', 'pnv_bmc.c', 'pnv_homer.c', 'pnv_pnor.c', diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -XXX,XX +XXX,XX @@ static void pnv_chip_power9_instance_init(Object *obj) object_initialize_child(obj, "occ", &chip9->occ, TYPE_PNV9_OCC); + object_initialize_child(obj, "sbe", &chip9->sbe, TYPE_PNV9_SBE); + object_initialize_child(obj, "homer", &chip9->homer, TYPE_PNV9_HOMER); /* Number of PECs is the chip default */ @@ -XXX,XX +XXX,XX @@ static void pnv_chip_power9_realize(DeviceState *dev, Error **errp) memory_region_add_subregion(get_system_memory(), PNV9_OCC_SENSOR_BASE(chip), &chip9->occ.sram_regs); + /* SBE */ + if (!qdev_realize(DEVICE(&chip9->sbe), NULL, errp)) { + return; + } + pnv_xscom_add_subregion(chip, PNV9_XSCOM_SBE_CTRL_BASE, + &chip9->sbe.xscom_ctrl_regs); + pnv_xscom_add_subregion(chip, PNV9_XSCOM_SBE_MBOX_BASE, + &chip9->sbe.xscom_mbox_regs); + qdev_connect_gpio_out(DEVICE(&chip9->sbe), 0, qdev_get_gpio_in( + DEVICE(&chip9->psi), PSIHB9_IRQ_PSU)); + /* HOMER */ object_property_set_link(OBJECT(&chip9->homer), "chip", OBJECT(chip), &error_abort); @@ -XXX,XX +XXX,XX @@ static void pnv_chip_power10_instance_init(Object *obj) object_initialize_child(obj, "psi", &chip10->psi, TYPE_PNV10_PSI); object_initialize_child(obj, "lpc", &chip10->lpc, TYPE_PNV10_LPC); object_initialize_child(obj, "occ", &chip10->occ, TYPE_PNV10_OCC); + object_initialize_child(obj, "sbe", &chip10->sbe, TYPE_PNV10_SBE); object_initialize_child(obj, "homer", &chip10->homer, TYPE_PNV10_HOMER); chip->num_pecs = pcc->num_pecs; @@ -XXX,XX +XXX,XX @@ static void pnv_chip_power10_realize(DeviceState *dev, Error **errp) PNV10_OCC_SENSOR_BASE(chip), &chip10->occ.sram_regs); + /* SBE */ + if (!qdev_realize(DEVICE(&chip10->sbe), NULL, errp)) { + return; + } + pnv_xscom_add_subregion(chip, PNV10_XSCOM_SBE_CTRL_BASE, + &chip10->sbe.xscom_ctrl_regs); + pnv_xscom_add_subregion(chip, PNV10_XSCOM_SBE_MBOX_BASE, + &chip10->sbe.xscom_mbox_regs); + qdev_connect_gpio_out(DEVICE(&chip10->sbe), 0, qdev_get_gpio_in( + DEVICE(&chip10->psi), PSIHB9_IRQ_PSU)); + /* HOMER */ object_property_set_link(OBJECT(&chip10->homer), "chip", OBJECT(chip), &error_abort); diff --git a/hw/ppc/pnv_sbe.c b/hw/ppc/pnv_sbe.c new file mode 100644 index XXXXXXX..XXXXXXX --- /dev/null +++ b/hw/ppc/pnv_sbe.c @@ -XXX,XX +XXX,XX @@ +/* + * QEMU PowerPC PowerNV Emulation of some SBE behaviour + * + * Copyright (c) 2022, IBM Corporation. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License, version 2, as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see <http://www.gnu.org/licenses/>. + */ + +#include "qemu/osdep.h" +#include "target/ppc/cpu.h" +#include "qapi/error.h" +#include "qemu/log.h" +#include "qemu/module.h" +#include "hw/irq.h" +#include "hw/qdev-properties.h" +#include "hw/ppc/pnv.h" +#include "hw/ppc/pnv_xscom.h" +#include "hw/ppc/pnv_sbe.h" +#include "trace.h" + +/* + * Most register and command definitions come from skiboot. + * + * xscom addresses are adjusted to be relative to xscom subregion bases + */ + +/* + * SBE MBOX register address + * Reg 0 - 3 : Host to send command packets to SBE + * Reg 4 - 7 : SBE to send response packets to Host + */ +#define PSU_HOST_SBE_MBOX_REG0 0x00000000 +#define PSU_HOST_SBE_MBOX_REG1 0x00000001 +#define PSU_HOST_SBE_MBOX_REG2 0x00000002 +#define PSU_HOST_SBE_MBOX_REG3 0x00000003 +#define PSU_HOST_SBE_MBOX_REG4 0x00000004 +#define PSU_HOST_SBE_MBOX_REG5 0x00000005 +#define PSU_HOST_SBE_MBOX_REG6 0x00000006 +#define PSU_HOST_SBE_MBOX_REG7 0x00000007 +#define PSU_SBE_DOORBELL_REG_RW 0x00000010 +#define PSU_SBE_DOORBELL_REG_AND 0x00000011 +#define PSU_SBE_DOORBELL_REG_OR 0x00000012 +#define PSU_HOST_DOORBELL_REG_RW 0x00000013 +#define PSU_HOST_DOORBELL_REG_AND 0x00000014 +#define PSU_HOST_DOORBELL_REG_OR 0x00000015 + +/* + * Doorbell register to trigger SBE interrupt. Set by OPAL to inform + * the SBE about a waiting message in the Host/SBE mailbox registers + */ +#define HOST_SBE_MSG_WAITING PPC_BIT(0) + +/* + * Doorbell register for host bridge interrupt. Set by the SBE to inform + * host about a response message in the Host/SBE mailbox registers + */ +#define SBE_HOST_RESPONSE_WAITING PPC_BIT(0) +#define SBE_HOST_MSG_READ PPC_BIT(1) +#define SBE_HOST_STOP15_EXIT PPC_BIT(2) +#define SBE_HOST_RESET PPC_BIT(3) +#define SBE_HOST_PASSTHROUGH PPC_BIT(4) +#define SBE_HOST_TIMER_EXPIRY PPC_BIT(14) +#define SBE_HOST_RESPONSE_MASK (PPC_BITMASK(0, 4) | \ + SBE_HOST_TIMER_EXPIRY) + +/* SBE Control Register */ +#define SBE_CONTROL_REG_RW 0x00000000 + +/* SBE interrupt s0/s1 bits */ +#define SBE_CONTROL_REG_S0 PPC_BIT(14) +#define SBE_CONTROL_REG_S1 PPC_BIT(15) + +struct sbe_msg { + uint64_t reg[4]; +}; + +static uint64_t pnv_sbe_power9_xscom_ctrl_read(void *opaque, hwaddr addr, + unsigned size) +{ + uint32_t offset = addr >> 3; + uint64_t val = 0; + + switch (offset) { + default: + qemu_log_mask(LOG_UNIMP, "SBE Unimplemented register: Ox%" + HWADDR_PRIx "\n", addr >> 3); + } + + trace_pnv_sbe_xscom_ctrl_read(addr, val); + + return val; +} + +static void pnv_sbe_power9_xscom_ctrl_write(void *opaque, hwaddr addr, + uint64_t val, unsigned size) +{ + uint32_t offset = addr >> 3; + + trace_pnv_sbe_xscom_ctrl_write(addr, val); + + switch (offset) { + default: + qemu_log_mask(LOG_UNIMP, "SBE Unimplemented register: Ox%" + HWADDR_PRIx "\n", addr >> 3); + } +} + +static const MemoryRegionOps pnv_sbe_power9_xscom_ctrl_ops = { + .read = pnv_sbe_power9_xscom_ctrl_read, + .write = pnv_sbe_power9_xscom_ctrl_write, + .valid.min_access_size = 8, + .valid.max_access_size = 8, + .impl.min_access_size = 8, + .impl.max_access_size = 8, + .endianness = DEVICE_BIG_ENDIAN, +}; + +static void pnv_sbe_set_host_doorbell(PnvSBE *sbe, uint64_t val) +{ + val &= SBE_HOST_RESPONSE_MASK; /* Is this right? What does HW do? */ + sbe->host_doorbell = val; + + trace_pnv_sbe_reg_set_host_doorbell(val); + qemu_set_irq(sbe->psi_irq, !!val); +} + +/* SBE Target Type */ +#define SBE_TARGET_TYPE_PROC 0x00 +#define SBE_TARGET_TYPE_EX 0x01 +#define SBE_TARGET_TYPE_PERV 0x02 +#define SBE_TARGET_TYPE_MCS 0x03 +#define SBE_TARGET_TYPE_EQ 0x04 +#define SBE_TARGET_TYPE_CORE 0x05 + +/* SBE MBOX command class */ +#define SBE_MCLASS_FIRST 0xD1 +#define SBE_MCLASS_CORE_STATE 0xD1 +#define SBE_MCLASS_SCOM 0xD2 +#define SBE_MCLASS_RING 0xD3 +#define SBE_MCLASS_TIMER 0xD4 +#define SBE_MCLASS_MPIPL 0xD5 +#define SBE_MCLASS_SECURITY 0xD6 +#define SBE_MCLASS_GENERIC 0xD7 +#define SBE_MCLASS_LAST 0xD7 + +/* + * Commands are provided in xxyy form where: + * - xx : command class + * - yy : command + * + * Both request and response message uses same seq ID, + * command class and command. + */ +#define SBE_CMD_CTRL_DEADMAN_LOOP 0xD101 +#define SBE_CMD_MULTI_SCOM 0xD201 +#define SBE_CMD_PUT_RING_FORM_IMAGE 0xD301 +#define SBE_CMD_CONTROL_TIMER 0xD401 +#define SBE_CMD_GET_ARCHITECTED_REG 0xD501 +#define SBE_CMD_CLR_ARCHITECTED_REG 0xD502 +#define SBE_CMD_SET_UNSEC_MEM_WINDOW 0xD601 +#define SBE_CMD_GET_SBE_FFDC 0xD701 +#define SBE_CMD_GET_CAPABILITY 0xD702 +#define SBE_CMD_READ_SBE_SEEPROM 0xD703 +#define SBE_CMD_SET_FFDC_ADDR 0xD704 +#define SBE_CMD_QUIESCE_SBE 0xD705 +#define SBE_CMD_SET_FABRIC_ID_MAP 0xD706 +#define SBE_CMD_STASH_MPIPL_CONFIG 0xD707 + +/* SBE MBOX control flags */ + +/* Generic flags */ +#define SBE_CMD_CTRL_RESP_REQ 0x0100 +#define SBE_CMD_CTRL_ACK_REQ 0x0200 + +/* Deadman loop */ +#define CTRL_DEADMAN_LOOP_START 0x0001 +#define CTRL_DEADMAN_LOOP_STOP 0x0002 + +/* Control timer */ +#define CONTROL_TIMER_START 0x0001 +#define CONTROL_TIMER_STOP 0x0002 + +/* Stash MPIPL config */ +#define SBE_STASH_KEY_SKIBOOT_BASE 0x03 + +static void sbe_timer(void *opaque) +{ + PnvSBE *sbe = opaque; + + trace_pnv_sbe_cmd_timer_expired(); + + pnv_sbe_set_host_doorbell(sbe, sbe->host_doorbell | SBE_HOST_TIMER_EXPIRY); +} + +static void do_sbe_msg(PnvSBE *sbe) +{ + struct sbe_msg msg; + uint16_t cmd, ctrl_flags, seq_id; + int i; + + memset(&msg, 0, sizeof(msg)); + + for (i = 0; i < 4; i++) { + msg.reg[i] = sbe->mbox[i]; + } + + cmd = msg.reg[0]; + seq_id = msg.reg[0] >> 16; + ctrl_flags = msg.reg[0] >> 32; + + trace_pnv_sbe_msg_recv(cmd, seq_id, ctrl_flags); + + if (ctrl_flags & SBE_CMD_CTRL_ACK_REQ) { + pnv_sbe_set_host_doorbell(sbe, sbe->host_doorbell | SBE_HOST_MSG_READ); + } + + switch (cmd) { + case SBE_CMD_CONTROL_TIMER: + if (ctrl_flags & CONTROL_TIMER_START) { + uint64_t us = msg.reg[1]; + trace_pnv_sbe_cmd_timer_start(us); + timer_mod(sbe->timer, qemu_clock_get_us(QEMU_CLOCK_VIRTUAL) + us); + } + if (ctrl_flags & CONTROL_TIMER_STOP) { + trace_pnv_sbe_cmd_timer_stop(); + timer_del(sbe->timer); + } + break; + default: + qemu_log_mask(LOG_UNIMP, "SBE Unimplemented command: 0x%x\n", cmd); + } +} + +static void pnv_sbe_set_sbe_doorbell(PnvSBE *sbe, uint64_t val) +{ + val &= HOST_SBE_MSG_WAITING; + sbe->sbe_doorbell = val; + + if (val & HOST_SBE_MSG_WAITING) { + sbe->sbe_doorbell &= ~HOST_SBE_MSG_WAITING; + do_sbe_msg(sbe); + } +} + +static uint64_t pnv_sbe_power9_xscom_mbox_read(void *opaque, hwaddr addr, + unsigned size) +{ + PnvSBE *sbe = PNV_SBE(opaque); + uint32_t offset = addr >> 3; + uint64_t val = 0; + + if (offset <= PSU_HOST_SBE_MBOX_REG7) { + uint32_t idx = offset - PSU_HOST_SBE_MBOX_REG0; + val = sbe->mbox[idx]; + } else { + switch (offset) { + case PSU_SBE_DOORBELL_REG_RW: + val = sbe->sbe_doorbell; + break; + case PSU_HOST_DOORBELL_REG_RW: + val = sbe->host_doorbell; + break; + default: + qemu_log_mask(LOG_UNIMP, "SBE Unimplemented register: Ox%" + HWADDR_PRIx "\n", addr >> 3); + } + } + + trace_pnv_sbe_xscom_mbox_read(addr, val); + + return val; +} + +static void pnv_sbe_power9_xscom_mbox_write(void *opaque, hwaddr addr, + uint64_t val, unsigned size) +{ + PnvSBE *sbe = PNV_SBE(opaque); + uint32_t offset = addr >> 3; + + trace_pnv_sbe_xscom_mbox_write(addr, val); + + if (offset <= PSU_HOST_SBE_MBOX_REG7) { + uint32_t idx = offset - PSU_HOST_SBE_MBOX_REG0; + sbe->mbox[idx] = val; + } else { + switch (offset) { + case PSU_SBE_DOORBELL_REG_RW: + pnv_sbe_set_sbe_doorbell(sbe, val); + break; + case PSU_SBE_DOORBELL_REG_AND: + pnv_sbe_set_sbe_doorbell(sbe, sbe->sbe_doorbell & val); + break; + case PSU_SBE_DOORBELL_REG_OR: + pnv_sbe_set_sbe_doorbell(sbe, sbe->sbe_doorbell | val); + break; + + case PSU_HOST_DOORBELL_REG_RW: + pnv_sbe_set_host_doorbell(sbe, val); + break; + case PSU_HOST_DOORBELL_REG_AND: + pnv_sbe_set_host_doorbell(sbe, sbe->host_doorbell & val); + break; + case PSU_HOST_DOORBELL_REG_OR: + pnv_sbe_set_host_doorbell(sbe, sbe->host_doorbell | val); + break; + + default: + qemu_log_mask(LOG_UNIMP, "SBE Unimplemented register: Ox%" + HWADDR_PRIx "\n", addr >> 3); + } + } +} + +static const MemoryRegionOps pnv_sbe_power9_xscom_mbox_ops = { + .read = pnv_sbe_power9_xscom_mbox_read, + .write = pnv_sbe_power9_xscom_mbox_write, + .valid.min_access_size = 8, + .valid.max_access_size = 8, + .impl.min_access_size = 8, + .impl.max_access_size = 8, + .endianness = DEVICE_BIG_ENDIAN, +}; + +static void pnv_sbe_power9_class_init(ObjectClass *klass, void *data) +{ + PnvSBEClass *psc = PNV_SBE_CLASS(klass); + DeviceClass *dc = DEVICE_CLASS(klass); + + dc->desc = "PowerNV SBE Controller (POWER9)"; + psc->xscom_ctrl_size = PNV9_XSCOM_SBE_CTRL_SIZE; + psc->xscom_ctrl_ops = &pnv_sbe_power9_xscom_ctrl_ops; + psc->xscom_mbox_size = PNV9_XSCOM_SBE_MBOX_SIZE; + psc->xscom_mbox_ops = &pnv_sbe_power9_xscom_mbox_ops; +} + +static const TypeInfo pnv_sbe_power9_type_info = { + .name = TYPE_PNV9_SBE, + .parent = TYPE_PNV_SBE, + .instance_size = sizeof(PnvSBE), + .class_init = pnv_sbe_power9_class_init, +}; + +static void pnv_sbe_power10_class_init(ObjectClass *klass, void *data) +{ + PnvSBEClass *psc = PNV_SBE_CLASS(klass); + DeviceClass *dc = DEVICE_CLASS(klass); + + dc->desc = "PowerNV SBE Controller (POWER10)"; + psc->xscom_ctrl_size = PNV10_XSCOM_SBE_CTRL_SIZE; + psc->xscom_ctrl_ops = &pnv_sbe_power9_xscom_ctrl_ops; + psc->xscom_mbox_size = PNV10_XSCOM_SBE_MBOX_SIZE; + psc->xscom_mbox_ops = &pnv_sbe_power9_xscom_mbox_ops; +} + +static const TypeInfo pnv_sbe_power10_type_info = { + .name = TYPE_PNV10_SBE, + .parent = TYPE_PNV9_SBE, + .class_init = pnv_sbe_power10_class_init, +}; + +static void pnv_sbe_realize(DeviceState *dev, Error **errp) +{ + PnvSBE *sbe = PNV_SBE(dev); + PnvSBEClass *psc = PNV_SBE_GET_CLASS(sbe); + + /* XScom regions for SBE registers */ + pnv_xscom_region_init(&sbe->xscom_ctrl_regs, OBJECT(dev), + psc->xscom_ctrl_ops, sbe, "xscom-sbe-ctrl", + psc->xscom_ctrl_size); + pnv_xscom_region_init(&sbe->xscom_mbox_regs, OBJECT(dev), + psc->xscom_mbox_ops, sbe, "xscom-sbe-mbox", + psc->xscom_mbox_size); + + qdev_init_gpio_out(DEVICE(dev), &sbe->psi_irq, 1); + + sbe->timer = timer_new_us(QEMU_CLOCK_VIRTUAL, sbe_timer, sbe); +} + +static void pnv_sbe_class_init(ObjectClass *klass, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(klass); + + dc->realize = pnv_sbe_realize; + dc->desc = "PowerNV SBE Controller"; + dc->user_creatable = false; +} + +static const TypeInfo pnv_sbe_type_info = { + .name = TYPE_PNV_SBE, + .parent = TYPE_DEVICE, + .instance_size = sizeof(PnvSBE), + .class_init = pnv_sbe_class_init, + .class_size = sizeof(PnvSBEClass), + .abstract = true, +}; + +static void pnv_sbe_register_types(void) +{ + type_register_static(&pnv_sbe_type_info); + type_register_static(&pnv_sbe_power9_type_info); + type_register_static(&pnv_sbe_power10_type_info); +} + +type_init(pnv_sbe_register_types); diff --git a/hw/ppc/pnv_xscom.c b/hw/ppc/pnv_xscom.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/pnv_xscom.c +++ b/hw/ppc/pnv_xscom.c @@ -XXX,XX +XXX,XX @@ int pnv_dt_xscom(PnvChip *chip, void *fdt, int root_offset, _FDT((fdt_setprop(fdt, xscom_offset, "reg", reg, sizeof(reg)))); _FDT((fdt_setprop(fdt, xscom_offset, "compatible", compat, compat_size))); _FDT((fdt_setprop(fdt, xscom_offset, "scom-controller", NULL, 0))); + if (chip->chip_id == 0) { + _FDT((fdt_setprop(fdt, xscom_offset, "primary", NULL, 0))); + } args.fdt = fdt; args.xscom_offset = xscom_offset; diff --git a/hw/ppc/trace-events b/hw/ppc/trace-events index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/trace-events +++ b/hw/ppc/trace-events @@ -XXX,XX +XXX,XX @@ vof_write(uint32_t ih, unsigned cb, const char *msg) "ih=0x%x [%u] \"%s\"" vof_avail(uint64_t start, uint64_t end, uint64_t size) "0x%"PRIx64"..0x%"PRIx64" size=0x%"PRIx64 vof_claimed(uint64_t start, uint64_t end, uint64_t size) "0x%"PRIx64"..0x%"PRIx64" size=0x%"PRIx64 +# pnv_sbe.c +pnv_sbe_xscom_ctrl_read(uint64_t addr, uint64_t val) "addr 0x%" PRIx64 " val 0x%" PRIx64 +pnv_sbe_xscom_ctrl_write(uint64_t addr, uint64_t val) "addr 0x%" PRIx64 " val 0x%" PRIx64 +pnv_sbe_xscom_mbox_read(uint64_t addr, uint64_t val) "addr 0x%" PRIx64 " val 0x%" PRIx64 +pnv_sbe_xscom_mbox_write(uint64_t addr, uint64_t val) "addr 0x%" PRIx64 " val 0x%" PRIx64 +pnv_sbe_reg_set_host_doorbell(uint64_t val) "val 0x%" PRIx64 +pnv_sbe_cmd_timer_start(uint64_t ns) "ns 0x%" PRIu64 +pnv_sbe_cmd_timer_stop(void) "" +pnv_sbe_cmd_timer_expired(void) "" +pnv_sbe_msg_recv(uint16_t cmd, uint16_t seq, uint16_t ctrl_flags) "cmd 0x%" PRIx16 " seq %"PRIu16 " ctrl_flags 0x%" PRIx16 + # ppc.c ppc_tb_adjust(uint64_t offs1, uint64_t offs2, int64_t diff, int64_t seconds) "adjusted from 0x%"PRIx64" to 0x%"PRIx64", diff %"PRId64" (%"PRId64"s)" ppc_tb_load(uint64_t tb) "tb 0x%016" PRIx64 diff --git a/include/hw/ppc/pnv.h b/include/hw/ppc/pnv.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/ppc/pnv.h +++ b/include/hw/ppc/pnv.h @@ -XXX,XX +XXX,XX @@ #include "hw/ppc/pnv_pnor.h" #include "hw/ppc/pnv_psi.h" #include "hw/ppc/pnv_occ.h" +#include "hw/ppc/pnv_sbe.h" #include "hw/ppc/pnv_homer.h" #include "hw/ppc/pnv_xive.h" #include "hw/ppc/pnv_core.h" @@ -XXX,XX +XXX,XX @@ struct Pnv9Chip { Pnv9Psi psi; PnvLpcController lpc; PnvOCC occ; + PnvSBE sbe; PnvHomer homer; uint32_t nr_quads; @@ -XXX,XX +XXX,XX @@ struct Pnv10Chip { Pnv9Psi psi; PnvLpcController lpc; PnvOCC occ; + PnvSBE sbe; PnvHomer homer; uint32_t nr_quads; diff --git a/include/hw/ppc/pnv_sbe.h b/include/hw/ppc/pnv_sbe.h new file mode 100644 index XXXXXXX..XXXXXXX --- /dev/null +++ b/include/hw/ppc/pnv_sbe.h @@ -XXX,XX +XXX,XX @@ +/* + * QEMU PowerPC PowerNV Emulation of some SBE behaviour + * + * Copyright (c) 2022, IBM Corporation. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef PPC_PNV_SBE_H +#define PPC_PNV_SBE_H + +#include "qom/object.h" + +#define TYPE_PNV_SBE "pnv-sbe" +OBJECT_DECLARE_TYPE(PnvSBE, PnvSBEClass, PNV_SBE) +#define TYPE_PNV9_SBE TYPE_PNV_SBE "-POWER9" +DECLARE_INSTANCE_CHECKER(PnvSBE, PNV9_SBE, TYPE_PNV9_SBE) +#define TYPE_PNV10_SBE TYPE_PNV_SBE "-POWER10" +DECLARE_INSTANCE_CHECKER(PnvSBE, PNV10_SBE, TYPE_PNV10_SBE) + +struct PnvSBE { + DeviceState xd; + + uint64_t mbox[8]; + uint64_t sbe_doorbell; + uint64_t host_doorbell; + + qemu_irq psi_irq; + QEMUTimer *timer; + + MemoryRegion xscom_mbox_regs; + MemoryRegion xscom_ctrl_regs; +}; + +struct PnvSBEClass { + DeviceClass parent_class; + + int xscom_ctrl_size; + int xscom_mbox_size; + const MemoryRegionOps *xscom_ctrl_ops; + const MemoryRegionOps *xscom_mbox_ops; +}; + +#endif /* PPC_PNV_SBE_H */ diff --git a/include/hw/ppc/pnv_xscom.h b/include/hw/ppc/pnv_xscom.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/ppc/pnv_xscom.h +++ b/include/hw/ppc/pnv_xscom.h @@ -XXX,XX +XXX,XX @@ struct PnvXScomInterfaceClass { #define PNV9_XSCOM_OCC_BASE PNV_XSCOM_OCC_BASE #define PNV9_XSCOM_OCC_SIZE 0x8000 +#define PNV9_XSCOM_SBE_CTRL_BASE 0x00050008 +#define PNV9_XSCOM_SBE_CTRL_SIZE 0x1 + +#define PNV9_XSCOM_SBE_MBOX_BASE 0x000D0050 +#define PNV9_XSCOM_SBE_MBOX_SIZE 0x16 + #define PNV9_XSCOM_PBA_BASE 0x5012b00 #define PNV9_XSCOM_PBA_SIZE 0x40 @@ -XXX,XX +XXX,XX @@ struct PnvXScomInterfaceClass { #define PNV10_XSCOM_OCC_BASE PNV9_XSCOM_OCC_BASE #define PNV10_XSCOM_OCC_SIZE PNV9_XSCOM_OCC_SIZE +#define PNV10_XSCOM_SBE_CTRL_BASE PNV9_XSCOM_SBE_CTRL_BASE +#define PNV10_XSCOM_SBE_CTRL_SIZE PNV9_XSCOM_SBE_CTRL_SIZE + +#define PNV10_XSCOM_SBE_MBOX_BASE PNV9_XSCOM_SBE_MBOX_BASE +#define PNV10_XSCOM_SBE_MBOX_SIZE PNV9_XSCOM_SBE_MBOX_SIZE + #define PNV10_XSCOM_PBA_BASE 0x01010CDA #define PNV10_XSCOM_PBA_SIZE 0x40 -- 2.37.2
From: "Lucas Mateus Castro (alqotel)" <lucas.araujo@eldorado.org.br> Added the possibility of recalculating a result if it overflows or underflows, if the result overflow and the rebias bool is true then the intermediate result should have 3/4 of the total range subtracted from the exponent. The same for underflow but it should be added to the exponent of the intermediate number instead. Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220805141522.412864-2-lucas.araujo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- fpu/softfloat-parts.c.inc | 21 +++++++++++++++++++-- fpu/softfloat.c | 2 ++ include/fpu/softfloat-types.h | 4 ++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/fpu/softfloat-parts.c.inc b/fpu/softfloat-parts.c.inc index XXXXXXX..XXXXXXX 100644 --- a/fpu/softfloat-parts.c.inc +++ b/fpu/softfloat-parts.c.inc @@ -XXX,XX +XXX,XX @@ static void partsN(uncanon_normal)(FloatPartsN *p, float_status *s, p->frac_lo &= ~round_mask; } } else if (unlikely(exp >= exp_max)) { - flags |= float_flag_overflow | float_flag_inexact; - if (overflow_norm) { + flags |= float_flag_overflow; + if (s->rebias_overflow) { + exp -= fmt->exp_re_bias; + } else if (overflow_norm) { + flags |= float_flag_inexact; exp = exp_max - 1; frac_allones(p); p->frac_lo &= ~round_mask; } else { + flags |= float_flag_inexact; p->cls = float_class_inf; exp = exp_max; frac_clear(p); } } frac_shr(p, frac_shift); + } else if (unlikely(s->rebias_underflow)) { + flags |= float_flag_underflow; + exp += fmt->exp_re_bias; + if (p->frac_lo & round_mask) { + flags |= float_flag_inexact; + if (frac_addi(p, p, inc)) { + frac_shr(p, 1); + p->frac_hi |= DECOMPOSED_IMPLICIT_BIT; + exp++; + } + p->frac_lo &= ~round_mask; + } + frac_shr(p, frac_shift); } else if (s->flush_to_zero) { flags |= float_flag_output_denormal; p->cls = float_class_zero; diff --git a/fpu/softfloat.c b/fpu/softfloat.c index XXXXXXX..XXXXXXX 100644 --- a/fpu/softfloat.c +++ b/fpu/softfloat.c @@ -XXX,XX +XXX,XX @@ typedef struct { typedef struct { int exp_size; int exp_bias; + int exp_re_bias; int exp_max; int frac_size; int frac_shift; @@ -XXX,XX +XXX,XX @@ typedef struct { #define FLOAT_PARAMS_(E) \ .exp_size = E, \ .exp_bias = ((1 << E) - 1) >> 1, \ + .exp_re_bias = (1 << (E - 1)) + (1 << (E - 2)), \ .exp_max = (1 << E) - 1 #define FLOAT_PARAMS(E, F) \ diff --git a/include/fpu/softfloat-types.h b/include/fpu/softfloat-types.h index XXXXXXX..XXXXXXX 100644 --- a/include/fpu/softfloat-types.h +++ b/include/fpu/softfloat-types.h @@ -XXX,XX +XXX,XX @@ typedef struct float_status { bool snan_bit_is_one; bool use_first_nan; bool no_signaling_nans; + /* should overflowed results subtract re_bias to its exponent? */ + bool rebias_overflow; + /* should underflowed results add re_bias to its exponent? */ + bool rebias_underflow; } float_status; #endif /* SOFTFLOAT_TYPES_H */ -- 2.37.2
From: "Lucas Mateus Castro (alqotel)" <lucas.araujo@eldorado.org.br> When an overflow exception occurs and OE is set the intermediate result should be adjusted (by subtracting from the exponent) to avoid rounding to inf. The same applies to an underflow exceptionion and UE (but adding to the exponent). To do this set the fp_status.rebias_overflow when OE is set and fp_status.rebias_underflow when UE is set as the FPU will recalculate in case of a overflow/underflow if the according rebias* is set. Signed-off-by: Lucas Mateus Castro (alqotel) <lucas.araujo@eldorado.org.br> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20220805141522.412864-3-lucas.araujo@eldorado.org.br> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- target/ppc/cpu.c | 2 ++ target/ppc/fpu_helper.c | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/target/ppc/cpu.c b/target/ppc/cpu.c index XXXXXXX..XXXXXXX 100644 --- a/target/ppc/cpu.c +++ b/target/ppc/cpu.c @@ -XXX,XX +XXX,XX @@ void ppc_store_fpscr(CPUPPCState *env, target_ulong val) val |= FP_FEX; } env->fpscr = val; + env->fp_status.rebias_overflow = (FP_OE & env->fpscr) ? true : false; + env->fp_status.rebias_underflow = (FP_UE & env->fpscr) ? true : false; if (tcg_enabled()) { fpscr_set_rounding_mode(env); } diff --git a/target/ppc/fpu_helper.c b/target/ppc/fpu_helper.c index XXXXXXX..XXXXXXX 100644 --- a/target/ppc/fpu_helper.c +++ b/target/ppc/fpu_helper.c @@ -XXX,XX +XXX,XX @@ static inline int float_overflow_excp(CPUPPCState *env) bool overflow_enabled = !!(env->fpscr & FP_OE); if (overflow_enabled) { - /* XXX: should adjust the result */ /* Update the floating-point enabled exception summary */ env->fpscr |= FP_FEX; /* We must update the target FPR before raising the exception */ @@ -XXX,XX +XXX,XX @@ static inline void float_underflow_excp(CPUPPCState *env) /* Update the floating-point exception summary */ env->fpscr |= FP_FX; if (env->fpscr & FP_UE) { - /* XXX: should adjust the result */ /* Update the floating-point enabled exception summary */ env->fpscr |= FP_FEX; /* We must update the target FPR before raising the exception */ -- 2.37.2
The PnvPHB3 bus init consists of initializing the pci_io and pci_mmio regions, registering it via pci_register_root_bus() and then setup the iommu. We'll want to init the bus from outside pnv_phb3.c when the bus is removed from the PnvPHB3 device and put into a new parent PnvPHB device. The new pnv_phb3_bus_init() helper will be used by the parent to init the bus when using the PHB3 backend. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220624084921.399219-2-danielhb413@gmail.com> --- hw/pci-host/pnv_phb3.c | 39 ++++++++++++++++++++-------------- include/hw/pci-host/pnv_phb3.h | 1 + 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb3.c +++ b/hw/pci-host/pnv_phb3.c @@ -XXX,XX +XXX,XX @@ static void pnv_phb3_instance_init(Object *obj) } +void pnv_phb3_bus_init(DeviceState *dev, PnvPHB3 *phb) +{ + PCIHostState *pci = PCI_HOST_BRIDGE(dev); + + /* + * PHB3 doesn't support IO space. However, qemu gets very upset if + * we don't have an IO region to anchor IO BARs onto so we just + * initialize one which we never hook up to anything + */ + memory_region_init(&phb->pci_io, OBJECT(phb), "pci-io", 0x10000); + memory_region_init(&phb->pci_mmio, OBJECT(phb), "pci-mmio", + PCI_MMIO_TOTAL_SIZE); + + pci->bus = pci_register_root_bus(dev, + dev->id ? dev->id : NULL, + pnv_phb3_set_irq, pnv_phb3_map_irq, phb, + &phb->pci_mmio, &phb->pci_io, + 0, 4, TYPE_PNV_PHB3_ROOT_BUS); + + pci_setup_iommu(pci->bus, pnv_phb3_dma_iommu, phb); +} + static void pnv_phb3_realize(DeviceState *dev, Error **errp) { PnvPHB3 *phb = PNV_PHB3(dev); @@ -XXX,XX +XXX,XX @@ static void pnv_phb3_realize(DeviceState *dev, Error **errp) memory_region_init_io(&phb->mr_regs, OBJECT(phb), &pnv_phb3_reg_ops, phb, "phb3-regs", 0x1000); - /* - * PHB3 doesn't support IO space. However, qemu gets very upset if - * we don't have an IO region to anchor IO BARs onto so we just - * initialize one which we never hook up to anything - */ - memory_region_init(&phb->pci_io, OBJECT(phb), "pci-io", 0x10000); - memory_region_init(&phb->pci_mmio, OBJECT(phb), "pci-mmio", - PCI_MMIO_TOTAL_SIZE); - - pci->bus = pci_register_root_bus(dev, - dev->id ? dev->id : NULL, - pnv_phb3_set_irq, pnv_phb3_map_irq, phb, - &phb->pci_mmio, &phb->pci_io, - 0, 4, TYPE_PNV_PHB3_ROOT_BUS); - - pci_setup_iommu(pci->bus, pnv_phb3_dma_iommu, phb); + pnv_phb3_bus_init(dev, phb); pnv_phb_attach_root_port(pci, TYPE_PNV_PHB3_ROOT_PORT, phb->phb_id, phb->chip_id); diff --git a/include/hw/pci-host/pnv_phb3.h b/include/hw/pci-host/pnv_phb3.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/pci-host/pnv_phb3.h +++ b/include/hw/pci-host/pnv_phb3.h @@ -XXX,XX +XXX,XX @@ uint64_t pnv_phb3_reg_read(void *opaque, hwaddr off, unsigned size); void pnv_phb3_reg_write(void *opaque, hwaddr off, uint64_t val, unsigned size); void pnv_phb3_update_regions(PnvPHB3 *phb); void pnv_phb3_remap_irqs(PnvPHB3 *phb); +void pnv_phb3_bus_init(DeviceState *dev, PnvPHB3 *phb); #endif /* PCI_HOST_PNV_PHB3_H */ -- 2.37.2
The PnvPHB device is going to be the base device for all other powernv PHBs. It consists of a device that has the same user API as the other PHB, namely being a PCIHostBridge and having chip-id and index properties. It also has a 'backend' pointer that will be initialized with the PHB implementation that the device is going to use. The initialization of the PHB backend is done by checking the PHB version via a 'version' attribute that can be set via a global machine property. The 'version' field will be used to make adjustments based on the running version, e.g. PHB3 uses a 'chip' reference while PHB4 uses 'pec'. To init the PnvPHB bus we'll rely on helpers for each version. The version 3 helper is already added (pnv_phb3_bus_init), the PHB4 helper will be added later on. For now let's add the basic logic of the PnvPHB object, which consists mostly of pnv_phb_realize() doing all the work of checking the phb->version set, initializing the proper backend, passing through its attributes to the chosen backend, finalizing the backend realize and adding a root port in the end. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220624084921.399219-3-danielhb413@gmail.com> --- hw/pci-host/meson.build | 3 +- hw/pci-host/pnv_phb.c | 124 ++++++++++++++++++++++++++++++++++++++++ hw/pci-host/pnv_phb.h | 39 +++++++++++++ 3 files changed, 165 insertions(+), 1 deletion(-) create mode 100644 hw/pci-host/pnv_phb.c create mode 100644 hw/pci-host/pnv_phb.h diff --git a/hw/pci-host/meson.build b/hw/pci-host/meson.build index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/meson.build +++ b/hw/pci-host/meson.build @@ -XXX,XX +XXX,XX @@ specific_ss.add(when: 'CONFIG_PCI_POWERNV', if_true: files( 'pnv_phb3_msi.c', 'pnv_phb3_pbcq.c', 'pnv_phb4.c', - 'pnv_phb4_pec.c' + 'pnv_phb4_pec.c', + 'pnv_phb.c', )) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c new file mode 100644 index XXXXXXX..XXXXXXX --- /dev/null +++ b/hw/pci-host/pnv_phb.c @@ -XXX,XX +XXX,XX @@ +/* + * QEMU PowerPC PowerNV Proxy PHB model + * + * Copyright (c) 2022, IBM Corporation. + * + * This code is licensed under the GPL version 2 or later. See the + * COPYING file in the top-level directory. + */ + +#include "qemu/osdep.h" +#include "qemu/log.h" +#include "qapi/visitor.h" +#include "qapi/error.h" +#include "hw/pci-host/pnv_phb.h" +#include "hw/pci-host/pnv_phb3.h" +#include "hw/pci-host/pnv_phb4.h" +#include "hw/ppc/pnv.h" +#include "hw/qdev-properties.h" +#include "qom/object.h" + + +static void pnv_phb_realize(DeviceState *dev, Error **errp) +{ + PnvPHB *phb = PNV_PHB(dev); + PCIHostState *pci = PCI_HOST_BRIDGE(dev); + g_autofree char *phb_typename = NULL; + g_autofree char *phb_rootport_typename = NULL; + + if (!phb->version) { + error_setg(errp, "version not specified"); + return; + } + + switch (phb->version) { + case 3: + phb_typename = g_strdup(TYPE_PNV_PHB3); + phb_rootport_typename = g_strdup(TYPE_PNV_PHB3_ROOT_PORT); + break; + case 4: + phb_typename = g_strdup(TYPE_PNV_PHB4); + phb_rootport_typename = g_strdup(TYPE_PNV_PHB4_ROOT_PORT); + break; + case 5: + phb_typename = g_strdup(TYPE_PNV_PHB5); + phb_rootport_typename = g_strdup(TYPE_PNV_PHB5_ROOT_PORT); + break; + default: + g_assert_not_reached(); + } + + phb->backend = object_new(phb_typename); + object_property_add_child(OBJECT(dev), "phb-backend", phb->backend); + + /* Passthrough child device properties to the proxy device */ + object_property_set_uint(phb->backend, "index", phb->phb_id, errp); + object_property_set_uint(phb->backend, "chip-id", phb->chip_id, errp); + object_property_set_link(phb->backend, "phb-base", OBJECT(phb), errp); + + if (phb->version == 3) { + object_property_set_link(phb->backend, "chip", + OBJECT(phb->chip), errp); + } else { + object_property_set_link(phb->backend, "pec", OBJECT(phb->pec), errp); + } + + if (!qdev_realize(DEVICE(phb->backend), NULL, errp)) { + return; + } + + if (phb->version == 3) { + pnv_phb3_bus_init(dev, PNV_PHB3(phb->backend)); + } + + pnv_phb_attach_root_port(pci, phb_rootport_typename, + phb->phb_id, phb->chip_id); +} + +static const char *pnv_phb_root_bus_path(PCIHostState *host_bridge, + PCIBus *rootbus) +{ + PnvPHB *phb = PNV_PHB(host_bridge); + + snprintf(phb->bus_path, sizeof(phb->bus_path), "00%02x:%02x", + phb->chip_id, phb->phb_id); + return phb->bus_path; +} + +static Property pnv_phb_properties[] = { + DEFINE_PROP_UINT32("index", PnvPHB, phb_id, 0), + DEFINE_PROP_UINT32("chip-id", PnvPHB, chip_id, 0), + DEFINE_PROP_UINT32("version", PnvPHB, version, 0), + + DEFINE_PROP_LINK("chip", PnvPHB, chip, TYPE_PNV_CHIP, PnvChip *), + + DEFINE_PROP_LINK("pec", PnvPHB, pec, TYPE_PNV_PHB4_PEC, + PnvPhb4PecState *), + + DEFINE_PROP_END_OF_LIST(), +}; + +static void pnv_phb_class_init(ObjectClass *klass, void *data) +{ + PCIHostBridgeClass *hc = PCI_HOST_BRIDGE_CLASS(klass); + DeviceClass *dc = DEVICE_CLASS(klass); + + hc->root_bus_path = pnv_phb_root_bus_path; + dc->realize = pnv_phb_realize; + device_class_set_props(dc, pnv_phb_properties); + set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); + dc->user_creatable = false; +} + +static void pnv_phb_register_type(void) +{ + static const TypeInfo pnv_phb_type_info = { + .name = TYPE_PNV_PHB, + .parent = TYPE_PCIE_HOST_BRIDGE, + .instance_size = sizeof(PnvPHB), + .class_init = pnv_phb_class_init, + }; + + type_register_static(&pnv_phb_type_info); +} +type_init(pnv_phb_register_type) diff --git a/hw/pci-host/pnv_phb.h b/hw/pci-host/pnv_phb.h new file mode 100644 index XXXXXXX..XXXXXXX --- /dev/null +++ b/hw/pci-host/pnv_phb.h @@ -XXX,XX +XXX,XX @@ +/* + * QEMU PowerPC PowerNV Proxy PHB model + * + * Copyright (c) 2022, IBM Corporation. + * + * This code is licensed under the GPL version 2 or later. See the + * COPYING file in the top-level directory. + */ + +#ifndef PCI_HOST_PNV_PHB_H +#define PCI_HOST_PNV_PHB_H + +#include "hw/pci/pcie_host.h" +#include "hw/pci/pcie_port.h" +#include "qom/object.h" + +typedef struct PnvChip PnvChip; +typedef struct PnvPhb4PecState PnvPhb4PecState; + +struct PnvPHB { + PCIExpressHost parent_obj; + + uint32_t chip_id; + uint32_t phb_id; + uint32_t version; + char bus_path[8]; + + PnvChip *chip; + + PnvPhb4PecState *pec; + + /* The PHB backend (PnvPHB3, PnvPHB4 ...) being used */ + Object *backend; +}; + +#define TYPE_PNV_PHB "pnv-phb" +OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB, PNV_PHB) + +#endif /* PCI_HOST_PNV_PHB_H */ -- 2.37.2
We need a handful of changes that needs to be done in a single swoop to turn PnvPHB3 into a PnvPHB backend. In the PnvPHB3, since the PnvPHB device implements PCIExpressHost and will hold the PCI bus, change PnvPHB3 parent to TYPE_DEVICE. There are a couple of instances in pnv_phb3.c that needs to access the PCI bus, so a phb_base pointer is added to allow access to the parent PnvPHB. The PnvPHB3 root port will now be connected to a PnvPHB object. In pnv.c, the powernv8 machine chip8 will now hold an array of PnvPHB objects. pnv_get_phb3_child() needs to be adapted to return the PnvPHB3 backend from the PnvPHB child. A global property is added in pnv_machine_power8_class_init() to ensure that all PnvPHBs are created with phb->version = 3. After all these changes we're still able to boot a powernv8 machine with default settings. The real gain will come with user created PnvPHB devices, coming up next. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220624084921.399219-4-danielhb413@gmail.com> --- hw/pci-host/pnv_phb3.c | 27 +++++---------------------- hw/ppc/pnv.c | 21 +++++++++++++++------ include/hw/pci-host/pnv_phb3.h | 5 ++++- include/hw/ppc/pnv.h | 3 ++- 4 files changed, 26 insertions(+), 30 deletions(-) diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb3.c +++ b/hw/pci-host/pnv_phb3.c @@ -XXX,XX +XXX,XX @@ #include "qapi/visitor.h" #include "qapi/error.h" #include "hw/pci-host/pnv_phb3_regs.h" +#include "hw/pci-host/pnv_phb.h" #include "hw/pci-host/pnv_phb3.h" #include "hw/pci/pcie_host.h" #include "hw/pci/pcie_port.h" @@ -XXX,XX +XXX,XX @@ static PCIDevice *pnv_phb3_find_cfg_dev(PnvPHB3 *phb) { - PCIHostState *pci = PCI_HOST_BRIDGE(phb); + PCIHostState *pci = PCI_HOST_BRIDGE(phb->phb_base); uint64_t addr = phb->regs[PHB_CONFIG_ADDRESS >> 3]; uint8_t bus, devfn; @@ -XXX,XX +XXX,XX @@ void pnv_phb3_reg_write(void *opaque, hwaddr off, uint64_t val, unsigned size) uint64_t pnv_phb3_reg_read(void *opaque, hwaddr off, unsigned size) { PnvPHB3 *phb = opaque; - PCIHostState *pci = PCI_HOST_BRIDGE(phb); + PCIHostState *pci = PCI_HOST_BRIDGE(phb->phb_base); uint64_t val; if ((off & 0xfffc) == PHB_CONFIG_DATA) { @@ -XXX,XX +XXX,XX @@ void pnv_phb3_bus_init(DeviceState *dev, PnvPHB3 *phb) static void pnv_phb3_realize(DeviceState *dev, Error **errp) { PnvPHB3 *phb = PNV_PHB3(dev); - PCIHostState *pci = PCI_HOST_BRIDGE(dev); PnvMachineState *pnv = PNV_MACHINE(qdev_get_machine()); int i; @@ -XXX,XX +XXX,XX @@ static void pnv_phb3_realize(DeviceState *dev, Error **errp) /* Controller Registers */ memory_region_init_io(&phb->mr_regs, OBJECT(phb), &pnv_phb3_reg_ops, phb, "phb3-regs", 0x1000); - - pnv_phb3_bus_init(dev, phb); - - pnv_phb_attach_root_port(pci, TYPE_PNV_PHB3_ROOT_PORT, - phb->phb_id, phb->chip_id); } void pnv_phb3_update_regions(PnvPHB3 *phb) @@ -XXX,XX +XXX,XX @@ void pnv_phb3_update_regions(PnvPHB3 *phb) pnv_phb3_check_all_m64s(phb); } -static const char *pnv_phb3_root_bus_path(PCIHostState *host_bridge, - PCIBus *rootbus) -{ - PnvPHB3 *phb = PNV_PHB3(host_bridge); - - snprintf(phb->bus_path, sizeof(phb->bus_path), "00%02x:%02x", - phb->chip_id, phb->phb_id); - return phb->bus_path; -} - static Property pnv_phb3_properties[] = { DEFINE_PROP_UINT32("index", PnvPHB3, phb_id, 0), DEFINE_PROP_UINT32("chip-id", PnvPHB3, chip_id, 0), DEFINE_PROP_LINK("chip", PnvPHB3, chip, TYPE_PNV_CHIP, PnvChip *), + DEFINE_PROP_LINK("phb-base", PnvPHB3, phb_base, TYPE_PNV_PHB, PnvPHB *), DEFINE_PROP_END_OF_LIST(), }; static void pnv_phb3_class_init(ObjectClass *klass, void *data) { - PCIHostBridgeClass *hc = PCI_HOST_BRIDGE_CLASS(klass); DeviceClass *dc = DEVICE_CLASS(klass); - hc->root_bus_path = pnv_phb3_root_bus_path; dc->realize = pnv_phb3_realize; device_class_set_props(dc, pnv_phb3_properties); - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->user_creatable = false; } static const TypeInfo pnv_phb3_type_info = { .name = TYPE_PNV_PHB3, - .parent = TYPE_PCIE_HOST_BRIDGE, + .parent = TYPE_DEVICE, .instance_size = sizeof(PnvPHB3), .class_init = pnv_phb3_class_init, .instance_init = pnv_phb3_instance_init, diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -XXX,XX +XXX,XX @@ #include "hw/ipmi/ipmi.h" #include "target/ppc/mmu-hash64.h" #include "hw/pci/msi.h" +#include "hw/pci-host/pnv_phb.h" #include "hw/ppc/xics.h" #include "hw/qdev-properties.h" @@ -XXX,XX +XXX,XX @@ static void pnv_chip_power8_pic_print_info(PnvChip *chip, Monitor *mon) ics_pic_print_info(&chip8->psi.ics, mon); for (i = 0; i < chip8->num_phbs; i++) { - PnvPHB3 *phb3 = &chip8->phbs[i]; + PnvPHB *phb = &chip8->phbs[i]; + PnvPHB3 *phb3 = PNV_PHB3(phb->backend); pnv_phb3_msi_pic_print_info(&phb3->msis, mon); ics_pic_print_info(&phb3->lsis, mon); @@ -XXX,XX +XXX,XX @@ static void pnv_chip_power8_instance_init(Object *obj) chip8->num_phbs = pcc->num_phbs; for (i = 0; i < chip8->num_phbs; i++) { - object_initialize_child(obj, "phb[*]", &chip8->phbs[i], TYPE_PNV_PHB3); + object_initialize_child(obj, "phb[*]", &chip8->phbs[i], TYPE_PNV_PHB); } } @@ -XXX,XX +XXX,XX @@ static void pnv_chip_power8_realize(DeviceState *dev, Error **errp) memory_region_add_subregion(get_system_memory(), PNV_HOMER_BASE(chip), &chip8->homer.regs); - /* PHB3 controllers */ + /* PHB controllers */ for (i = 0; i < chip8->num_phbs; i++) { - PnvPHB3 *phb = &chip8->phbs[i]; + PnvPHB *phb = &chip8->phbs[i]; object_property_set_int(OBJECT(phb), "index", i, &error_fatal); object_property_set_int(OBJECT(phb), "chip-id", chip->chip_id, @@ -XXX,XX +XXX,XX @@ static ICSState *pnv_ics_get(XICSFabric *xi, int irq) } for (j = 0; j < chip8->num_phbs; j++) { - PnvPHB3 *phb3 = &chip8->phbs[j]; + PnvPHB *phb = &chip8->phbs[j]; + PnvPHB3 *phb3 = PNV_PHB3(phb->backend); if (ics_valid_irq(&phb3->lsis, irq)) { return &phb3->lsis; @@ -XXX,XX +XXX,XX @@ static void pnv_ics_resend(XICSFabric *xi) ics_resend(&chip8->psi.ics); for (j = 0; j < chip8->num_phbs; j++) { - PnvPHB3 *phb3 = &chip8->phbs[j]; + PnvPHB *phb = &chip8->phbs[j]; + PnvPHB3 *phb3 = PNV_PHB3(phb->backend); ics_resend(&phb3->lsis); ics_resend(ICS(&phb3->msis)); @@ -XXX,XX +XXX,XX @@ static void pnv_machine_power8_class_init(ObjectClass *oc, void *data) PnvMachineClass *pmc = PNV_MACHINE_CLASS(oc); static const char compat[] = "qemu,powernv8\0qemu,powernv\0ibm,powernv"; + static GlobalProperty phb_compat[] = { + { TYPE_PNV_PHB, "version", "3" }, + }; + mc->desc = "IBM PowerNV (Non-Virtualized) POWER8"; mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power8_v2.0"); + compat_props_add(mc->compat_props, phb_compat, G_N_ELEMENTS(phb_compat)); xic->icp_get = pnv_icp_get; xic->ics_get = pnv_ics_get; diff --git a/include/hw/pci-host/pnv_phb3.h b/include/hw/pci-host/pnv_phb3.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/pci-host/pnv_phb3.h +++ b/include/hw/pci-host/pnv_phb3.h @@ -XXX,XX +XXX,XX @@ #include "hw/pci/pcie_port.h" #include "hw/ppc/xics.h" #include "qom/object.h" +#include "hw/pci-host/pnv_phb.h" typedef struct PnvPHB3 PnvPHB3; typedef struct PnvChip PnvChip; @@ -XXX,XX +XXX,XX @@ OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB3, PNV_PHB3) #define PCI_MMIO_TOTAL_SIZE (0x1ull << 60) struct PnvPHB3 { - PCIExpressHost parent_obj; + DeviceState parent; + + PnvPHB *phb_base; uint32_t chip_id; uint32_t phb_id; diff --git a/include/hw/ppc/pnv.h b/include/hw/ppc/pnv.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/ppc/pnv.h +++ b/include/hw/ppc/pnv.h @@ -XXX,XX +XXX,XX @@ #include "hw/ppc/pnv_core.h" #include "hw/pci-host/pnv_phb3.h" #include "hw/pci-host/pnv_phb4.h" +#include "hw/pci-host/pnv_phb.h" #include "qom/object.h" #define TYPE_PNV_CHIP "pnv-chip" @@ -XXX,XX +XXX,XX @@ struct Pnv8Chip { PnvHomer homer; #define PNV8_CHIP_PHB3_MAX 4 - PnvPHB3 phbs[PNV8_CHIP_PHB3_MAX]; + PnvPHB phbs[PNV8_CHIP_PHB3_MAX]; uint32_t num_phbs; XICSFabric *xics; -- 2.37.2
Similar to what we already did for the PnvPHB3 device, let's add a helper to init the bus when using a PnvPHB4. This helper will be used by PnvPHb when PnvPHB4 turns into a backend. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220624084921.399219-5-danielhb413@gmail.com> --- hw/pci-host/pnv_phb.c | 2 ++ hw/pci-host/pnv_phb4.c | 39 ++++++++++++++++++++-------------- include/hw/pci-host/pnv_phb4.h | 1 + 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -XXX,XX +XXX,XX @@ static void pnv_phb_realize(DeviceState *dev, Error **errp) if (phb->version == 3) { pnv_phb3_bus_init(dev, PNV_PHB3(phb->backend)); + } else { + pnv_phb4_bus_init(dev, PNV_PHB4(phb->backend)); } pnv_phb_attach_root_port(pci, phb_rootport_typename, diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb4.c +++ b/hw/pci-host/pnv_phb4.c @@ -XXX,XX +XXX,XX @@ static void pnv_phb4_instance_init(Object *obj) object_initialize_child(obj, "source", &phb->xsrc, TYPE_XIVE_SOURCE); } -static void pnv_phb4_realize(DeviceState *dev, Error **errp) +void pnv_phb4_bus_init(DeviceState *dev, PnvPHB4 *phb) { - PnvPHB4 *phb = PNV_PHB4(dev); - PnvPhb4PecClass *pecc = PNV_PHB4_PEC_GET_CLASS(phb->pec); PCIHostState *pci = PCI_HOST_BRIDGE(dev); - XiveSource *xsrc = &phb->xsrc; - int nr_irqs; char name[32]; - /* Set the "big_phb" flag */ - phb->big_phb = phb->phb_id == 0 || phb->phb_id == 3; - - /* Controller Registers */ - snprintf(name, sizeof(name), "phb4-%d.%d-regs", phb->chip_id, - phb->phb_id); - memory_region_init_io(&phb->mr_regs, OBJECT(phb), &pnv_phb4_reg_ops, phb, - name, 0x2000); - /* * PHB4 doesn't support IO space. However, qemu gets very upset if * we don't have an IO region to anchor IO BARs onto so we just * initialize one which we never hook up to anything */ - snprintf(name, sizeof(name), "phb4-%d.%d-pci-io", phb->chip_id, phb->phb_id); memory_region_init(&phb->pci_io, OBJECT(phb), name, 0x10000); @@ -XXX,XX +XXX,XX @@ static void pnv_phb4_realize(DeviceState *dev, Error **errp) memory_region_init(&phb->pci_mmio, OBJECT(phb), name, PCI_MMIO_TOTAL_SIZE); - pci->bus = pci_register_root_bus(dev, dev->id, + pci->bus = pci_register_root_bus(dev, dev->id ? dev->id : NULL, pnv_phb4_set_irq, pnv_phb4_map_irq, phb, &phb->pci_mmio, &phb->pci_io, 0, 4, TYPE_PNV_PHB4_ROOT_BUS); pci_setup_iommu(pci->bus, pnv_phb4_dma_iommu, phb); pci->bus->flags |= PCI_BUS_EXTENDED_CONFIG_SPACE; +} + +static void pnv_phb4_realize(DeviceState *dev, Error **errp) +{ + PnvPHB4 *phb = PNV_PHB4(dev); + PnvPhb4PecClass *pecc = PNV_PHB4_PEC_GET_CLASS(phb->pec); + PCIHostState *pci = PCI_HOST_BRIDGE(dev); + XiveSource *xsrc = &phb->xsrc; + int nr_irqs; + char name[32]; + + /* Set the "big_phb" flag */ + phb->big_phb = phb->phb_id == 0 || phb->phb_id == 3; + + /* Controller Registers */ + snprintf(name, sizeof(name), "phb4-%d.%d-regs", phb->chip_id, + phb->phb_id); + memory_region_init_io(&phb->mr_regs, OBJECT(phb), &pnv_phb4_reg_ops, phb, + name, 0x2000); + + pnv_phb4_bus_init(dev, phb); /* Add a single Root port if running with defaults */ pnv_phb_attach_root_port(pci, pecc->rp_model, diff --git a/include/hw/pci-host/pnv_phb4.h b/include/hw/pci-host/pnv_phb4.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/pci-host/pnv_phb4.h +++ b/include/hw/pci-host/pnv_phb4.h @@ -XXX,XX +XXX,XX @@ struct PnvPHB4 { void pnv_phb4_pic_print_info(PnvPHB4 *phb, Monitor *mon); int pnv_phb4_pec_get_phb_id(PnvPhb4PecState *pec, int stack_index); +void pnv_phb4_bus_init(DeviceState *dev, PnvPHB4 *phb); extern const MemoryRegionOps pnv_phb4_xscom_ops; /* -- 2.37.2
Change the parent type of the PnvPHB4 device to TYPE_PARENT since the PCI bus is going to be initialized by the PnvPHB parent. Functions that needs to access the bus via a PnvPHB4 object can do so via the phb4->phb_base pointer. pnv_phb4_pec now creates a PnvPHB object. The powernv9 machine class will create PnvPHB devices with version '4'. powernv10 will create using version '5'. Both are using global machine properties in their class_init() to do that. These changes will benefit us when adding PnvPHB user creatable devices for powernv9 and powernv10. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220624084921.399219-6-danielhb413@gmail.com> --- hw/pci-host/pnv_phb4.c | 30 +++++------------------------- hw/pci-host/pnv_phb4_pec.c | 3 +-- hw/ppc/pnv.c | 20 +++++++++++++++++--- include/hw/pci-host/pnv_phb4.h | 5 ++++- 4 files changed, 27 insertions(+), 31 deletions(-) diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb4.c +++ b/hw/pci-host/pnv_phb4.c @@ -XXX,XX +XXX,XX @@ static PCIDevice *pnv_phb4_find_cfg_dev(PnvPHB4 *phb) { - PCIHostState *pci = PCI_HOST_BRIDGE(phb); + PCIHostState *pci = PCI_HOST_BRIDGE(phb->phb_base); uint64_t addr = phb->regs[PHB_CONFIG_ADDRESS >> 3]; uint8_t bus, devfn; @@ -XXX,XX +XXX,XX @@ static uint64_t pnv_phb4_config_read(PnvPHB4 *phb, unsigned off, static void pnv_phb4_rc_config_write(PnvPHB4 *phb, unsigned off, unsigned size, uint64_t val) { - PCIHostState *pci = PCI_HOST_BRIDGE(phb); + PCIHostState *pci = PCI_HOST_BRIDGE(phb->phb_base); PCIDevice *pdev; if (size != 4) { @@ -XXX,XX +XXX,XX @@ static void pnv_phb4_rc_config_write(PnvPHB4 *phb, unsigned off, static uint64_t pnv_phb4_rc_config_read(PnvPHB4 *phb, unsigned off, unsigned size) { - PCIHostState *pci = PCI_HOST_BRIDGE(phb); + PCIHostState *pci = PCI_HOST_BRIDGE(phb->phb_base); PCIDevice *pdev; uint64_t val; @@ -XXX,XX +XXX,XX @@ void pnv_phb4_bus_init(DeviceState *dev, PnvPHB4 *phb) static void pnv_phb4_realize(DeviceState *dev, Error **errp) { PnvPHB4 *phb = PNV_PHB4(dev); - PnvPhb4PecClass *pecc = PNV_PHB4_PEC_GET_CLASS(phb->pec); - PCIHostState *pci = PCI_HOST_BRIDGE(dev); XiveSource *xsrc = &phb->xsrc; int nr_irqs; char name[32]; @@ -XXX,XX +XXX,XX @@ static void pnv_phb4_realize(DeviceState *dev, Error **errp) memory_region_init_io(&phb->mr_regs, OBJECT(phb), &pnv_phb4_reg_ops, phb, name, 0x2000); - pnv_phb4_bus_init(dev, phb); - - /* Add a single Root port if running with defaults */ - pnv_phb_attach_root_port(pci, pecc->rp_model, - phb->phb_id, phb->chip_id); - /* Setup XIVE Source */ if (phb->big_phb) { nr_irqs = PNV_PHB4_MAX_INTs; @@ -XXX,XX +XXX,XX @@ static void pnv_phb4_realize(DeviceState *dev, Error **errp) pnv_phb4_xscom_realize(phb); } -static const char *pnv_phb4_root_bus_path(PCIHostState *host_bridge, - PCIBus *rootbus) -{ - PnvPHB4 *phb = PNV_PHB4(host_bridge); - - snprintf(phb->bus_path, sizeof(phb->bus_path), "00%02x:%02x", - phb->chip_id, phb->phb_id); - return phb->bus_path; -} - /* * Address base trigger mode (POWER10) * @@ -XXX,XX +XXX,XX @@ static Property pnv_phb4_properties[] = { DEFINE_PROP_UINT32("chip-id", PnvPHB4, chip_id, 0), DEFINE_PROP_LINK("pec", PnvPHB4, pec, TYPE_PNV_PHB4_PEC, PnvPhb4PecState *), + DEFINE_PROP_LINK("phb-base", PnvPHB4, phb_base, TYPE_PNV_PHB, PnvPHB *), DEFINE_PROP_END_OF_LIST(), }; static void pnv_phb4_class_init(ObjectClass *klass, void *data) { - PCIHostBridgeClass *hc = PCI_HOST_BRIDGE_CLASS(klass); DeviceClass *dc = DEVICE_CLASS(klass); XiveNotifierClass *xfc = XIVE_NOTIFIER_CLASS(klass); - hc->root_bus_path = pnv_phb4_root_bus_path; dc->realize = pnv_phb4_realize; device_class_set_props(dc, pnv_phb4_properties); - set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); dc->user_creatable = false; xfc->notify = pnv_phb4_xive_notify; @@ -XXX,XX +XXX,XX @@ static void pnv_phb4_class_init(ObjectClass *klass, void *data) static const TypeInfo pnv_phb4_type_info = { .name = TYPE_PNV_PHB4, - .parent = TYPE_PCIE_HOST_BRIDGE, + .parent = TYPE_DEVICE, .instance_init = pnv_phb4_instance_init, .instance_size = sizeof(PnvPHB4), .class_init = pnv_phb4_class_init, diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb4_pec.c +++ b/hw/pci-host/pnv_phb4_pec.c @@ -XXX,XX +XXX,XX @@ static void pnv_pec_default_phb_realize(PnvPhb4PecState *pec, int stack_no, Error **errp) { - PnvPhb4PecClass *pecc = PNV_PHB4_PEC_GET_CLASS(pec); - PnvPHB4 *phb = PNV_PHB4(qdev_new(pecc->phb_type)); + PnvPHB *phb = PNV_PHB(qdev_new(TYPE_PNV_PHB)); int phb_id = pnv_phb4_pec_get_phb_id(pec, stack_no); object_property_add_child(OBJECT(pec), "phb[*]", OBJECT(phb)); diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -XXX,XX +XXX,XX @@ static void pnv_chip_power8_pic_print_info(PnvChip *chip, Monitor *mon) static int pnv_chip_power9_pic_print_info_child(Object *child, void *opaque) { Monitor *mon = opaque; - PnvPHB4 *phb4 = (PnvPHB4 *) object_dynamic_cast(child, TYPE_PNV_PHB4); + PnvPHB *phb = (PnvPHB *) object_dynamic_cast(child, TYPE_PNV_PHB); - if (phb4) { - pnv_phb4_pic_print_info(phb4, mon); + if (!phb) { + return 0; } + + pnv_phb4_pic_print_info(PNV_PHB4(phb->backend), mon); + return 0; } @@ -XXX,XX +XXX,XX @@ static void pnv_machine_power9_class_init(ObjectClass *oc, void *data) PnvMachineClass *pmc = PNV_MACHINE_CLASS(oc); static const char compat[] = "qemu,powernv9\0ibm,powernv"; + static GlobalProperty phb_compat[] = { + { TYPE_PNV_PHB, "version", "4" }, + }; + mc->desc = "IBM PowerNV (Non-Virtualized) POWER9"; mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power9_v2.0"); + compat_props_add(mc->compat_props, phb_compat, G_N_ELEMENTS(phb_compat)); + xfc->match_nvt = pnv_match_nvt; mc->alias = "powernv"; @@ -XXX,XX +XXX,XX @@ static void pnv_machine_power10_class_init(ObjectClass *oc, void *data) XiveFabricClass *xfc = XIVE_FABRIC_CLASS(oc); static const char compat[] = "qemu,powernv10\0ibm,powernv"; + static GlobalProperty phb_compat[] = { + { TYPE_PNV_PHB, "version", "5" }, + }; + mc->desc = "IBM PowerNV (Non-Virtualized) POWER10"; mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power10_v2.0"); + compat_props_add(mc->compat_props, phb_compat, G_N_ELEMENTS(phb_compat)); pmc->compat = compat; pmc->compat_size = sizeof(compat); diff --git a/include/hw/pci-host/pnv_phb4.h b/include/hw/pci-host/pnv_phb4.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/pci-host/pnv_phb4.h +++ b/include/hw/pci-host/pnv_phb4.h @@ -XXX,XX +XXX,XX @@ typedef struct PnvPhb4PecState PnvPhb4PecState; typedef struct PnvPhb4PecStack PnvPhb4PecStack; typedef struct PnvPHB4 PnvPHB4; +typedef struct PnvPHB PnvPHB; typedef struct PnvChip PnvChip; /* @@ -XXX,XX +XXX,XX @@ OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB4, PNV_PHB4) #define PCI_MMIO_TOTAL_SIZE (0x1ull << 60) struct PnvPHB4 { - PCIExpressHost parent_obj; + DeviceState parent; + + PnvPHB *phb_base; uint32_t chip_id; uint32_t phb_id; -- 2.37.2
We have two very similar root-port devices, pnv-phb3-root-port and pnv-phb4-root-port. Both consist of a wrapper around the PCIESlot device that, until now, has no additional attributes. The main difference between the PHB3 and PHB4 root ports is that pnv-phb4-root-port has the pnv_phb4_root_port_reset() callback. All other differences can be merged in a single device without too much trouble. This patch introduces the unified pnv-phb-root-port that, in time, will be used as the default root port for the pnv-phb device. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220624084921.399219-7-danielhb413@gmail.com> --- hw/pci-host/pnv_phb.c | 115 +++++++++++++++++++++++++++++++++++++++--- hw/pci-host/pnv_phb.h | 16 ++++++ 2 files changed, 123 insertions(+), 8 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -XXX,XX +XXX,XX @@ static void pnv_phb_class_init(ObjectClass *klass, void *data) dc->user_creatable = false; } -static void pnv_phb_register_type(void) +static void pnv_phb_root_port_reset(DeviceState *dev) { - static const TypeInfo pnv_phb_type_info = { - .name = TYPE_PNV_PHB, - .parent = TYPE_PCIE_HOST_BRIDGE, - .instance_size = sizeof(PnvPHB), - .class_init = pnv_phb_class_init, - }; + PCIERootPortClass *rpc = PCIE_ROOT_PORT_GET_CLASS(dev); + PnvPHBRootPort *phb_rp = PNV_PHB_ROOT_PORT(dev); + PCIDevice *d = PCI_DEVICE(dev); + uint8_t *conf = d->config; + rpc->parent_reset(dev); + + if (phb_rp->version == 3) { + return; + } + + /* PHB4 and later requires these extra reset steps */ + pci_byte_test_and_set_mask(conf + PCI_IO_BASE, + PCI_IO_RANGE_MASK & 0xff); + pci_byte_test_and_clear_mask(conf + PCI_IO_LIMIT, + PCI_IO_RANGE_MASK & 0xff); + pci_set_word(conf + PCI_MEMORY_BASE, 0); + pci_set_word(conf + PCI_MEMORY_LIMIT, 0xfff0); + pci_set_word(conf + PCI_PREF_MEMORY_BASE, 0x1); + pci_set_word(conf + PCI_PREF_MEMORY_LIMIT, 0xfff1); + pci_set_long(conf + PCI_PREF_BASE_UPPER32, 0x1); /* Hack */ + pci_set_long(conf + PCI_PREF_LIMIT_UPPER32, 0xffffffff); + pci_config_set_interrupt_pin(conf, 0); +} + +static void pnv_phb_root_port_realize(DeviceState *dev, Error **errp) +{ + PCIERootPortClass *rpc = PCIE_ROOT_PORT_GET_CLASS(dev); + PnvPHBRootPort *phb_rp = PNV_PHB_ROOT_PORT(dev); + PCIDevice *pci = PCI_DEVICE(dev); + uint16_t device_id = 0; + Error *local_err = NULL; + + rpc->parent_realize(dev, &local_err); + if (local_err) { + error_propagate(errp, local_err); + return; + } + + switch (phb_rp->version) { + case 3: + device_id = PNV_PHB3_DEVICE_ID; + break; + case 4: + device_id = PNV_PHB4_DEVICE_ID; + break; + case 5: + device_id = PNV_PHB5_DEVICE_ID; + break; + default: + g_assert_not_reached(); + } + + pci_config_set_device_id(pci->config, device_id); + pci_config_set_interrupt_pin(pci->config, 0); +} + +static Property pnv_phb_root_port_properties[] = { + DEFINE_PROP_UINT32("version", PnvPHBRootPort, version, 0), + + DEFINE_PROP_END_OF_LIST(), +}; + +static void pnv_phb_root_port_class_init(ObjectClass *klass, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(klass); + PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); + PCIERootPortClass *rpc = PCIE_ROOT_PORT_CLASS(klass); + + dc->desc = "IBM PHB PCIE Root Port"; + + device_class_set_props(dc, pnv_phb_root_port_properties); + device_class_set_parent_realize(dc, pnv_phb_root_port_realize, + &rpc->parent_realize); + device_class_set_parent_reset(dc, pnv_phb_root_port_reset, + &rpc->parent_reset); + dc->reset = &pnv_phb_root_port_reset; + dc->user_creatable = false; + + k->vendor_id = PCI_VENDOR_ID_IBM; + /* device_id will be written during realize() */ + k->device_id = 0; + k->revision = 0; + + rpc->exp_offset = 0x48; + rpc->aer_offset = 0x100; +} + +static const TypeInfo pnv_phb_type_info = { + .name = TYPE_PNV_PHB, + .parent = TYPE_PCIE_HOST_BRIDGE, + .instance_size = sizeof(PnvPHB), + .class_init = pnv_phb_class_init, +}; + +static const TypeInfo pnv_phb_root_port_info = { + .name = TYPE_PNV_PHB_ROOT_PORT, + .parent = TYPE_PCIE_ROOT_PORT, + .instance_size = sizeof(PnvPHBRootPort), + .class_init = pnv_phb_root_port_class_init, +}; + +static void pnv_phb_register_types(void) +{ type_register_static(&pnv_phb_type_info); + type_register_static(&pnv_phb_root_port_info); } -type_init(pnv_phb_register_type) + +type_init(pnv_phb_register_types) diff --git a/hw/pci-host/pnv_phb.h b/hw/pci-host/pnv_phb.h index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb.h +++ b/hw/pci-host/pnv_phb.h @@ -XXX,XX +XXX,XX @@ struct PnvPHB { #define TYPE_PNV_PHB "pnv-phb" OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB, PNV_PHB) +/* + * PHB PCIe Root port + */ +#define PNV_PHB3_DEVICE_ID 0x03dc +#define PNV_PHB4_DEVICE_ID 0x04c1 +#define PNV_PHB5_DEVICE_ID 0x0652 + +typedef struct PnvPHBRootPort { + PCIESlot parent_obj; + + uint32_t version; +} PnvPHBRootPort; + +#define TYPE_PNV_PHB_ROOT_PORT "pnv-phb-root-port" +OBJECT_DECLARE_SIMPLE_TYPE(PnvPHBRootPort, PNV_PHB_ROOT_PORT) + #endif /* PCI_HOST_PNV_PHB_H */ -- 2.37.2
The unified pnv-phb-root-port can be used in its place. There is no ABI breakage in doing so because no official QEMU release introduced user creatable pnv-phb3-root-port devices. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220624084921.399219-8-danielhb413@gmail.com> --- hw/pci-host/pnv_phb.c | 2 +- hw/pci-host/pnv_phb3.c | 42 ---------------------------------- hw/ppc/pnv.c | 1 + include/hw/pci-host/pnv_phb3.h | 6 ----- 4 files changed, 2 insertions(+), 49 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -XXX,XX +XXX,XX @@ static void pnv_phb_realize(DeviceState *dev, Error **errp) switch (phb->version) { case 3: phb_typename = g_strdup(TYPE_PNV_PHB3); - phb_rootport_typename = g_strdup(TYPE_PNV_PHB3_ROOT_PORT); + phb_rootport_typename = g_strdup(TYPE_PNV_PHB_ROOT_PORT); break; case 4: phb_typename = g_strdup(TYPE_PNV_PHB4); diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb3.c +++ b/hw/pci-host/pnv_phb3.c @@ -XXX,XX +XXX,XX @@ static const TypeInfo pnv_phb3_root_bus_info = { .class_init = pnv_phb3_root_bus_class_init, }; -static void pnv_phb3_root_port_realize(DeviceState *dev, Error **errp) -{ - PCIERootPortClass *rpc = PCIE_ROOT_PORT_GET_CLASS(dev); - PCIDevice *pci = PCI_DEVICE(dev); - Error *local_err = NULL; - - rpc->parent_realize(dev, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } - pci_config_set_interrupt_pin(pci->config, 0); -} - -static void pnv_phb3_root_port_class_init(ObjectClass *klass, void *data) -{ - DeviceClass *dc = DEVICE_CLASS(klass); - PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); - PCIERootPortClass *rpc = PCIE_ROOT_PORT_CLASS(klass); - - dc->desc = "IBM PHB3 PCIE Root Port"; - - device_class_set_parent_realize(dc, pnv_phb3_root_port_realize, - &rpc->parent_realize); - dc->user_creatable = false; - - k->vendor_id = PCI_VENDOR_ID_IBM; - k->device_id = 0x03dc; - k->revision = 0; - - rpc->exp_offset = 0x48; - rpc->aer_offset = 0x100; -} - -static const TypeInfo pnv_phb3_root_port_info = { - .name = TYPE_PNV_PHB3_ROOT_PORT, - .parent = TYPE_PCIE_ROOT_PORT, - .instance_size = sizeof(PnvPHB3RootPort), - .class_init = pnv_phb3_root_port_class_init, -}; - static void pnv_phb3_register_types(void) { type_register_static(&pnv_phb3_root_bus_info); - type_register_static(&pnv_phb3_root_port_info); type_register_static(&pnv_phb3_type_info); type_register_static(&pnv_phb3_iommu_memory_region_info); } diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -XXX,XX +XXX,XX @@ static void pnv_machine_power8_class_init(ObjectClass *oc, void *data) static GlobalProperty phb_compat[] = { { TYPE_PNV_PHB, "version", "3" }, + { TYPE_PNV_PHB_ROOT_PORT, "version", "3" }, }; mc->desc = "IBM PowerNV (Non-Virtualized) POWER8"; diff --git a/include/hw/pci-host/pnv_phb3.h b/include/hw/pci-host/pnv_phb3.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/pci-host/pnv_phb3.h +++ b/include/hw/pci-host/pnv_phb3.h @@ -XXX,XX +XXX,XX @@ struct PnvPBCQState { */ #define TYPE_PNV_PHB3_ROOT_BUS "pnv-phb3-root" -#define TYPE_PNV_PHB3_ROOT_PORT "pnv-phb3-root-port" - -typedef struct PnvPHB3RootPort { - PCIESlot parent_obj; -} PnvPHB3RootPort; - /* * PHB3 PCIe Host Bridge for PowerNV machines (POWER8) */ -- 2.37.2
The unified pnv-phb-root-port can be used instead. The phb4-root-port device isn't exposed to the user in any official QEMU release so there's no ABI breakage in removing it. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220624084921.399219-9-danielhb413@gmail.com> --- hw/pci-host/pnv_phb.c | 4 +- hw/pci-host/pnv_phb4.c | 85 ---------------------------------- hw/pci-host/pnv_phb4_pec.c | 4 +- hw/ppc/pnv.c | 2 + include/hw/pci-host/pnv_phb4.h | 9 ---- 5 files changed, 6 insertions(+), 98 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -XXX,XX +XXX,XX @@ static void pnv_phb_realize(DeviceState *dev, Error **errp) break; case 4: phb_typename = g_strdup(TYPE_PNV_PHB4); - phb_rootport_typename = g_strdup(TYPE_PNV_PHB4_ROOT_PORT); + phb_rootport_typename = g_strdup(TYPE_PNV_PHB_ROOT_PORT); break; case 5: phb_typename = g_strdup(TYPE_PNV_PHB5); - phb_rootport_typename = g_strdup(TYPE_PNV_PHB5_ROOT_PORT); + phb_rootport_typename = g_strdup(TYPE_PNV_PHB_ROOT_PORT); break; default: g_assert_not_reached(); diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb4.c +++ b/hw/pci-host/pnv_phb4.c @@ -XXX,XX +XXX,XX @@ static const TypeInfo pnv_phb4_root_bus_info = { .class_init = pnv_phb4_root_bus_class_init, }; -static void pnv_phb4_root_port_reset(DeviceState *dev) -{ - PCIERootPortClass *rpc = PCIE_ROOT_PORT_GET_CLASS(dev); - PCIDevice *d = PCI_DEVICE(dev); - uint8_t *conf = d->config; - - rpc->parent_reset(dev); - - pci_byte_test_and_set_mask(conf + PCI_IO_BASE, - PCI_IO_RANGE_MASK & 0xff); - pci_byte_test_and_clear_mask(conf + PCI_IO_LIMIT, - PCI_IO_RANGE_MASK & 0xff); - pci_set_word(conf + PCI_MEMORY_BASE, 0); - pci_set_word(conf + PCI_MEMORY_LIMIT, 0xfff0); - pci_set_word(conf + PCI_PREF_MEMORY_BASE, 0x1); - pci_set_word(conf + PCI_PREF_MEMORY_LIMIT, 0xfff1); - pci_set_long(conf + PCI_PREF_BASE_UPPER32, 0x1); /* Hack */ - pci_set_long(conf + PCI_PREF_LIMIT_UPPER32, 0xffffffff); - pci_config_set_interrupt_pin(conf, 0); -} - -static void pnv_phb4_root_port_realize(DeviceState *dev, Error **errp) -{ - PCIERootPortClass *rpc = PCIE_ROOT_PORT_GET_CLASS(dev); - Error *local_err = NULL; - - rpc->parent_realize(dev, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } -} - -static void pnv_phb4_root_port_class_init(ObjectClass *klass, void *data) -{ - DeviceClass *dc = DEVICE_CLASS(klass); - PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); - PCIERootPortClass *rpc = PCIE_ROOT_PORT_CLASS(klass); - - dc->desc = "IBM PHB4 PCIE Root Port"; - dc->user_creatable = false; - - device_class_set_parent_realize(dc, pnv_phb4_root_port_realize, - &rpc->parent_realize); - device_class_set_parent_reset(dc, pnv_phb4_root_port_reset, - &rpc->parent_reset); - - k->vendor_id = PCI_VENDOR_ID_IBM; - k->device_id = PNV_PHB4_DEVICE_ID; - k->revision = 0; - - rpc->exp_offset = 0x48; - rpc->aer_offset = 0x100; - - dc->reset = &pnv_phb4_root_port_reset; -} - -static const TypeInfo pnv_phb4_root_port_info = { - .name = TYPE_PNV_PHB4_ROOT_PORT, - .parent = TYPE_PCIE_ROOT_PORT, - .instance_size = sizeof(PnvPHB4RootPort), - .class_init = pnv_phb4_root_port_class_init, -}; - -static void pnv_phb5_root_port_class_init(ObjectClass *klass, void *data) -{ - DeviceClass *dc = DEVICE_CLASS(klass); - PCIDeviceClass *k = PCI_DEVICE_CLASS(klass); - - dc->desc = "IBM PHB5 PCIE Root Port"; - dc->user_creatable = false; - - k->vendor_id = PCI_VENDOR_ID_IBM; - k->device_id = PNV_PHB5_DEVICE_ID; -} - -static const TypeInfo pnv_phb5_root_port_info = { - .name = TYPE_PNV_PHB5_ROOT_PORT, - .parent = TYPE_PNV_PHB4_ROOT_PORT, - .instance_size = sizeof(PnvPHB4RootPort), - .class_init = pnv_phb5_root_port_class_init, -}; - static void pnv_phb4_register_types(void) { type_register_static(&pnv_phb4_root_bus_info); - type_register_static(&pnv_phb5_root_port_info); - type_register_static(&pnv_phb4_root_port_info); type_register_static(&pnv_phb4_type_info); type_register_static(&pnv_phb5_type_info); type_register_static(&pnv_phb4_iommu_memory_region_info); diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb4_pec.c +++ b/hw/pci-host/pnv_phb4_pec.c @@ -XXX,XX +XXX,XX @@ static void pnv_pec_class_init(ObjectClass *klass, void *data) pecc->version = PNV_PHB4_VERSION; pecc->phb_type = TYPE_PNV_PHB4; pecc->num_phbs = pnv_pec_num_phbs; - pecc->rp_model = TYPE_PNV_PHB4_ROOT_PORT; + pecc->rp_model = TYPE_PNV_PHB_ROOT_PORT; } static const TypeInfo pnv_pec_type_info = { @@ -XXX,XX +XXX,XX @@ static void pnv_phb5_pec_class_init(ObjectClass *klass, void *data) pecc->version = PNV_PHB5_VERSION; pecc->phb_type = TYPE_PNV_PHB5; pecc->num_phbs = pnv_phb5_pec_num_stacks; - pecc->rp_model = TYPE_PNV_PHB5_ROOT_PORT; + pecc->rp_model = TYPE_PNV_PHB_ROOT_PORT; } static const TypeInfo pnv_phb5_pec_type_info = { diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -XXX,XX +XXX,XX @@ static void pnv_machine_power9_class_init(ObjectClass *oc, void *data) static GlobalProperty phb_compat[] = { { TYPE_PNV_PHB, "version", "4" }, + { TYPE_PNV_PHB_ROOT_PORT, "version", "4" }, }; mc->desc = "IBM PowerNV (Non-Virtualized) POWER9"; @@ -XXX,XX +XXX,XX @@ static void pnv_machine_power10_class_init(ObjectClass *oc, void *data) static GlobalProperty phb_compat[] = { { TYPE_PNV_PHB, "version", "5" }, + { TYPE_PNV_PHB_ROOT_PORT, "version", "5" }, }; mc->desc = "IBM PowerNV (Non-Virtualized) POWER10"; diff --git a/include/hw/pci-host/pnv_phb4.h b/include/hw/pci-host/pnv_phb4.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/pci-host/pnv_phb4.h +++ b/include/hw/pci-host/pnv_phb4.h @@ -XXX,XX +XXX,XX @@ typedef struct PnvPhb4DMASpace { QLIST_ENTRY(PnvPhb4DMASpace) list; } PnvPhb4DMASpace; -/* - * PHB4 PCIe Root port - */ #define TYPE_PNV_PHB4_ROOT_BUS "pnv-phb4-root" -#define TYPE_PNV_PHB4_ROOT_PORT "pnv-phb4-root-port" -#define TYPE_PNV_PHB5_ROOT_PORT "pnv-phb5-root-port" - -typedef struct PnvPHB4RootPort { - PCIESlot parent_obj; -} PnvPHB4RootPort; /* * PHB4 PCIe Host Bridge for PowerNV machines (POWER9) -- 2.37.2
We support only a single root port, PNV_PHB_ROOT_PORT. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220624084921.399219-10-danielhb413@gmail.com> --- hw/pci-host/pnv_phb.c | 7 +------ hw/ppc/pnv.c | 9 +++++---- include/hw/ppc/pnv.h | 3 +-- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -XXX,XX +XXX,XX @@ static void pnv_phb_realize(DeviceState *dev, Error **errp) PnvPHB *phb = PNV_PHB(dev); PCIHostState *pci = PCI_HOST_BRIDGE(dev); g_autofree char *phb_typename = NULL; - g_autofree char *phb_rootport_typename = NULL; if (!phb->version) { error_setg(errp, "version not specified"); @@ -XXX,XX +XXX,XX @@ static void pnv_phb_realize(DeviceState *dev, Error **errp) switch (phb->version) { case 3: phb_typename = g_strdup(TYPE_PNV_PHB3); - phb_rootport_typename = g_strdup(TYPE_PNV_PHB_ROOT_PORT); break; case 4: phb_typename = g_strdup(TYPE_PNV_PHB4); - phb_rootport_typename = g_strdup(TYPE_PNV_PHB_ROOT_PORT); break; case 5: phb_typename = g_strdup(TYPE_PNV_PHB5); - phb_rootport_typename = g_strdup(TYPE_PNV_PHB_ROOT_PORT); break; default: g_assert_not_reached(); @@ -XXX,XX +XXX,XX @@ static void pnv_phb_realize(DeviceState *dev, Error **errp) pnv_phb4_bus_init(dev, PNV_PHB4(phb->backend)); } - pnv_phb_attach_root_port(pci, phb_rootport_typename, - phb->phb_id, phb->chip_id); + pnv_phb_attach_root_port(pci, phb->phb_id, phb->chip_id); } static const char *pnv_phb_root_bus_path(PCIHostState *host_bridge, diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -XXX,XX +XXX,XX @@ static void pnv_chip_icp_realize(Pnv8Chip *chip8, Error **errp) * QOM id. 'chip_id' is going to be used as PCIE chassis for the * root port. */ -void pnv_phb_attach_root_port(PCIHostState *pci, const char *name, - int index, int chip_id) +void pnv_phb_attach_root_port(PCIHostState *pci, int index, int chip_id) { - PCIDevice *root = pci_new(PCI_DEVFN(0, 0), name); - g_autofree char *default_id = g_strdup_printf("%s[%d]", name, index); + PCIDevice *root = pci_new(PCI_DEVFN(0, 0), TYPE_PNV_PHB_ROOT_PORT); + g_autofree char *default_id = g_strdup_printf("%s[%d]", + TYPE_PNV_PHB_ROOT_PORT, + index); const char *dev_id = DEVICE(root)->id; object_property_add_child(OBJECT(pci->bus), dev_id ? dev_id : default_id, diff --git a/include/hw/ppc/pnv.h b/include/hw/ppc/pnv.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/ppc/pnv.h +++ b/include/hw/ppc/pnv.h @@ -XXX,XX +XXX,XX @@ DECLARE_INSTANCE_CHECKER(PnvChip, PNV_CHIP_POWER10, TYPE_PNV_CHIP_POWER10) PowerPCCPU *pnv_chip_find_cpu(PnvChip *chip, uint32_t pir); -void pnv_phb_attach_root_port(PCIHostState *pci, const char *name, - int index, int chip_id); +void pnv_phb_attach_root_port(PCIHostState *pci, int index, int chip_id); #define TYPE_PNV_MACHINE MACHINE_TYPE_NAME("powernv") typedef struct PnvMachineClass PnvMachineClass; -- 2.37.2
The attribute is unused. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220624084921.399219-11-danielhb413@gmail.com> --- hw/pci-host/pnv_phb4_pec.c | 2 -- include/hw/pci-host/pnv_phb4.h | 1 - 2 files changed, 3 deletions(-) diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb4_pec.c +++ b/hw/pci-host/pnv_phb4_pec.c @@ -XXX,XX +XXX,XX @@ static void pnv_pec_class_init(ObjectClass *klass, void *data) pecc->version = PNV_PHB4_VERSION; pecc->phb_type = TYPE_PNV_PHB4; pecc->num_phbs = pnv_pec_num_phbs; - pecc->rp_model = TYPE_PNV_PHB_ROOT_PORT; } static const TypeInfo pnv_pec_type_info = { @@ -XXX,XX +XXX,XX @@ static void pnv_phb5_pec_class_init(ObjectClass *klass, void *data) pecc->version = PNV_PHB5_VERSION; pecc->phb_type = TYPE_PNV_PHB5; pecc->num_phbs = pnv_phb5_pec_num_stacks; - pecc->rp_model = TYPE_PNV_PHB_ROOT_PORT; } static const TypeInfo pnv_phb5_pec_type_info = { diff --git a/include/hw/pci-host/pnv_phb4.h b/include/hw/pci-host/pnv_phb4.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/pci-host/pnv_phb4.h +++ b/include/hw/pci-host/pnv_phb4.h @@ -XXX,XX +XXX,XX @@ struct PnvPhb4PecClass { uint64_t version; const char *phb_type; const uint32_t *num_phbs; - const char *rp_model; }; /* -- 2.37.2
It's unused. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220624084921.399219-12-danielhb413@gmail.com> --- include/hw/pci-host/pnv_phb4.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/hw/pci-host/pnv_phb4.h b/include/hw/pci-host/pnv_phb4.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/pci-host/pnv_phb4.h +++ b/include/hw/pci-host/pnv_phb4.h @@ -XXX,XX +XXX,XX @@ struct PnvPHB4 { uint32_t chip_id; uint32_t phb_id; - uint64_t version; - /* The owner PEC */ PnvPhb4PecState *pec; -- 2.37.2
The helper is only used in this file. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220624084921.399219-13-danielhb413@gmail.com> --- hw/pci-host/pnv_phb.c | 24 ++++++++++++++++++++++++ hw/ppc/pnv.c | 25 ------------------------- include/hw/ppc/pnv.h | 1 - 3 files changed, 24 insertions(+), 26 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -XXX,XX +XXX,XX @@ #include "hw/qdev-properties.h" #include "qom/object.h" +/* + * Attach a root port device. + * + * 'index' will be used both as a PCIE slot value and to calculate + * QOM id. 'chip_id' is going to be used as PCIE chassis for the + * root port. + */ +static void pnv_phb_attach_root_port(PCIHostState *pci, int index, int chip_id) +{ + PCIDevice *root = pci_new(PCI_DEVFN(0, 0), TYPE_PNV_PHB_ROOT_PORT); + g_autofree char *default_id = g_strdup_printf("%s[%d]", + TYPE_PNV_PHB_ROOT_PORT, + index); + const char *dev_id = DEVICE(root)->id; + + object_property_add_child(OBJECT(pci->bus), dev_id ? dev_id : default_id, + OBJECT(root)); + + /* Set unique chassis/slot values for the root port */ + qdev_prop_set_uint8(DEVICE(root), "chassis", chip_id); + qdev_prop_set_uint16(DEVICE(root), "slot", index); + + pci_realize_and_unref(root, pci->bus, &error_fatal); +} static void pnv_phb_realize(DeviceState *dev, Error **errp) { diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -XXX,XX +XXX,XX @@ static void pnv_chip_icp_realize(Pnv8Chip *chip8, Error **errp) } } -/* - * Attach a root port device. - * - * 'index' will be used both as a PCIE slot value and to calculate - * QOM id. 'chip_id' is going to be used as PCIE chassis for the - * root port. - */ -void pnv_phb_attach_root_port(PCIHostState *pci, int index, int chip_id) -{ - PCIDevice *root = pci_new(PCI_DEVFN(0, 0), TYPE_PNV_PHB_ROOT_PORT); - g_autofree char *default_id = g_strdup_printf("%s[%d]", - TYPE_PNV_PHB_ROOT_PORT, - index); - const char *dev_id = DEVICE(root)->id; - - object_property_add_child(OBJECT(pci->bus), dev_id ? dev_id : default_id, - OBJECT(root)); - - /* Set unique chassis/slot values for the root port */ - qdev_prop_set_uint8(DEVICE(root), "chassis", chip_id); - qdev_prop_set_uint16(DEVICE(root), "slot", index); - - pci_realize_and_unref(root, pci->bus, &error_fatal); -} - static void pnv_chip_power8_realize(DeviceState *dev, Error **errp) { PnvChipClass *pcc = PNV_CHIP_GET_CLASS(dev); diff --git a/include/hw/ppc/pnv.h b/include/hw/ppc/pnv.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/ppc/pnv.h +++ b/include/hw/ppc/pnv.h @@ -XXX,XX +XXX,XX @@ DECLARE_INSTANCE_CHECKER(PnvChip, PNV_CHIP_POWER10, TYPE_PNV_CHIP_POWER10) PowerPCCPU *pnv_chip_find_cpu(PnvChip *chip, uint32_t pir); -void pnv_phb_attach_root_port(PCIHostState *pci, int index, int chip_id); #define TYPE_PNV_MACHINE MACHINE_TYPE_NAME("powernv") typedef struct PnvMachineClass PnvMachineClass; -- 2.37.2
We rely on the phb-id and chip-id, which are PHB properties, to assign chassis and slot to the root port. For default devices this is no big deal: the root port is being created under pnv_phb_realize() and the values are being passed on via the 'index' and 'chip-id' of the pnv_phb_attach_root_port() helper. If we want to implement user created root ports we have a problem. The user created root port will not be aware of which PHB it belongs to, unless we're willing to violate QOM best practices and access the PHB via dev->parent_bus->parent. What we can do is to access the root bus parent bus. Since we're already assigning the root port as QOM child of the bus, and the bus is initiated using PHB properties, let's add phb-id and chip-id as properties of the bus. This will allow us trivial access to them, for both user-created and default root ports, without doing anything too shady with QOM. Reviewed-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220811163950.578927-2-danielhb413@gmail.com> --- hw/pci-host/pnv_phb3.c | 50 ++++++++++++++++++++++++++++++++++ include/hw/pci-host/pnv_phb3.h | 9 +++++- 2 files changed, 58 insertions(+), 1 deletion(-) diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb3.c +++ b/hw/pci-host/pnv_phb3.c @@ -XXX,XX +XXX,XX @@ void pnv_phb3_bus_init(DeviceState *dev, PnvPHB3 *phb) &phb->pci_mmio, &phb->pci_io, 0, 4, TYPE_PNV_PHB3_ROOT_BUS); + object_property_set_int(OBJECT(pci->bus), "phb-id", phb->phb_id, + &error_abort); + object_property_set_int(OBJECT(pci->bus), "chip-id", phb->chip_id, + &error_abort); + pci_setup_iommu(pci->bus, pnv_phb3_dma_iommu, phb); } @@ -XXX,XX +XXX,XX @@ static const TypeInfo pnv_phb3_type_info = { .instance_init = pnv_phb3_instance_init, }; +static void pnv_phb3_root_bus_get_prop(Object *obj, Visitor *v, + const char *name, + void *opaque, Error **errp) +{ + PnvPHB3RootBus *bus = PNV_PHB3_ROOT_BUS(obj); + uint64_t value = 0; + + if (strcmp(name, "phb-id") == 0) { + value = bus->phb_id; + } else { + value = bus->chip_id; + } + + visit_type_size(v, name, &value, errp); +} + +static void pnv_phb3_root_bus_set_prop(Object *obj, Visitor *v, + const char *name, + void *opaque, Error **errp) + +{ + PnvPHB3RootBus *bus = PNV_PHB3_ROOT_BUS(obj); + uint64_t value; + + if (!visit_type_size(v, name, &value, errp)) { + return; + } + + if (strcmp(name, "phb-id") == 0) { + bus->phb_id = value; + } else { + bus->chip_id = value; + } +} + static void pnv_phb3_root_bus_class_init(ObjectClass *klass, void *data) { BusClass *k = BUS_CLASS(klass); + object_class_property_add(klass, "phb-id", "int", + pnv_phb3_root_bus_get_prop, + pnv_phb3_root_bus_set_prop, + NULL, NULL); + + object_class_property_add(klass, "chip-id", "int", + pnv_phb3_root_bus_get_prop, + pnv_phb3_root_bus_set_prop, + NULL, NULL); + /* * PHB3 has only a single root complex. Enforce the limit on the * parent bus diff --git a/include/hw/pci-host/pnv_phb3.h b/include/hw/pci-host/pnv_phb3.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/pci-host/pnv_phb3.h +++ b/include/hw/pci-host/pnv_phb3.h @@ -XXX,XX +XXX,XX @@ struct PnvPBCQState { }; /* - * PHB3 PCIe Root port + * PHB3 PCIe Root Bus */ #define TYPE_PNV_PHB3_ROOT_BUS "pnv-phb3-root" +struct PnvPHB3RootBus { + PCIBus parent; + + uint32_t chip_id; + uint32_t phb_id; +}; +OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB3RootBus, PNV_PHB3_ROOT_BUS) /* * PHB3 PCIe Host Bridge for PowerNV machines (POWER8) -- 2.37.2
The same rationale provided in the PHB3 bus case applies here. Note: we could have merged both buses in a single object, like we did with the root ports, and spare some boilerplate. The reason we opted to preserve both buses objects is twofold: - there's not user side advantage in doing so. Unifying the root ports presents a clear user QOL change when we enable user created devices back. The buses objects, aside from having a different QOM name, is transparent to the user; - we leave a door opened in case we want to increase the root port limit for phb4/5 later on without having to deal with phb3 code. Reviewed-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220811163950.578927-3-danielhb413@gmail.com> --- hw/pci-host/pnv_phb4.c | 51 ++++++++++++++++++++++++++++++++++ include/hw/pci-host/pnv_phb4.h | 10 +++++++ 2 files changed, 61 insertions(+) diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb4.c +++ b/hw/pci-host/pnv_phb4.c @@ -XXX,XX +XXX,XX @@ void pnv_phb4_bus_init(DeviceState *dev, PnvPHB4 *phb) pnv_phb4_set_irq, pnv_phb4_map_irq, phb, &phb->pci_mmio, &phb->pci_io, 0, 4, TYPE_PNV_PHB4_ROOT_BUS); + + object_property_set_int(OBJECT(pci->bus), "phb-id", phb->phb_id, + &error_abort); + object_property_set_int(OBJECT(pci->bus), "chip-id", phb->chip_id, + &error_abort); + pci_setup_iommu(pci->bus, pnv_phb4_dma_iommu, phb); pci->bus->flags |= PCI_BUS_EXTENDED_CONFIG_SPACE; } @@ -XXX,XX +XXX,XX @@ static const TypeInfo pnv_phb5_type_info = { .instance_size = sizeof(PnvPHB4), }; +static void pnv_phb4_root_bus_get_prop(Object *obj, Visitor *v, + const char *name, + void *opaque, Error **errp) +{ + PnvPHB4RootBus *bus = PNV_PHB4_ROOT_BUS(obj); + uint64_t value = 0; + + if (strcmp(name, "phb-id") == 0) { + value = bus->phb_id; + } else { + value = bus->chip_id; + } + + visit_type_size(v, name, &value, errp); +} + +static void pnv_phb4_root_bus_set_prop(Object *obj, Visitor *v, + const char *name, + void *opaque, Error **errp) + +{ + PnvPHB4RootBus *bus = PNV_PHB4_ROOT_BUS(obj); + uint64_t value; + + if (!visit_type_size(v, name, &value, errp)) { + return; + } + + if (strcmp(name, "phb-id") == 0) { + bus->phb_id = value; + } else { + bus->chip_id = value; + } +} + static void pnv_phb4_root_bus_class_init(ObjectClass *klass, void *data) { BusClass *k = BUS_CLASS(klass); + object_class_property_add(klass, "phb-id", "int", + pnv_phb4_root_bus_get_prop, + pnv_phb4_root_bus_set_prop, + NULL, NULL); + + object_class_property_add(klass, "chip-id", "int", + pnv_phb4_root_bus_get_prop, + pnv_phb4_root_bus_set_prop, + NULL, NULL); + /* * PHB4 has only a single root complex. Enforce the limit on the * parent bus diff --git a/include/hw/pci-host/pnv_phb4.h b/include/hw/pci-host/pnv_phb4.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/pci-host/pnv_phb4.h +++ b/include/hw/pci-host/pnv_phb4.h @@ -XXX,XX +XXX,XX @@ typedef struct PnvPhb4DMASpace { QLIST_ENTRY(PnvPhb4DMASpace) list; } PnvPhb4DMASpace; +/* + * PHB4 PCIe Root Bus + */ #define TYPE_PNV_PHB4_ROOT_BUS "pnv-phb4-root" +struct PnvPHB4RootBus { + PCIBus parent; + + uint32_t chip_id; + uint32_t phb_id; +}; +OBJECT_DECLARE_SIMPLE_TYPE(PnvPHB4RootBus, PNV_PHB4_ROOT_BUS) /* * PHB4 PCIe Host Bridge for PowerNV machines (POWER9) -- 2.37.2
For default root ports we have a way of accessing chassis and slot, before root_port_realize(), via pnv_phb_attach_root_port(). For the future user created root ports this won't be the case: we can't use this helper because we don't have access to the PHB phb-id/chip-id values. In earlier patches we've added phb-id and chip-id to pnv-phb-root-bus objects. We're now able to use the bus to retrieve them. The bus is reachable for both user created and default devices, so we're changing all the code paths. This also allow us to validate these changes with the existing default devices. Reviewed-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220811163950.578927-4-danielhb413@gmail.com> --- hw/pci-host/pnv_phb.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -XXX,XX +XXX,XX @@ * QOM id. 'chip_id' is going to be used as PCIE chassis for the * root port. */ -static void pnv_phb_attach_root_port(PCIHostState *pci, int index, int chip_id) +static void pnv_phb_attach_root_port(PCIHostState *pci) { PCIDevice *root = pci_new(PCI_DEVFN(0, 0), TYPE_PNV_PHB_ROOT_PORT); - g_autofree char *default_id = g_strdup_printf("%s[%d]", - TYPE_PNV_PHB_ROOT_PORT, - index); const char *dev_id = DEVICE(root)->id; + g_autofree char *default_id = NULL; + int index; + + index = object_property_get_int(OBJECT(pci->bus), "phb-id", &error_fatal); + default_id = g_strdup_printf("%s[%d]", TYPE_PNV_PHB_ROOT_PORT, index); object_property_add_child(OBJECT(pci->bus), dev_id ? dev_id : default_id, OBJECT(root)); - /* Set unique chassis/slot values for the root port */ - qdev_prop_set_uint8(DEVICE(root), "chassis", chip_id); - qdev_prop_set_uint16(DEVICE(root), "slot", index); - pci_realize_and_unref(root, pci->bus, &error_fatal); } @@ -XXX,XX +XXX,XX @@ static void pnv_phb_realize(DeviceState *dev, Error **errp) pnv_phb4_bus_init(dev, PNV_PHB4(phb->backend)); } - pnv_phb_attach_root_port(pci, phb->phb_id, phb->chip_id); + pnv_phb_attach_root_port(pci); } static const char *pnv_phb_root_bus_path(PCIHostState *host_bridge, @@ -XXX,XX +XXX,XX @@ static void pnv_phb_root_port_realize(DeviceState *dev, Error **errp) { PCIERootPortClass *rpc = PCIE_ROOT_PORT_GET_CLASS(dev); PnvPHBRootPort *phb_rp = PNV_PHB_ROOT_PORT(dev); + PCIBus *bus = PCI_BUS(qdev_get_parent_bus(dev)); PCIDevice *pci = PCI_DEVICE(dev); uint16_t device_id = 0; Error *local_err = NULL; + int chip_id, index; + + chip_id = object_property_get_int(OBJECT(bus), "chip-id", &error_fatal); + index = object_property_get_int(OBJECT(bus), "phb-id", &error_fatal); + + /* Set unique chassis/slot values for the root port */ + qdev_prop_set_uint8(dev, "chassis", chip_id); + qdev_prop_set_uint16(dev, "slot", index); rpc->parent_realize(dev, &local_err); if (local_err) { -- 2.37.2
pnv_parent_qom_fixup() and pnv_parent_bus_fixup() are versions of the helpers that were reverted by commit 9c10d86fee "ppc/pnv: Remove user-created PHB{3,4,5} devices". They are needed to amend the QOM and bus hierarchies of user created pnv-phbs, matching them with default pnv-phbs. A new helper pnv_phb_user_device_init() is created to handle user-created devices setup. We're going to call it inside pnv_phb_realize() in case we're realizing an user created device. This will centralize all user device realated in a single spot, leaving the realize functions of the phb3/phb4 backends untouched. Another helper called pnv_chip_add_phb() was added to handle the particularities of each chip version when adding a new PHB. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220811163950.578927-5-danielhb413@gmail.com> --- hw/pci-host/pnv_phb.c | 75 +++++++++++++++++++++++++++++++++++++++++++ hw/ppc/pnv.c | 20 ++++++++++++ include/hw/ppc/pnv.h | 1 + 3 files changed, 96 insertions(+) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -XXX,XX +XXX,XX @@ #include "hw/qdev-properties.h" #include "qom/object.h" + +/* + * Set the QOM parent of an object child. If the device state + * associated with the child has an id, use it as QOM id. Otherwise + * use object_typename[index] as QOM id. + */ +static void pnv_parent_qom_fixup(Object *parent, Object *child, int index) +{ + g_autofree char *default_id = + g_strdup_printf("%s[%d]", object_get_typename(child), index); + const char *dev_id = DEVICE(child)->id; + + if (child->parent == parent) { + return; + } + + object_ref(child); + object_unparent(child); + object_property_add_child(parent, dev_id ? dev_id : default_id, child); + object_unref(child); +} + +static void pnv_parent_bus_fixup(DeviceState *parent, DeviceState *child, + Error **errp) +{ + BusState *parent_bus = qdev_get_parent_bus(parent); + + if (!qdev_set_parent_bus(child, parent_bus, errp)) { + return; + } +} + /* * Attach a root port device. * @@ -XXX,XX +XXX,XX @@ static void pnv_phb_attach_root_port(PCIHostState *pci) pci_realize_and_unref(root, pci->bus, &error_fatal); } +/* + * User created devices won't have the initial setup that default + * devices have. This setup consists of assigning a parent device + * (chip for PHB3, PEC for PHB4/5) that will be the QOM/bus parent + * of the PHB. + */ +static bool pnv_phb_user_device_init(PnvPHB *phb, Error **errp) +{ + PnvMachineState *pnv = PNV_MACHINE(qdev_get_machine()); + PnvChip *chip = pnv_get_chip(pnv, phb->chip_id); + Object *parent = NULL; + + if (!chip) { + error_setg(errp, "invalid chip id: %d", phb->chip_id); + return false; + } + + parent = pnv_chip_add_phb(chip, phb, errp); + if (!parent) { + return false; + } + + /* + * Reparent user created devices to the chip to build + * correctly the device tree. pnv_xscom_dt() needs every + * PHB to be a child of the chip to build the DT correctly. + */ + pnv_parent_qom_fixup(parent, OBJECT(phb), phb->phb_id); + pnv_parent_bus_fixup(DEVICE(chip), DEVICE(phb), errp); + + return true; +} + static void pnv_phb_realize(DeviceState *dev, Error **errp) { PnvPHB *phb = PNV_PHB(dev); @@ -XXX,XX +XXX,XX @@ static void pnv_phb_realize(DeviceState *dev, Error **errp) object_property_set_uint(phb->backend, "chip-id", phb->chip_id, errp); object_property_set_link(phb->backend, "phb-base", OBJECT(phb), errp); + /* + * Handle user created devices. User devices will not have a + * pointer to a chip (PHB3) and a PEC (PHB4/5). + */ + if (!phb->chip && !phb->pec) { + if (!pnv_phb_user_device_init(phb, errp)) { + return; + } + } + if (phb->version == 3) { object_property_set_link(phb->backend, "chip", OBJECT(phb->chip), errp); diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -XXX,XX +XXX,XX @@ static void pnv_dt_icp(PnvChip *chip, void *fdt, uint32_t pir, g_free(reg); } +/* + * Adds a PnvPHB to the chip. Returns the parent obj of the + * PHB which varies with each version (phb version 3 is parented + * by the chip, version 4 and 5 are parented by the PEC + * device). + * + * TODO: for version 3 we're still parenting the PHB with the + * chip. We should parent with a (so far not implemented) + * PHB3 PEC device. + */ +Object *pnv_chip_add_phb(PnvChip *chip, PnvPHB *phb, Error **errp) +{ + if (phb->version == 3) { + return OBJECT(chip); + } else { + /* phb4 support will be added later */ + return NULL; + } +} + static void pnv_chip_power8_dt_populate(PnvChip *chip, void *fdt) { static const char compat[] = "ibm,power8-xscom\0ibm,xscom"; diff --git a/include/hw/ppc/pnv.h b/include/hw/ppc/pnv.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/ppc/pnv.h +++ b/include/hw/ppc/pnv.h @@ -XXX,XX +XXX,XX @@ struct PnvMachineState { }; PnvChip *pnv_get_chip(PnvMachineState *pnv, uint32_t chip_id); +Object *pnv_chip_add_phb(PnvChip *chip, PnvPHB *phb, Error **errp); #define PNV_FDT_ADDR 0x01000000 #define PNV_TIMEBASE_FREQ 512000000ULL -- 2.37.2
When enabling user created PHBs (a change reverted by commit 9c10d86fee) we were handling PHBs created by default versus by the user in different manners. The only difference between these PHBs is that one will have a valid phb3->chip that is assigned during pnv_chip_power8_realize(), while the user created needs to search which chip it belongs to. Aside from that there shouldn't be any difference. Making the default PHBs behave in line with the user created ones will make it easier to re-introduce them later on. It will also make the code easier to follow since we are dealing with them in equal manner. The first step is to turn chip8->phbs[] into a PnvPHB3 pointer array. This will allow us to assign user created PHBs into it later on. The way we initilize the default case is now more in line with that would happen with the user created case: the object is created, parented by the chip because pnv_xscom_dt() relies on it, and then assigned to the array. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220811163950.578927-6-danielhb413@gmail.com> --- hw/ppc/pnv.c | 27 ++++++++++++++++++++++----- include/hw/ppc/pnv.h | 6 +++++- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -XXX,XX +XXX,XX @@ static void pnv_dt_icp(PnvChip *chip, void *fdt, uint32_t pir, Object *pnv_chip_add_phb(PnvChip *chip, PnvPHB *phb, Error **errp) { if (phb->version == 3) { + Pnv8Chip *chip8 = PNV8_CHIP(chip); + + phb->chip = chip; + + chip8->phbs[chip8->num_phbs] = phb; + chip8->num_phbs++; + return OBJECT(chip); } else { /* phb4 support will be added later */ @@ -XXX,XX +XXX,XX @@ static void pnv_chip_power8_pic_print_info(PnvChip *chip, Monitor *mon) ics_pic_print_info(&chip8->psi.ics, mon); for (i = 0; i < chip8->num_phbs; i++) { - PnvPHB *phb = &chip8->phbs[i]; + PnvPHB *phb = chip8->phbs[i]; PnvPHB3 *phb3 = PNV_PHB3(phb->backend); pnv_phb3_msi_pic_print_info(&phb3->msis, mon); @@ -XXX,XX +XXX,XX @@ static void pnv_chip_power8_instance_init(Object *obj) chip8->num_phbs = pcc->num_phbs; for (i = 0; i < chip8->num_phbs; i++) { - object_initialize_child(obj, "phb[*]", &chip8->phbs[i], TYPE_PNV_PHB); + Object *phb = object_new(TYPE_PNV_PHB); + + /* + * We need the chip to parent the PHB to allow the DT + * to build correctly (via pnv_xscom_dt()). + * + * TODO: the PHB should be parented by a PEC device that, at + * this moment, is not modelled powernv8/phb3. + */ + object_property_add_child(obj, "phb[*]", phb); + chip8->phbs[i] = PNV_PHB(phb); } } @@ -XXX,XX +XXX,XX @@ static void pnv_chip_power8_realize(DeviceState *dev, Error **errp) /* PHB controllers */ for (i = 0; i < chip8->num_phbs; i++) { - PnvPHB *phb = &chip8->phbs[i]; + PnvPHB *phb = chip8->phbs[i]; object_property_set_int(OBJECT(phb), "index", i, &error_fatal); object_property_set_int(OBJECT(phb), "chip-id", chip->chip_id, @@ -XXX,XX +XXX,XX @@ static ICSState *pnv_ics_get(XICSFabric *xi, int irq) } for (j = 0; j < chip8->num_phbs; j++) { - PnvPHB *phb = &chip8->phbs[j]; + PnvPHB *phb = chip8->phbs[j]; PnvPHB3 *phb3 = PNV_PHB3(phb->backend); if (ics_valid_irq(&phb3->lsis, irq)) { @@ -XXX,XX +XXX,XX @@ static void pnv_ics_resend(XICSFabric *xi) ics_resend(&chip8->psi.ics); for (j = 0; j < chip8->num_phbs; j++) { - PnvPHB *phb = &chip8->phbs[j]; + PnvPHB *phb = chip8->phbs[j]; PnvPHB3 *phb3 = PNV_PHB3(phb->backend); ics_resend(&phb3->lsis); diff --git a/include/hw/ppc/pnv.h b/include/hw/ppc/pnv.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/ppc/pnv.h +++ b/include/hw/ppc/pnv.h @@ -XXX,XX +XXX,XX @@ struct Pnv8Chip { PnvHomer homer; #define PNV8_CHIP_PHB3_MAX 4 - PnvPHB phbs[PNV8_CHIP_PHB3_MAX]; + /* + * The array is used to allow quick access to the phbs by + * pnv_ics_get_child() and pnv_ics_resend_child(). + */ + PnvPHB *phbs[PNV8_CHIP_PHB3_MAX]; uint32_t num_phbs; XICSFabric *xics; -- 2.37.2
The bulk of the work was already done by previous patches. Use defaults_enabled() to determine whether we need to create the default devices or not. Reviewed-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220811163950.578927-7-danielhb413@gmail.com> --- hw/pci-host/pnv_phb.c | 9 +++++++-- hw/ppc/pnv.c | 32 ++++++++++++++++++-------------- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -XXX,XX +XXX,XX @@ #include "hw/ppc/pnv.h" #include "hw/qdev-properties.h" #include "qom/object.h" +#include "sysemu/sysemu.h" /* @@ -XXX,XX +XXX,XX @@ static void pnv_phb_realize(DeviceState *dev, Error **errp) pnv_phb4_bus_init(dev, PNV_PHB4(phb->backend)); } + if (phb->version == 3 && !defaults_enabled()) { + return; + } + pnv_phb_attach_root_port(pci); } @@ -XXX,XX +XXX,XX @@ static void pnv_phb_class_init(ObjectClass *klass, void *data) dc->realize = pnv_phb_realize; device_class_set_props(dc, pnv_phb_properties); set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories); - dc->user_creatable = false; + dc->user_creatable = true; } static void pnv_phb_root_port_reset(DeviceState *dev) @@ -XXX,XX +XXX,XX @@ static void pnv_phb_root_port_class_init(ObjectClass *klass, void *data) device_class_set_parent_reset(dc, pnv_phb_root_port_reset, &rpc->parent_reset); dc->reset = &pnv_phb_root_port_reset; - dc->user_creatable = false; + dc->user_creatable = true; k->vendor_id = PCI_VENDOR_ID_IBM; /* device_id will be written during realize() */ diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -XXX,XX +XXX,XX @@ static void pnv_chip_power8_instance_init(Object *obj) object_initialize_child(obj, "homer", &chip8->homer, TYPE_PNV8_HOMER); - chip8->num_phbs = pcc->num_phbs; - - for (i = 0; i < chip8->num_phbs; i++) { - Object *phb = object_new(TYPE_PNV_PHB); - - /* - * We need the chip to parent the PHB to allow the DT - * to build correctly (via pnv_xscom_dt()). - * - * TODO: the PHB should be parented by a PEC device that, at - * this moment, is not modelled powernv8/phb3. - */ - object_property_add_child(obj, "phb[*]", phb); - chip8->phbs[i] = PNV_PHB(phb); + if (defaults_enabled()) { + chip8->num_phbs = pcc->num_phbs; + + for (i = 0; i < chip8->num_phbs; i++) { + Object *phb = object_new(TYPE_PNV_PHB); + + /* + * We need the chip to parent the PHB to allow the DT + * to build correctly (via pnv_xscom_dt()). + * + * TODO: the PHB should be parented by a PEC device that, at + * this moment, is not modelled powernv8/phb3. + */ + object_property_add_child(obj, "phb[*]", phb); + chip8->phbs[i] = PNV_PHB(phb); + } } } @@ -XXX,XX +XXX,XX @@ static void pnv_machine_power8_class_init(ObjectClass *oc, void *data) pmc->compat = compat; pmc->compat_size = sizeof(compat); + + machine_class_allow_dynamic_sysbus_dev(mc, TYPE_PNV_PHB); } static void pnv_machine_power9_class_init(ObjectClass *oc, void *data) -- 2.37.2
The PHB4 backend relies on a link with the corresponding PEC element. This is trivial to do during machine_init() time for default devices, but not so much for user created ones. pnv_phb4_get_pec() is a small variation of the function that was reverted by commit 9c10d86fee "ppc/pnv: Remove user-created PHB{3,4,5} devices". We'll use it to determine the appropriate PEC for a given user created pnv-phb that uses a PHB4 backend. This is done during realize() time, in pnv_phb_user_device_init(). Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220811163950.578927-8-danielhb413@gmail.com> --- hw/ppc/pnv.c | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -XXX,XX +XXX,XX @@ static void pnv_dt_icp(PnvChip *chip, void *fdt, uint32_t pir, g_free(reg); } +static PnvPhb4PecState *pnv_phb4_get_pec(PnvChip *chip, PnvPHB4 *phb, + Error **errp) +{ + Pnv9Chip *chip9 = PNV9_CHIP(chip); + int chip_id = phb->chip_id; + int index = phb->phb_id; + int i, j; + + for (i = 0; i < chip->num_pecs; i++) { + /* + * For each PEC, check the amount of phbs it supports + * and see if the given phb4 index matches an index. + */ + PnvPhb4PecState *pec = &chip9->pecs[i]; + + for (j = 0; j < pec->num_phbs; j++) { + if (index == pnv_phb4_pec_get_phb_id(pec, j)) { + return pec; + } + } + } + error_setg(errp, + "pnv-phb4 chip-id %d index %d didn't match any existing PEC", + chip_id, index); + + return NULL; +} + /* * Adds a PnvPHB to the chip. Returns the parent obj of the * PHB which varies with each version (phb version 3 is parented @@ -XXX,XX +XXX,XX @@ Object *pnv_chip_add_phb(PnvChip *chip, PnvPHB *phb, Error **errp) chip8->num_phbs++; return OBJECT(chip); - } else { - /* phb4 support will be added later */ - return NULL; } + + phb->pec = pnv_phb4_get_pec(chip, PNV_PHB4(phb->backend), errp); + + return OBJECT(phb->pec); } static void pnv_chip_power8_dt_populate(PnvChip *chip, void *fdt) -- 2.37.2
Enable pnv-phb user created devices for powernv9 now that we have everything in place. Reviewed-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220811163950.578927-9-danielhb413@gmail.com> --- hw/pci-host/pnv_phb.c | 2 +- hw/pci-host/pnv_phb4_pec.c | 6 ++++-- hw/ppc/pnv.c | 2 ++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -XXX,XX +XXX,XX @@ static void pnv_phb_realize(DeviceState *dev, Error **errp) pnv_phb4_bus_init(dev, PNV_PHB4(phb->backend)); } - if (phb->version == 3 && !defaults_enabled()) { + if (!defaults_enabled()) { return; } diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb4_pec.c +++ b/hw/pci-host/pnv_phb4_pec.c @@ -XXX,XX +XXX,XX @@ static void pnv_pec_realize(DeviceState *dev, Error **errp) pec->num_phbs = pecc->num_phbs[pec->index]; /* Create PHBs if running with defaults */ - for (i = 0; i < pec->num_phbs; i++) { - pnv_pec_default_phb_realize(pec, i, errp); + if (defaults_enabled()) { + for (i = 0; i < pec->num_phbs; i++) { + pnv_pec_default_phb_realize(pec, i, errp); + } } /* Initialize the XSCOM regions for the PEC registers */ diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -XXX,XX +XXX,XX @@ static void pnv_machine_power9_class_init(ObjectClass *oc, void *data) pmc->compat = compat; pmc->compat_size = sizeof(compat); pmc->dt_power_mgt = pnv_dt_power_mgt; + + machine_class_allow_dynamic_sysbus_dev(mc, TYPE_PNV_PHB); } static void pnv_machine_power10_class_init(ObjectClass *oc, void *data) -- 2.37.2
The function assumes that we're always dealing with a PNV9_CHIP() object. This is not the case when the pnv-phb device belongs to a powernv10 machine. Change pnv_phb4_get_pec() to be able to work with PNV10_CHIP() if necessary. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220811163950.578927-10-danielhb413@gmail.com> --- hw/ppc/pnv.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -XXX,XX +XXX,XX @@ static void pnv_dt_icp(PnvChip *chip, void *fdt, uint32_t pir, static PnvPhb4PecState *pnv_phb4_get_pec(PnvChip *chip, PnvPHB4 *phb, Error **errp) { - Pnv9Chip *chip9 = PNV9_CHIP(chip); + PnvPHB *phb_base = phb->phb_base; + PnvPhb4PecState *pecs = NULL; int chip_id = phb->chip_id; int index = phb->phb_id; int i, j; + if (phb_base->version == 4) { + Pnv9Chip *chip9 = PNV9_CHIP(chip); + + pecs = chip9->pecs; + } else if (phb_base->version == 5) { + Pnv10Chip *chip10 = PNV10_CHIP(chip); + + pecs = chip10->pecs; + } else { + g_assert_not_reached(); + } + for (i = 0; i < chip->num_pecs; i++) { /* * For each PEC, check the amount of phbs it supports * and see if the given phb4 index matches an index. */ - PnvPhb4PecState *pec = &chip9->pecs[i]; + PnvPhb4PecState *pec = &pecs[i]; for (j = 0; j < pec->num_phbs; j++) { if (index == pnv_phb4_pec_get_phb_id(pec, j)) { -- 2.37.2
Given that powernv9 and powernv10 uses the same pnv-phb backend, the logic to allow user created pnv-phbs for powernv10 is already in place. Let's flip the switch. Reviewed-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220811163950.578927-11-danielhb413@gmail.com> --- hw/ppc/pnv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/pnv.c +++ b/hw/ppc/pnv.c @@ -XXX,XX +XXX,XX @@ static void pnv_machine_power10_class_init(ObjectClass *oc, void *data) pmc->dt_power_mgt = pnv_dt_power_mgt; xfc->match_nvt = pnv10_xive_match_nvt; + + machine_class_allow_dynamic_sysbus_dev(mc, TYPE_PNV_PHB); } static bool pnv_machine_get_hb(Object *obj, Error **errp) -- 2.37.2
We have 2 helpers that amends the QOM and parent bus of a given object, repectively. These 2 helpers are called together, and not by accident. Due to QOM internals, doing an object_unparent() will result in the device being removed from its parent bus. This means that changing the QOM parent requires reassigning the parent bus again. Create a single helper called pnv_parent_fixup(), documenting some of the QOM specifics that we're dealing with the unparenting/parenting mechanics, and handle both the QOM and the parent bus assignment. Next patch will make use of this function to handle a case where we need to change the QOM parent while keeping the same parent bus assigned beforehand. Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220819094748.400578-2-danielhb413@gmail.com> --- hw/pci-host/pnv_phb.c | 43 ++++++++++++++++++++++++++++--------------- 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -XXX,XX +XXX,XX @@ /* - * Set the QOM parent of an object child. If the device state - * associated with the child has an id, use it as QOM id. Otherwise - * use object_typename[index] as QOM id. + * Set the QOM parent and parent bus of an object child. If the device + * state associated with the child has an id, use it as QOM id. + * Otherwise use object_typename[index] as QOM id. + * + * This helper does both operations at the same time because seting + * a new QOM child will erase the bus parent of the device. This happens + * because object_unparent() will call object_property_del_child(), + * which in turn calls the property release callback prop->release if + * it's defined. In our case this callback is set to + * object_finalize_child_property(), which was assigned during the + * first object_property_add_child() call. This callback will end up + * calling device_unparent(), and this function removes the device + * from its parent bus. + * + * The QOM and parent bus to be set aren´t necessarily related, so + * let's receive both as arguments. */ -static void pnv_parent_qom_fixup(Object *parent, Object *child, int index) +static bool pnv_parent_fixup(Object *parent, BusState *parent_bus, + Object *child, int index, + Error **errp) { g_autofree char *default_id = g_strdup_printf("%s[%d]", object_get_typename(child), index); const char *dev_id = DEVICE(child)->id; if (child->parent == parent) { - return; + return true; } object_ref(child); object_unparent(child); object_property_add_child(parent, dev_id ? dev_id : default_id, child); object_unref(child); -} - -static void pnv_parent_bus_fixup(DeviceState *parent, DeviceState *child, - Error **errp) -{ - BusState *parent_bus = qdev_get_parent_bus(parent); - if (!qdev_set_parent_bus(child, parent_bus, errp)) { - return; + if (!qdev_set_parent_bus(DEVICE(child), parent_bus, errp)) { + return false; } + + return true; } /* @@ -XXX,XX +XXX,XX @@ static bool pnv_phb_user_device_init(PnvPHB *phb, Error **errp) * correctly the device tree. pnv_xscom_dt() needs every * PHB to be a child of the chip to build the DT correctly. */ - pnv_parent_qom_fixup(parent, OBJECT(phb), phb->phb_id); - pnv_parent_bus_fixup(DEVICE(chip), DEVICE(phb), errp); + if (!pnv_parent_fixup(parent, qdev_get_parent_bus(DEVICE(chip)), + OBJECT(phb), phb->phb_id, errp)) { + return false; + } return true; } -- 2.37.2
User creatable root ports are being parented by the 'peripheral' or the 'peripheral-anon' container. This happens because this is the regular QOM schema for sysbus devices that are added via the command line. Let's make this QOM hierarchy similar to what we have with default root ports, i.e. the root port must be parented by the pnv-root-bus. To do that we change the qom and bus parent of the root port during root_port_realize(). The realize() is shared by the default root port code path, so we can remove the code inside pnv_phb_attach_root_port() that was adding the root port as a child of the bus as well. After all that, remove pnv_phb_attach_root_port() and create the root port explictly in the 'default_enabled()' case of pnv_phb_realize(). Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Message-Id: <20220819094748.400578-3-danielhb413@gmail.com> --- hw/pci-host/pnv_phb.c | 47 ++++++++++++++++++------------------------- 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/hw/pci-host/pnv_phb.c b/hw/pci-host/pnv_phb.c index XXXXXXX..XXXXXXX 100644 --- a/hw/pci-host/pnv_phb.c +++ b/hw/pci-host/pnv_phb.c @@ -XXX,XX +XXX,XX @@ static bool pnv_parent_fixup(Object *parent, BusState *parent_bus, return true; } -/* - * Attach a root port device. - * - * 'index' will be used both as a PCIE slot value and to calculate - * QOM id. 'chip_id' is going to be used as PCIE chassis for the - * root port. - */ -static void pnv_phb_attach_root_port(PCIHostState *pci) -{ - PCIDevice *root = pci_new(PCI_DEVFN(0, 0), TYPE_PNV_PHB_ROOT_PORT); - const char *dev_id = DEVICE(root)->id; - g_autofree char *default_id = NULL; - int index; - - index = object_property_get_int(OBJECT(pci->bus), "phb-id", &error_fatal); - default_id = g_strdup_printf("%s[%d]", TYPE_PNV_PHB_ROOT_PORT, index); - - object_property_add_child(OBJECT(pci->bus), dev_id ? dev_id : default_id, - OBJECT(root)); - - pci_realize_and_unref(root, pci->bus, &error_fatal); -} - /* * User created devices won't have the initial setup that default * devices have. This setup consists of assigning a parent device @@ -XXX,XX +XXX,XX @@ static void pnv_phb_realize(DeviceState *dev, Error **errp) pnv_phb4_bus_init(dev, PNV_PHB4(phb->backend)); } - if (!defaults_enabled()) { - return; - } + if (defaults_enabled()) { + PCIDevice *root = pci_new(PCI_DEVFN(0, 0), TYPE_PNV_PHB_ROOT_PORT); - pnv_phb_attach_root_port(pci); + pci_realize_and_unref(root, pci->bus, errp); + } } static const char *pnv_phb_root_bus_path(PCIHostState *host_bridge, @@ -XXX,XX +XXX,XX @@ static void pnv_phb_root_port_realize(DeviceState *dev, Error **errp) Error *local_err = NULL; int chip_id, index; + /* + * 'index' will be used both as a PCIE slot value and to calculate + * QOM id. 'chip_id' is going to be used as PCIE chassis for the + * root port. + */ chip_id = object_property_get_int(OBJECT(bus), "chip-id", &error_fatal); index = object_property_get_int(OBJECT(bus), "phb-id", &error_fatal); @@ -XXX,XX +XXX,XX @@ static void pnv_phb_root_port_realize(DeviceState *dev, Error **errp) qdev_prop_set_uint8(dev, "chassis", chip_id); qdev_prop_set_uint16(dev, "slot", index); + /* + * User created root ports are QOM parented to one of + * the peripheral containers but it's already at the right + * parent bus. Change the QOM parent to be the same as the + * parent bus it's already assigned to. + */ + if (!pnv_parent_fixup(OBJECT(bus), BUS(bus), OBJECT(dev), + index, errp)) { + return; + } + rpc->parent_realize(dev, &local_err); if (local_err) { error_propagate(errp, local_err); -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> It has been deprecated since 7.0. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> Message-Id: <20220809153904.485018-2-clg@kaod.org> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- MAINTAINERS | 2 +- docs/about/deprecated.rst | 9 -- docs/about/removed-features.rst | 6 + docs/system/ppc/embedded.rst | 1 - hw/ppc/ppc405_boards.c | 232 -------------------------------- 5 files changed, 7 insertions(+), 243 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index XXXXXXX..XXXXXXX 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -XXX,XX +XXX,XX @@ F: hw/openrisc/openrisc_sim.c PowerPC Machines ---------------- -405 (ref405ep and taihu) +405 (ref405ep) L: qemu-ppc@nongnu.org S: Orphan F: hw/ppc/ppc405_boards.c diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index XXXXXXX..XXXXXXX 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -XXX,XX +XXX,XX @@ deprecated; use the new name ``dtb-randomness`` instead. The new name better reflects the way this property affects all random data within the device tree blob, not just the ``kaslr-seed`` node. -PPC 405 ``taihu`` machine (since 7.0) -''''''''''''''''''''''''''''''''''''' - -The PPC 405 CPU is a system-on-a-chip, so all 405 machines are very similar, -except for some external periphery. However, the periphery of the ``taihu`` -machine is hardly emulated at all (e.g. neither the LCD nor the USB part had -been implemented), so there is not much value added by this board. Use the -``ref405ep`` machine instead. - ``pc-i440fx-1.4`` up to ``pc-i440fx-1.7`` (since 7.0) ''''''''''''''''''''''''''''''''''''''''''''''''''''' diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.rst index XXXXXXX..XXXXXXX 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -XXX,XX +XXX,XX @@ Aspeed ``swift-bmc`` machine (removed in 7.0) This machine was removed because it was unused. Alternative AST2500 based OpenPOWER machines are ``witherspoon-bmc`` and ``romulus-bmc``. +ppc ``taihu`` machine (removed in 7.2) +''''''''''''''''''''''''''''''''''''''''''''' + +This machine was removed because it was partially emulated and 405 +machines are very similar. Use the ``ref405ep`` machine instead. + linux-user mode CPUs -------------------- diff --git a/docs/system/ppc/embedded.rst b/docs/system/ppc/embedded.rst index XXXXXXX..XXXXXXX 100644 --- a/docs/system/ppc/embedded.rst +++ b/docs/system/ppc/embedded.rst @@ -XXX,XX +XXX,XX @@ Embedded family boards - ``ppce500`` generic paravirt e500 platform - ``ref405ep`` ref405ep - ``sam460ex`` aCube Sam460ex -- ``taihu`` taihu - ``virtex-ml507`` Xilinx Virtex ML507 reference design diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_boards.c +++ b/hw/ppc/ppc405_boards.c @@ -XXX,XX +XXX,XX @@ static const TypeInfo ref405ep_type = { .class_init = ref405ep_class_init, }; -/*****************************************************************************/ -/* AMCC Taihu evaluation board */ -/* - PowerPC 405EP processor - * - SDRAM 128 MB at 0x00000000 - * - Boot flash 2 MB at 0xFFE00000 - * - Application flash 32 MB at 0xFC000000 - * - 2 serial ports - * - 2 ethernet PHY - * - 1 USB 1.1 device 0x50000000 - * - 1 LCD display 0x50100000 - * - 1 CPLD 0x50100000 - * - 1 I2C EEPROM - * - 1 I2C thermal sensor - * - a set of LEDs - * - bit-bang SPI port using GPIOs - * - 1 EBC interface connector 0 0x50200000 - * - 1 cardbus controller + expansion slot. - * - 1 PCI expansion slot. - */ -typedef struct taihu_cpld_t taihu_cpld_t; -struct taihu_cpld_t { - uint8_t reg0; - uint8_t reg1; -}; - -static uint64_t taihu_cpld_read(void *opaque, hwaddr addr, unsigned size) -{ - taihu_cpld_t *cpld; - uint32_t ret; - - cpld = opaque; - switch (addr) { - case 0x0: - ret = cpld->reg0; - break; - case 0x1: - ret = cpld->reg1; - break; - default: - ret = 0; - break; - } - - return ret; -} - -static void taihu_cpld_write(void *opaque, hwaddr addr, - uint64_t value, unsigned size) -{ - taihu_cpld_t *cpld; - - cpld = opaque; - switch (addr) { - case 0x0: - /* Read only */ - break; - case 0x1: - cpld->reg1 = value; - break; - default: - break; - } -} - -static const MemoryRegionOps taihu_cpld_ops = { - .read = taihu_cpld_read, - .write = taihu_cpld_write, - .impl = { - .min_access_size = 1, - .max_access_size = 1, - }, - .endianness = DEVICE_NATIVE_ENDIAN, -}; - -static void taihu_cpld_reset (void *opaque) -{ - taihu_cpld_t *cpld; - - cpld = opaque; - cpld->reg0 = 0x01; - cpld->reg1 = 0x80; -} - -static void taihu_cpld_init(MemoryRegion *sysmem, uint32_t base) -{ - taihu_cpld_t *cpld; - MemoryRegion *cpld_memory = g_new(MemoryRegion, 1); - - cpld = g_new0(taihu_cpld_t, 1); - memory_region_init_io(cpld_memory, NULL, &taihu_cpld_ops, cpld, "cpld", 0x100); - memory_region_add_subregion(sysmem, base, cpld_memory); - qemu_register_reset(&taihu_cpld_reset, cpld); -} - -static void taihu_405ep_init(MachineState *machine) -{ - MachineClass *mc = MACHINE_GET_CLASS(machine); - const char *bios_name = machine->firmware ?: BIOS_FILENAME; - const char *kernel_filename = machine->kernel_filename; - const char *initrd_filename = machine->initrd_filename; - char *filename; - MemoryRegion *sysmem = get_system_memory(); - MemoryRegion *bios; - MemoryRegion *ram_memories = g_new(MemoryRegion, 2); - hwaddr ram_bases[2], ram_sizes[2]; - long bios_size; - target_ulong kernel_base, initrd_base; - long kernel_size, initrd_size; - int linux_boot; - int fl_idx; - DriveInfo *dinfo; - DeviceState *uicdev; - - if (machine->ram_size != mc->default_ram_size) { - char *sz = size_to_str(mc->default_ram_size); - error_report("Invalid RAM size, should be %s", sz); - g_free(sz); - exit(EXIT_FAILURE); - } - - ram_bases[0] = 0; - ram_sizes[0] = 0x04000000; - memory_region_init_alias(&ram_memories[0], NULL, - "taihu_405ep.ram-0", machine->ram, ram_bases[0], - ram_sizes[0]); - ram_bases[1] = 0x04000000; - ram_sizes[1] = 0x04000000; - memory_region_init_alias(&ram_memories[1], NULL, - "taihu_405ep.ram-1", machine->ram, ram_bases[1], - ram_sizes[1]); - ppc405ep_init(sysmem, ram_memories, ram_bases, ram_sizes, - 33333333, &uicdev, kernel_filename == NULL ? 0 : 1); - /* allocate and load BIOS */ - fl_idx = 0; -#if defined(USE_FLASH_BIOS) - dinfo = drive_get(IF_PFLASH, 0, fl_idx); - if (dinfo) { - bios_size = 2 * MiB; - pflash_cfi02_register(0xFFE00000, - "taihu_405ep.bios", bios_size, - blk_by_legacy_dinfo(dinfo), - 64 * KiB, 1, - 4, 0x0001, 0x22DA, 0x0000, 0x0000, 0x555, 0x2AA, - 1); - fl_idx++; - } else -#endif - { - bios = g_new(MemoryRegion, 1); - memory_region_init_rom(bios, NULL, "taihu_405ep.bios", BIOS_SIZE, - &error_fatal); - filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); - if (filename) { - bios_size = load_image_size(filename, - memory_region_get_ram_ptr(bios), - BIOS_SIZE); - g_free(filename); - if (bios_size < 0) { - error_report("Could not load PowerPC BIOS '%s'", bios_name); - exit(1); - } - bios_size = (bios_size + 0xfff) & ~0xfff; - memory_region_add_subregion(sysmem, (uint32_t)(-bios_size), bios); - } else if (!qtest_enabled()) { - error_report("Could not load PowerPC BIOS '%s'", bios_name); - exit(1); - } - } - /* Register Linux flash */ - dinfo = drive_get(IF_PFLASH, 0, fl_idx); - if (dinfo) { - bios_size = 32 * MiB; - pflash_cfi02_register(0xfc000000, "taihu_405ep.flash", bios_size, - blk_by_legacy_dinfo(dinfo), - 64 * KiB, 1, - 4, 0x0001, 0x22DA, 0x0000, 0x0000, 0x555, 0x2AA, - 1); - fl_idx++; - } - /* Register CLPD & LCD display */ - taihu_cpld_init(sysmem, 0x50100000); - /* Load kernel */ - linux_boot = (kernel_filename != NULL); - if (linux_boot) { - kernel_base = KERNEL_LOAD_ADDR; - /* now we can load the kernel */ - kernel_size = load_image_targphys(kernel_filename, kernel_base, - machine->ram_size - kernel_base); - if (kernel_size < 0) { - error_report("could not load kernel '%s'", kernel_filename); - exit(1); - } - /* load initrd */ - if (initrd_filename) { - initrd_base = INITRD_LOAD_ADDR; - initrd_size = load_image_targphys(initrd_filename, initrd_base, - machine->ram_size - initrd_base); - if (initrd_size < 0) { - error_report("could not load initial ram disk '%s'", - initrd_filename); - exit(1); - } - } else { - initrd_base = 0; - initrd_size = 0; - } - } else { - kernel_base = 0; - kernel_size = 0; - initrd_base = 0; - initrd_size = 0; - } -} - -static void taihu_class_init(ObjectClass *oc, void *data) -{ - MachineClass *mc = MACHINE_CLASS(oc); - - mc->desc = "taihu"; - mc->init = taihu_405ep_init; - mc->default_ram_size = 0x08000000; - mc->default_ram_id = "taihu_405ep.ram"; - mc->deprecation_reason = "incomplete, use 'ref405ep' instead"; -} - -static const TypeInfo taihu_type = { - .name = MACHINE_TYPE_NAME("taihu"), - .parent = TYPE_MACHINE, - .class_init = taihu_class_init, -}; - static void ppc405_machine_init(void) { type_register_static(&ref405ep_type); - type_register_static(&taihu_type); } type_init(ppc405_machine_init) -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> We will use this machine as a base to define the ref405ep and possibly the PPC405 hotfoot board as found in the Linux kernel. Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu> Signed-off-by: Cédric Le Goater <clg@kaod.org> Message-Id: <20220809153904.485018-3-clg@kaod.org> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405_boards.c | 31 ++++++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_boards.c +++ b/hw/ppc/ppc405_boards.c @@ -XXX,XX +XXX,XX @@ #define USE_FLASH_BIOS +#define TYPE_PPC405_MACHINE MACHINE_TYPE_NAME("ppc405") +OBJECT_DECLARE_SIMPLE_TYPE(Ppc405MachineState, PPC405_MACHINE); + +struct Ppc405MachineState { + /* Private */ + MachineState parent_obj; + /* Public */ +}; + /*****************************************************************************/ /* PPC405EP reference board (IBM) */ /* Standalone board with: @@ -XXX,XX +XXX,XX @@ static void ref405ep_class_init(ObjectClass *oc, void *data) mc->desc = "ref405ep"; mc->init = ref405ep_init; - mc->default_ram_size = 0x08000000; - mc->default_ram_id = "ef405ep.ram"; } static const TypeInfo ref405ep_type = { .name = MACHINE_TYPE_NAME("ref405ep"), - .parent = TYPE_MACHINE, + .parent = TYPE_PPC405_MACHINE, .class_init = ref405ep_class_init, }; +static void ppc405_machine_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); + + mc->desc = "PPC405 generic machine"; + mc->default_ram_size = 128 * MiB; + mc->default_ram_id = "ppc405.ram"; +} + +static const TypeInfo ppc405_machine_type = { + .name = TYPE_PPC405_MACHINE, + .parent = TYPE_MACHINE, + .instance_size = sizeof(Ppc405MachineState), + .class_init = ppc405_machine_class_init, + .abstract = true, +}; + static void ppc405_machine_init(void) { + type_register_static(&ppc405_machine_type); type_register_static(&ref405ep_type); } -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu> Signed-off-by: Cédric Le Goater <clg@kaod.org> Message-Id: <20220809153904.485018-4-clg@kaod.org> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405_boards.c | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_boards.c +++ b/hw/ppc/ppc405_boards.c @@ -XXX,XX +XXX,XX @@ static void boot_from_kernel(MachineState *machine, PowerPCCPU *cpu) env->load_info = &boot_info; } -static void ref405ep_init(MachineState *machine) +static void ppc405_init(MachineState *machine) { MachineClass *mc = MACHINE_GET_CLASS(machine); const char *kernel_filename = machine->kernel_filename; PowerPCCPU *cpu; - DeviceState *dev; - SysBusDevice *s; MemoryRegion *sram = g_new(MemoryRegion, 1); MemoryRegion *ram_memories = g_new(MemoryRegion, 2); hwaddr ram_bases[2], ram_sizes[2]; @@ -XXX,XX +XXX,XX @@ static void ref405ep_init(MachineState *machine) memory_region_add_subregion(sysmem, (uint32_t)(-bios_size), bios); } - /* Register FPGA */ - ref405ep_fpga_init(sysmem, PPC405EP_FPGA_BASE); - /* Register NVRAM */ - dev = qdev_new("sysbus-m48t08"); - qdev_prop_set_int32(dev, "base-year", 1968); - s = SYS_BUS_DEVICE(dev); - sysbus_realize_and_unref(s, &error_fatal); - sysbus_mmio_map(s, 0, PPC405EP_NVRAM_BASE); - /* Load kernel and initrd using U-Boot images */ if (kernel_filename && machine->firmware) { target_ulong kernel_base, initrd_base; @@ -XXX,XX +XXX,XX @@ static void ref405ep_init(MachineState *machine) } } +static void ref405ep_init(MachineState *machine) +{ + DeviceState *dev; + SysBusDevice *s; + + ppc405_init(machine); + + /* Register FPGA */ + ref405ep_fpga_init(get_system_memory(), PPC405EP_FPGA_BASE); + /* Register NVRAM */ + dev = qdev_new("sysbus-m48t08"); + qdev_prop_set_int32(dev, "base-year", 1968); + s = SYS_BUS_DEVICE(dev); + sysbus_realize_and_unref(s, &error_fatal); + sysbus_mmio_map(s, 0, PPC405EP_NVRAM_BASE); +} + static void ref405ep_class_init(ObjectClass *oc, void *data) { MachineClass *mc = MACHINE_CLASS(oc); @@ -XXX,XX +XXX,XX @@ static void ppc405_machine_class_init(ObjectClass *oc, void *data) MachineClass *mc = MACHINE_CLASS(oc); mc->desc = "PPC405 generic machine"; + mc->init = ppc405_init; mc->default_ram_size = 128 * MiB; mc->default_ram_id = "ppc405.ram"; } -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> It doesn't belong to the generic machine nor the SoC. Fix a typo in the name while we are at it. Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <20220809153904.485018-5-clg@kaod.org> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405_boards.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_boards.c +++ b/hw/ppc/ppc405_boards.c @@ -XXX,XX +XXX,XX @@ static void ppc405_init(MachineState *machine) MachineClass *mc = MACHINE_GET_CLASS(machine); const char *kernel_filename = machine->kernel_filename; PowerPCCPU *cpu; - MemoryRegion *sram = g_new(MemoryRegion, 1); MemoryRegion *ram_memories = g_new(MemoryRegion, 2); hwaddr ram_bases[2], ram_sizes[2]; MemoryRegion *sysmem = get_system_memory(); @@ -XXX,XX +XXX,XX @@ static void ppc405_init(MachineState *machine) cpu = ppc405ep_init(sysmem, ram_memories, ram_bases, ram_sizes, 33333333, &uicdev, kernel_filename == NULL ? 0 : 1); - /* allocate SRAM */ - memory_region_init_ram(sram, NULL, "ef405ep.sram", PPC405EP_SRAM_SIZE, - &error_fatal); - memory_region_add_subregion(sysmem, PPC405EP_SRAM_BASE, sram); - /* allocate and load BIOS */ if (machine->firmware) { MemoryRegion *bios = g_new(MemoryRegion, 1); @@ -XXX,XX +XXX,XX @@ static void ref405ep_init(MachineState *machine) { DeviceState *dev; SysBusDevice *s; + MemoryRegion *sram = g_new(MemoryRegion, 1); ppc405_init(machine); + /* allocate SRAM */ + memory_region_init_ram(sram, NULL, "ref405ep.sram", PPC405EP_SRAM_SIZE, + &error_fatal); + memory_region_add_subregion(get_system_memory(), PPC405EP_SRAM_BASE, sram); + /* Register FPGA */ ref405ep_fpga_init(get_system_memory(), PPC405EP_FPGA_BASE); /* Register NVRAM */ -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> It is an initial model to start QOMification of the PPC405 board. QOM'ified devices will be reintroduced one by one. Start with the memory regions, which name prefix is changed to "ppc405". Also, initialize only one RAM bank. The second bank is a dummy one (zero size) which is here to match the hard coded number of banks in ppc405ep_init(). Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <20220809153904.485018-6-clg@kaod.org> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 16 ++++++++++++++++ hw/ppc/ppc405_boards.c | 23 ++++++++++++----------- hw/ppc/ppc405_uc.c | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 11 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ #ifndef PPC405_H #define PPC405_H +#include "qom/object.h" #include "hw/ppc/ppc4xx.h" #define PPC405EP_SDRAM_BASE 0x00000000 @@ -XXX,XX +XXX,XX @@ struct ppc4xx_bd_info_t { uint32_t bi_iic_fast[2]; }; +#define TYPE_PPC405_SOC "ppc405-soc" +OBJECT_DECLARE_SIMPLE_TYPE(Ppc405SoCState, PPC405_SOC); + +struct Ppc405SoCState { + /* Private */ + DeviceState parent_obj; + + /* Public */ + MemoryRegion ram_banks[2]; + hwaddr ram_bases[2], ram_sizes[2]; + + MemoryRegion *dram_mr; + hwaddr ram_size; +}; + /* PowerPC 405 core */ ram_addr_t ppc405_set_bootinfo(CPUPPCState *env, ram_addr_t ram_size); diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_boards.c +++ b/hw/ppc/ppc405_boards.c @@ -XXX,XX +XXX,XX @@ struct Ppc405MachineState { /* Private */ MachineState parent_obj; /* Public */ + + Ppc405SoCState soc; }; /*****************************************************************************/ @@ -XXX,XX +XXX,XX @@ static void boot_from_kernel(MachineState *machine, PowerPCCPU *cpu) static void ppc405_init(MachineState *machine) { + Ppc405MachineState *ppc405 = PPC405_MACHINE(machine); MachineClass *mc = MACHINE_GET_CLASS(machine); const char *kernel_filename = machine->kernel_filename; PowerPCCPU *cpu; - MemoryRegion *ram_memories = g_new(MemoryRegion, 2); - hwaddr ram_bases[2], ram_sizes[2]; MemoryRegion *sysmem = get_system_memory(); DeviceState *uicdev; @@ -XXX,XX +XXX,XX @@ static void ppc405_init(MachineState *machine) exit(EXIT_FAILURE); } - /* XXX: fix this */ - memory_region_init_alias(&ram_memories[0], NULL, "ef405ep.ram.alias", - machine->ram, 0, machine->ram_size); - ram_bases[0] = 0; - ram_sizes[0] = machine->ram_size; - memory_region_init(&ram_memories[1], NULL, "ef405ep.ram1", 0); - ram_bases[1] = 0x00000000; - ram_sizes[1] = 0x00000000; + object_initialize_child(OBJECT(machine), "soc", &ppc405->soc, + TYPE_PPC405_SOC); + object_property_set_uint(OBJECT(&ppc405->soc), "ram-size", + machine->ram_size, &error_fatal); + object_property_set_link(OBJECT(&ppc405->soc), "dram", + OBJECT(machine->ram), &error_abort); + qdev_realize(DEVICE(&ppc405->soc), NULL, &error_fatal); - cpu = ppc405ep_init(sysmem, ram_memories, ram_bases, ram_sizes, + cpu = ppc405ep_init(sysmem, ppc405->soc.ram_banks, ppc405->soc.ram_bases, + ppc405->soc.ram_sizes, 33333333, &uicdev, kernel_filename == NULL ? 0 : 1); /* allocate and load BIOS */ diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ #include "hw/ppc/ppc.h" #include "hw/i2c/ppc4xx_i2c.h" #include "hw/irq.h" +#include "hw/qdev-properties.h" #include "ppc405.h" #include "hw/char/serial.h" #include "qemu/timer.h" @@ -XXX,XX +XXX,XX @@ PowerPCCPU *ppc405ep_init(MemoryRegion *address_space_mem, return cpu; } + +static void ppc405_soc_realize(DeviceState *dev, Error **errp) +{ + Ppc405SoCState *s = PPC405_SOC(dev); + + /* Initialize only one bank */ + s->ram_bases[0] = 0; + s->ram_sizes[0] = s->ram_size; + memory_region_init_alias(&s->ram_banks[0], OBJECT(s), + "ppc405.sdram0", s->dram_mr, + s->ram_bases[0], s->ram_sizes[0]); +} + +static Property ppc405_soc_properties[] = { + DEFINE_PROP_LINK("dram", Ppc405SoCState, dram_mr, TYPE_MEMORY_REGION, + MemoryRegion *), + DEFINE_PROP_UINT64("ram-size", Ppc405SoCState, ram_size, 0), + DEFINE_PROP_END_OF_LIST(), +}; + +static void ppc405_soc_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + dc->realize = ppc405_soc_realize; + dc->user_creatable = false; + device_class_set_props(dc, ppc405_soc_properties); +} + +static const TypeInfo ppc405_types[] = { + { + .name = TYPE_PPC405_SOC, + .parent = TYPE_DEVICE, + .instance_size = sizeof(Ppc405SoCState), + .class_init = ppc405_soc_class_init, + } +}; + +DEFINE_TYPES(ppc405_types) -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> This moves all the code previously done in the ppc405ep_init() routine under ppc405_soc_realize(). We can also adjust the number of banks now that we have control on ppc4xx_sdram_init(). Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <20220809153904.485018-7-clg@kaod.org> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 12 ++-- hw/ppc/ppc405_boards.c | 12 ++-- hw/ppc/ppc405_uc.c | 124 ++++++++++++++++++++--------------------- 3 files changed, 71 insertions(+), 77 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { /* Public */ MemoryRegion ram_banks[2]; hwaddr ram_bases[2], ram_sizes[2]; + bool do_dram_init; MemoryRegion *dram_mr; hwaddr ram_size; + + uint32_t sysclk; + PowerPCCPU *cpu; + DeviceState *uic; }; /* PowerPC 405 core */ @@ -XXX,XX +XXX,XX @@ ram_addr_t ppc405_set_bootinfo(CPUPPCState *env, ram_addr_t ram_size); void ppc4xx_plb_init(CPUPPCState *env); void ppc405_ebc_init(CPUPPCState *env); -PowerPCCPU *ppc405ep_init(MemoryRegion *address_space_mem, - MemoryRegion ram_memories[2], - hwaddr ram_bases[2], - hwaddr ram_sizes[2], - uint32_t sysclk, DeviceState **uicdev, - int do_init); - #endif /* PPC405_H */ diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_boards.c +++ b/hw/ppc/ppc405_boards.c @@ -XXX,XX +XXX,XX @@ static void ppc405_init(MachineState *machine) Ppc405MachineState *ppc405 = PPC405_MACHINE(machine); MachineClass *mc = MACHINE_GET_CLASS(machine); const char *kernel_filename = machine->kernel_filename; - PowerPCCPU *cpu; MemoryRegion *sysmem = get_system_memory(); - DeviceState *uicdev; if (machine->ram_size != mc->default_ram_size) { char *sz = size_to_str(mc->default_ram_size); @@ -XXX,XX +XXX,XX @@ static void ppc405_init(MachineState *machine) machine->ram_size, &error_fatal); object_property_set_link(OBJECT(&ppc405->soc), "dram", OBJECT(machine->ram), &error_abort); + object_property_set_bool(OBJECT(&ppc405->soc), "dram-init", + kernel_filename != NULL, &error_abort); + object_property_set_uint(OBJECT(&ppc405->soc), "sys-clk", 33333333, + &error_abort); qdev_realize(DEVICE(&ppc405->soc), NULL, &error_fatal); - cpu = ppc405ep_init(sysmem, ppc405->soc.ram_banks, ppc405->soc.ram_bases, - ppc405->soc.ram_sizes, - 33333333, &uicdev, kernel_filename == NULL ? 0 : 1); - /* allocate and load BIOS */ if (machine->firmware) { MemoryRegion *bios = g_new(MemoryRegion, 1); @@ -XXX,XX +XXX,XX @@ static void ppc405_init(MachineState *machine) /* Load ELF kernel and rootfs.cpio */ } else if (kernel_filename && !machine->firmware) { - boot_from_kernel(machine, cpu); + boot_from_kernel(machine, ppc405->soc.cpu); } } diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ static void ppc405ep_cpc_init (CPUPPCState *env, clk_setup_t clk_setup[8], #endif } -PowerPCCPU *ppc405ep_init(MemoryRegion *address_space_mem, - MemoryRegion ram_memories[2], - hwaddr ram_bases[2], - hwaddr ram_sizes[2], - uint32_t sysclk, DeviceState **uicdevp, - int do_init) +static void ppc405_soc_realize(DeviceState *dev, Error **errp) { + Ppc405SoCState *s = PPC405_SOC(dev); clk_setup_t clk_setup[PPC405EP_CLK_NB], tlb_clk_setup; qemu_irq dma_irqs[4], gpt_irqs[5], mal_irqs[4]; - PowerPCCPU *cpu; CPUPPCState *env; - DeviceState *uicdev; - SysBusDevice *uicsbd; memset(clk_setup, 0, sizeof(clk_setup)); + /* init CPUs */ - cpu = ppc4xx_init(POWERPC_CPU_TYPE_NAME("405ep"), + s->cpu = ppc4xx_init(POWERPC_CPU_TYPE_NAME("405ep"), &clk_setup[PPC405EP_CPU_CLK], - &tlb_clk_setup, sysclk); - env = &cpu->env; + &tlb_clk_setup, s->sysclk); + env = &s->cpu->env; clk_setup[PPC405EP_CPU_CLK].cb = tlb_clk_setup.cb; clk_setup[PPC405EP_CPU_CLK].opaque = tlb_clk_setup.opaque; - /* Internal devices init */ - /* Memory mapped devices registers */ + + /* CPU control */ + ppc405ep_cpc_init(env, clk_setup, s->sysclk); + /* PLB arbitrer */ ppc4xx_plb_init(env); + /* PLB to OPB bridge */ ppc4xx_pob_init(env); + /* OBP arbitrer */ ppc4xx_opba_init(0xef600600); + /* Universal interrupt controller */ - uicdev = qdev_new(TYPE_PPC_UIC); - uicsbd = SYS_BUS_DEVICE(uicdev); + s->uic = qdev_new(TYPE_PPC_UIC); - object_property_set_link(OBJECT(uicdev), "cpu", OBJECT(cpu), + object_property_set_link(OBJECT(s->uic), "cpu", OBJECT(s->cpu), &error_fatal); - sysbus_realize_and_unref(uicsbd, &error_fatal); - - sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT, - qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT)); - sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT, - qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT)); + if (!sysbus_realize(SYS_BUS_DEVICE(s->uic), errp)) { + return; + } - *uicdevp = uicdev; + sysbus_connect_irq(SYS_BUS_DEVICE(s->uic), PPCUIC_OUTPUT_INT, + qdev_get_gpio_in(DEVICE(s->cpu), PPC40x_INPUT_INT)); + sysbus_connect_irq(SYS_BUS_DEVICE(s->uic), PPCUIC_OUTPUT_CINT, + qdev_get_gpio_in(DEVICE(s->cpu), PPC40x_INPUT_CINT)); /* SDRAM controller */ /* XXX 405EP has no ECC interrupt */ - ppc4xx_sdram_init(env, qdev_get_gpio_in(uicdev, 17), 2, ram_memories, - ram_bases, ram_sizes, do_init); + s->ram_bases[0] = 0; + s->ram_sizes[0] = s->ram_size; + memory_region_init_alias(&s->ram_banks[0], OBJECT(s), + "ppc405.sdram0", s->dram_mr, + s->ram_bases[0], s->ram_sizes[0]); + + ppc4xx_sdram_init(env, qdev_get_gpio_in(s->uic, 17), 1, + s->ram_banks, s->ram_bases, s->ram_sizes, + s->do_dram_init); + /* External bus controller */ ppc405_ebc_init(env); + /* DMA controller */ - dma_irqs[0] = qdev_get_gpio_in(uicdev, 5); - dma_irqs[1] = qdev_get_gpio_in(uicdev, 6); - dma_irqs[2] = qdev_get_gpio_in(uicdev, 7); - dma_irqs[3] = qdev_get_gpio_in(uicdev, 8); + dma_irqs[0] = qdev_get_gpio_in(s->uic, 5); + dma_irqs[1] = qdev_get_gpio_in(s->uic, 6); + dma_irqs[2] = qdev_get_gpio_in(s->uic, 7); + dma_irqs[3] = qdev_get_gpio_in(s->uic, 8); ppc405_dma_init(env, dma_irqs); - /* IIC controller */ + + /* I2C controller */ sysbus_create_simple(TYPE_PPC4xx_I2C, 0xef600500, - qdev_get_gpio_in(uicdev, 2)); + qdev_get_gpio_in(s->uic, 2)); /* GPIO */ ppc405_gpio_init(0xef600700); + /* Serial ports */ if (serial_hd(0) != NULL) { - serial_mm_init(address_space_mem, 0xef600300, 0, - qdev_get_gpio_in(uicdev, 0), + serial_mm_init(get_system_memory(), 0xef600300, 0, + qdev_get_gpio_in(s->uic, 0), PPC_SERIAL_MM_BAUDBASE, serial_hd(0), DEVICE_BIG_ENDIAN); } if (serial_hd(1) != NULL) { - serial_mm_init(address_space_mem, 0xef600400, 0, - qdev_get_gpio_in(uicdev, 1), + serial_mm_init(get_system_memory(), 0xef600400, 0, + qdev_get_gpio_in(s->uic, 1), PPC_SERIAL_MM_BAUDBASE, serial_hd(1), DEVICE_BIG_ENDIAN); } + /* OCM */ ppc405_ocm_init(env); + /* GPT */ - gpt_irqs[0] = qdev_get_gpio_in(uicdev, 19); - gpt_irqs[1] = qdev_get_gpio_in(uicdev, 20); - gpt_irqs[2] = qdev_get_gpio_in(uicdev, 21); - gpt_irqs[3] = qdev_get_gpio_in(uicdev, 22); - gpt_irqs[4] = qdev_get_gpio_in(uicdev, 23); + gpt_irqs[0] = qdev_get_gpio_in(s->uic, 19); + gpt_irqs[1] = qdev_get_gpio_in(s->uic, 20); + gpt_irqs[2] = qdev_get_gpio_in(s->uic, 21); + gpt_irqs[3] = qdev_get_gpio_in(s->uic, 22); + gpt_irqs[4] = qdev_get_gpio_in(s->uic, 23); ppc4xx_gpt_init(0xef600000, gpt_irqs); - /* PCI */ - /* Uses UIC IRQs 3, 16, 18 */ + /* MAL */ - mal_irqs[0] = qdev_get_gpio_in(uicdev, 11); - mal_irqs[1] = qdev_get_gpio_in(uicdev, 12); - mal_irqs[2] = qdev_get_gpio_in(uicdev, 13); - mal_irqs[3] = qdev_get_gpio_in(uicdev, 14); + mal_irqs[0] = qdev_get_gpio_in(s->uic, 11); + mal_irqs[1] = qdev_get_gpio_in(s->uic, 12); + mal_irqs[2] = qdev_get_gpio_in(s->uic, 13); + mal_irqs[3] = qdev_get_gpio_in(s->uic, 14); ppc4xx_mal_init(env, 4, 2, mal_irqs); + /* Ethernet */ /* Uses UIC IRQs 9, 15, 17 */ - /* CPU control */ - ppc405ep_cpc_init(env, clk_setup, sysclk); - - return cpu; -} - -static void ppc405_soc_realize(DeviceState *dev, Error **errp) -{ - Ppc405SoCState *s = PPC405_SOC(dev); - - /* Initialize only one bank */ - s->ram_bases[0] = 0; - s->ram_sizes[0] = s->ram_size; - memory_region_init_alias(&s->ram_banks[0], OBJECT(s), - "ppc405.sdram0", s->dram_mr, - s->ram_bases[0], s->ram_sizes[0]); } static Property ppc405_soc_properties[] = { DEFINE_PROP_LINK("dram", Ppc405SoCState, dram_mr, TYPE_MEMORY_REGION, MemoryRegion *), + DEFINE_PROP_UINT32("sys-clk", Ppc405SoCState, sysclk, 0), + DEFINE_PROP_BOOL("dram-init", Ppc405SoCState, do_dram_init, 0), DEFINE_PROP_UINT64("ram-size", Ppc405SoCState, ram_size, 0), DEFINE_PROP_END_OF_LIST(), }; @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_class_init(ObjectClass *oc, void *data) DeviceClass *dc = DEVICE_CLASS(oc); dc->realize = ppc405_soc_realize; + /* Reason: only works as part of a ppc405 board/machine */ dc->user_creatable = false; device_class_set_props(dc, ppc405_soc_properties); } -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> Drop the use of ppc4xx_init() and duplicate a bit of code related to clocks in the SoC realize routine. We will clean that up in the following patches. ppc_dcr_init() simply allocates default DCR handlers for the CPU. Maybe this could be done in model initializer of the CPU families needing it. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <20220809153904.485018-8-clg@kaod.org> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 2 +- hw/ppc/ppc405_boards.c | 2 +- hw/ppc/ppc405_uc.c | 40 ++++++++++++++++++++++++++++++---------- hw/ppc/ppc4xx_devs.c | 32 -------------------------------- include/hw/ppc/ppc4xx.h | 5 ----- 5 files changed, 32 insertions(+), 49 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { hwaddr ram_size; uint32_t sysclk; - PowerPCCPU *cpu; + PowerPCCPU cpu; DeviceState *uic; }; diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_boards.c +++ b/hw/ppc/ppc405_boards.c @@ -XXX,XX +XXX,XX @@ static void ppc405_init(MachineState *machine) /* Load ELF kernel and rootfs.cpio */ } else if (kernel_filename && !machine->firmware) { - boot_from_kernel(machine, ppc405->soc.cpu); + boot_from_kernel(machine, &ppc405->soc.cpu); } } diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ static void ppc405ep_cpc_init (CPUPPCState *env, clk_setup_t clk_setup[8], #endif } +static void ppc405_soc_instance_init(Object *obj) +{ + Ppc405SoCState *s = PPC405_SOC(obj); + + object_initialize_child(obj, "cpu", &s->cpu, + POWERPC_CPU_TYPE_NAME("405ep")); +} + +static void ppc405_reset(void *opaque) +{ + cpu_reset(CPU(opaque)); +} + static void ppc405_soc_realize(DeviceState *dev, Error **errp) { Ppc405SoCState *s = PPC405_SOC(dev); - clk_setup_t clk_setup[PPC405EP_CLK_NB], tlb_clk_setup; + clk_setup_t clk_setup[PPC405EP_CLK_NB]; qemu_irq dma_irqs[4], gpt_irqs[5], mal_irqs[4]; CPUPPCState *env; memset(clk_setup, 0, sizeof(clk_setup)); /* init CPUs */ - s->cpu = ppc4xx_init(POWERPC_CPU_TYPE_NAME("405ep"), - &clk_setup[PPC405EP_CPU_CLK], - &tlb_clk_setup, s->sysclk); - env = &s->cpu->env; - clk_setup[PPC405EP_CPU_CLK].cb = tlb_clk_setup.cb; - clk_setup[PPC405EP_CPU_CLK].opaque = tlb_clk_setup.opaque; + if (!qdev_realize(DEVICE(&s->cpu), NULL, errp)) { + return; + } + qemu_register_reset(ppc405_reset, &s->cpu); + + env = &s->cpu.env; + + clk_setup[PPC405EP_CPU_CLK].cb = + ppc_40x_timers_init(env, s->sysclk, PPC_INTERRUPT_PIT); + clk_setup[PPC405EP_CPU_CLK].opaque = env; + + ppc_dcr_init(env, NULL, NULL); /* CPU control */ ppc405ep_cpc_init(env, clk_setup, s->sysclk); @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) /* Universal interrupt controller */ s->uic = qdev_new(TYPE_PPC_UIC); - object_property_set_link(OBJECT(s->uic), "cpu", OBJECT(s->cpu), + object_property_set_link(OBJECT(s->uic), "cpu", OBJECT(&s->cpu), &error_fatal); if (!sysbus_realize(SYS_BUS_DEVICE(s->uic), errp)) { return; } sysbus_connect_irq(SYS_BUS_DEVICE(s->uic), PPCUIC_OUTPUT_INT, - qdev_get_gpio_in(DEVICE(s->cpu), PPC40x_INPUT_INT)); + qdev_get_gpio_in(DEVICE(&s->cpu), PPC40x_INPUT_INT)); sysbus_connect_irq(SYS_BUS_DEVICE(s->uic), PPCUIC_OUTPUT_CINT, - qdev_get_gpio_in(DEVICE(s->cpu), PPC40x_INPUT_CINT)); + qdev_get_gpio_in(DEVICE(&s->cpu), PPC40x_INPUT_CINT)); /* SDRAM controller */ /* XXX 405EP has no ECC interrupt */ @@ -XXX,XX +XXX,XX @@ static const TypeInfo ppc405_types[] = { .name = TYPE_PPC405_SOC, .parent = TYPE_DEVICE, .instance_size = sizeof(Ppc405SoCState), + .instance_init = ppc405_soc_instance_init, .class_init = ppc405_soc_class_init, } }; diff --git a/hw/ppc/ppc4xx_devs.c b/hw/ppc/ppc4xx_devs.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc4xx_devs.c +++ b/hw/ppc/ppc4xx_devs.c @@ -XXX,XX +XXX,XX @@ #include "qapi/error.h" #include "trace.h" -static void ppc4xx_reset(void *opaque) -{ - PowerPCCPU *cpu = opaque; - - cpu_reset(CPU(cpu)); -} - -/*****************************************************************************/ -/* Generic PowerPC 4xx processor instantiation */ -PowerPCCPU *ppc4xx_init(const char *cpu_type, - clk_setup_t *cpu_clk, clk_setup_t *tb_clk, - uint32_t sysclk) -{ - PowerPCCPU *cpu; - CPUPPCState *env; - - /* init CPUs */ - cpu = POWERPC_CPU(cpu_create(cpu_type)); - env = &cpu->env; - - cpu_clk->cb = NULL; /* We don't care about CPU clock frequency changes */ - cpu_clk->opaque = env; - /* Set time-base frequency to sysclk */ - tb_clk->cb = ppc_40x_timers_init(env, sysclk, PPC_INTERRUPT_PIT); - tb_clk->opaque = env; - ppc_dcr_init(env, NULL, NULL); - /* Register qemu callbacks */ - qemu_register_reset(ppc4xx_reset, cpu); - - return cpu; -} - /*****************************************************************************/ /* SDRAM controller */ typedef struct ppc4xx_sdram_t ppc4xx_sdram_t; diff --git a/include/hw/ppc/ppc4xx.h b/include/hw/ppc/ppc4xx.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/ppc/ppc4xx.h +++ b/include/hw/ppc/ppc4xx.h @@ -XXX,XX +XXX,XX @@ #include "hw/ppc/ppc.h" #include "exec/memory.h" -/* PowerPC 4xx core initialization */ -PowerPCCPU *ppc4xx_init(const char *cpu_model, - clk_setup_t *cpu_clk, clk_setup_t *tb_clk, - uint32_t sysclk); - void ppc4xx_sdram_banks(MemoryRegion *ram, int nr_banks, MemoryRegion ram_memories[], hwaddr ram_bases[], hwaddr ram_sizes[], -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> The Device Control Registers (DCR) of on-SoC devices are accessed by software through the use of the mtdcr and mfdcr instructions. These are converted in transactions on a side band bus, the DCR bus, which connects the on-SoC devices to the CPU. Ideally, we should model these accesses with a DCR namespace and DCR memory regions but today the DCR handlers are installed in a DCR table under the CPU. Instead, introduce a little device model wrapper to hold a CPU link and handle registration of DCR handlers. The DCR device inherits from SysBus because most of these devices also have MMIO regions and/or IRQs. Being a SysBusDevice makes things easier to install the device model in the overall SoC. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> [balaton: Explicit opaque parameter for dcr callbacks] Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <9b21bdf55e0a728f093bad299e030d98f302ded0.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc4xx_devs.c | 41 +++++++++++++++++++++++++++++++++++++++++ include/hw/ppc/ppc4xx.h | 17 +++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/hw/ppc/ppc4xx_devs.c b/hw/ppc/ppc4xx_devs.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc4xx_devs.c +++ b/hw/ppc/ppc4xx_devs.c @@ -XXX,XX +XXX,XX @@ void ppc4xx_mal_init(CPUPPCState *env, uint8_t txcnum, uint8_t rxcnum, mal, &dcr_read_mal, &dcr_write_mal); } } + +/* PPC4xx_DCR_DEVICE */ + +void ppc4xx_dcr_register(Ppc4xxDcrDeviceState *dev, int dcrn, void *opaque, + dcr_read_cb dcr_read, dcr_write_cb dcr_write) +{ + assert(dev->cpu); + ppc_dcr_register(&dev->cpu->env, dcrn, opaque, dcr_read, dcr_write); +} + +bool ppc4xx_dcr_realize(Ppc4xxDcrDeviceState *dev, PowerPCCPU *cpu, + Error **errp) +{ + object_property_set_link(OBJECT(dev), "cpu", OBJECT(cpu), &error_abort); + return sysbus_realize(SYS_BUS_DEVICE(dev), errp); +} + +static Property ppc4xx_dcr_properties[] = { + DEFINE_PROP_LINK("cpu", Ppc4xxDcrDeviceState, cpu, TYPE_POWERPC_CPU, + PowerPCCPU *), + DEFINE_PROP_END_OF_LIST(), +}; + +static void ppc4xx_dcr_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + device_class_set_props(dc, ppc4xx_dcr_properties); +} + +static const TypeInfo ppc4xx_types[] = { + { + .name = TYPE_PPC4xx_DCR_DEVICE, + .parent = TYPE_SYS_BUS_DEVICE, + .instance_size = sizeof(Ppc4xxDcrDeviceState), + .class_init = ppc4xx_dcr_class_init, + .abstract = true, + } +}; + +DEFINE_TYPES(ppc4xx_types) diff --git a/include/hw/ppc/ppc4xx.h b/include/hw/ppc/ppc4xx.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/ppc/ppc4xx.h +++ b/include/hw/ppc/ppc4xx.h @@ -XXX,XX +XXX,XX @@ #include "hw/ppc/ppc.h" #include "exec/memory.h" +#include "hw/sysbus.h" void ppc4xx_sdram_banks(MemoryRegion *ram, int nr_banks, MemoryRegion ram_memories[], @@ -XXX,XX +XXX,XX @@ void ppc4xx_mal_init(CPUPPCState *env, uint8_t txcnum, uint8_t rxcnum, #define TYPE_PPC4xx_PCI_HOST_BRIDGE "ppc4xx-pcihost" +/* + * Generic DCR device + */ +#define TYPE_PPC4xx_DCR_DEVICE "ppc4xx-dcr-device" +OBJECT_DECLARE_SIMPLE_TYPE(Ppc4xxDcrDeviceState, PPC4xx_DCR_DEVICE); +struct Ppc4xxDcrDeviceState { + SysBusDevice parent_obj; + + PowerPCCPU *cpu; +}; + +void ppc4xx_dcr_register(Ppc4xxDcrDeviceState *dev, int dcrn, void *opaque, + dcr_read_cb dcr_read, dcr_write_cb dcr_write); +bool ppc4xx_dcr_realize(Ppc4xxDcrDeviceState *dev, PowerPCCPU *cpu, + Error **errp); + #endif /* PPC4XX_H */ -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> The CPC controller is currently modeled as a DCR device. Now that all clock settings are handled at the CPC level, change the SoC "sys-clk" property to be an alias on the same property in the CPC model. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> [balaton: ppc4xx_dcr_register changes] Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <23393cb91a2c6c560a4461b3e9d1baa48ae28f74.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 35 ++++++++++- hw/ppc/ppc405_uc.c | 141 ++++++++++++++++++++------------------------- 2 files changed, 95 insertions(+), 81 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ struct ppc4xx_bd_info_t { uint32_t bi_iic_fast[2]; }; +#define TYPE_PPC405_CPC "ppc405-cpc" +OBJECT_DECLARE_SIMPLE_TYPE(Ppc405CpcState, PPC405_CPC); + +enum { + PPC405EP_CPU_CLK = 0, + PPC405EP_PLB_CLK = 1, + PPC405EP_OPB_CLK = 2, + PPC405EP_EBC_CLK = 3, + PPC405EP_MAL_CLK = 4, + PPC405EP_PCI_CLK = 5, + PPC405EP_UART0_CLK = 6, + PPC405EP_UART1_CLK = 7, + PPC405EP_CLK_NB = 8, +}; + +struct Ppc405CpcState { + Ppc4xxDcrDeviceState parent_obj; + + uint32_t sysclk; + clk_setup_t clk_setup[PPC405EP_CLK_NB]; + uint32_t boot; + uint32_t epctl; + uint32_t pllmr[2]; + uint32_t ucr; + uint32_t srr; + uint32_t jtagid; + uint32_t pci; + /* Clock and power management */ + uint32_t er; + uint32_t fr; + uint32_t sr; +}; + #define TYPE_PPC405_SOC "ppc405-soc" OBJECT_DECLARE_SIMPLE_TYPE(Ppc405SoCState, PPC405_SOC); @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { MemoryRegion *dram_mr; hwaddr ram_size; - uint32_t sysclk; PowerPCCPU cpu; DeviceState *uic; + Ppc405CpcState cpc; }; /* PowerPC 405 core */ diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ enum { #endif }; -enum { - PPC405EP_CPU_CLK = 0, - PPC405EP_PLB_CLK = 1, - PPC405EP_OPB_CLK = 2, - PPC405EP_EBC_CLK = 3, - PPC405EP_MAL_CLK = 4, - PPC405EP_PCI_CLK = 5, - PPC405EP_UART0_CLK = 6, - PPC405EP_UART1_CLK = 7, - PPC405EP_CLK_NB = 8, -}; - -typedef struct ppc405ep_cpc_t ppc405ep_cpc_t; -struct ppc405ep_cpc_t { - uint32_t sysclk; - clk_setup_t clk_setup[PPC405EP_CLK_NB]; - uint32_t boot; - uint32_t epctl; - uint32_t pllmr[2]; - uint32_t ucr; - uint32_t srr; - uint32_t jtagid; - uint32_t pci; - /* Clock and power management */ - uint32_t er; - uint32_t fr; - uint32_t sr; -}; - -static void ppc405ep_compute_clocks (ppc405ep_cpc_t *cpc) +static void ppc405ep_compute_clocks(Ppc405CpcState *cpc) { uint32_t CPU_clk, PLB_clk, OPB_clk, EBC_clk, MAL_clk, PCI_clk; uint32_t UART0_clk, UART1_clk; @@ -XXX,XX +XXX,XX @@ static void ppc405ep_compute_clocks (ppc405ep_cpc_t *cpc) clk_setup(&cpc->clk_setup[PPC405EP_UART1_CLK], UART1_clk); } -static uint32_t dcr_read_epcpc (void *opaque, int dcrn) +static uint32_t dcr_read_epcpc(void *opaque, int dcrn) { - ppc405ep_cpc_t *cpc; + Ppc405CpcState *cpc = opaque; uint32_t ret; - cpc = opaque; switch (dcrn) { case PPC405EP_CPC0_BOOT: ret = cpc->boot; @@ -XXX,XX +XXX,XX @@ static uint32_t dcr_read_epcpc (void *opaque, int dcrn) return ret; } -static void dcr_write_epcpc (void *opaque, int dcrn, uint32_t val) +static void dcr_write_epcpc(void *opaque, int dcrn, uint32_t val) { - ppc405ep_cpc_t *cpc; + Ppc405CpcState *cpc = opaque; - cpc = opaque; switch (dcrn) { case PPC405EP_CPC0_BOOT: /* Read-only register */ @@ -XXX,XX +XXX,XX @@ static void dcr_write_epcpc (void *opaque, int dcrn, uint32_t val) } } -static void ppc405ep_cpc_reset (void *opaque) +static void ppc405_cpc_reset(DeviceState *dev) { - ppc405ep_cpc_t *cpc = opaque; + Ppc405CpcState *cpc = PPC405_CPC(dev); cpc->boot = 0x00000010; /* Boot from PCI - IIC EEPROM disabled */ cpc->epctl = 0x00000000; @@ -XXX,XX +XXX,XX @@ static void ppc405ep_cpc_reset (void *opaque) cpc->er = 0x00000000; cpc->fr = 0x00000000; cpc->sr = 0x00000000; + cpc->jtagid = 0x20267049; ppc405ep_compute_clocks(cpc); } /* XXX: sysclk should be between 25 and 100 MHz */ -static void ppc405ep_cpc_init (CPUPPCState *env, clk_setup_t clk_setup[8], - uint32_t sysclk) +static void ppc405_cpc_realize(DeviceState *dev, Error **errp) { - ppc405ep_cpc_t *cpc; + Ppc405CpcState *cpc = PPC405_CPC(dev); + Ppc4xxDcrDeviceState *dcr = PPC4xx_DCR_DEVICE(dev); + + assert(dcr->cpu); + cpc->clk_setup[PPC405EP_CPU_CLK].cb = + ppc_40x_timers_init(&dcr->cpu->env, cpc->sysclk, PPC_INTERRUPT_PIT); + cpc->clk_setup[PPC405EP_CPU_CLK].opaque = &dcr->cpu->env; + + ppc4xx_dcr_register(dcr, PPC405EP_CPC0_BOOT, cpc, + &dcr_read_epcpc, &dcr_write_epcpc); + ppc4xx_dcr_register(dcr, PPC405EP_CPC0_EPCTL, cpc, + &dcr_read_epcpc, &dcr_write_epcpc); + ppc4xx_dcr_register(dcr, PPC405EP_CPC0_PLLMR0, cpc, + &dcr_read_epcpc, &dcr_write_epcpc); + ppc4xx_dcr_register(dcr, PPC405EP_CPC0_PLLMR1, cpc, + &dcr_read_epcpc, &dcr_write_epcpc); + ppc4xx_dcr_register(dcr, PPC405EP_CPC0_UCR, cpc, + &dcr_read_epcpc, &dcr_write_epcpc); + ppc4xx_dcr_register(dcr, PPC405EP_CPC0_SRR, cpc, + &dcr_read_epcpc, &dcr_write_epcpc); + ppc4xx_dcr_register(dcr, PPC405EP_CPC0_JTAGID, cpc, + &dcr_read_epcpc, &dcr_write_epcpc); + ppc4xx_dcr_register(dcr, PPC405EP_CPC0_PCI, cpc, + &dcr_read_epcpc, &dcr_write_epcpc); +} - cpc = g_new0(ppc405ep_cpc_t, 1); - memcpy(cpc->clk_setup, clk_setup, - PPC405EP_CLK_NB * sizeof(clk_setup_t)); - cpc->jtagid = 0x20267049; - cpc->sysclk = sysclk; - qemu_register_reset(&ppc405ep_cpc_reset, cpc); - ppc_dcr_register(env, PPC405EP_CPC0_BOOT, cpc, - &dcr_read_epcpc, &dcr_write_epcpc); - ppc_dcr_register(env, PPC405EP_CPC0_EPCTL, cpc, - &dcr_read_epcpc, &dcr_write_epcpc); - ppc_dcr_register(env, PPC405EP_CPC0_PLLMR0, cpc, - &dcr_read_epcpc, &dcr_write_epcpc); - ppc_dcr_register(env, PPC405EP_CPC0_PLLMR1, cpc, - &dcr_read_epcpc, &dcr_write_epcpc); - ppc_dcr_register(env, PPC405EP_CPC0_UCR, cpc, - &dcr_read_epcpc, &dcr_write_epcpc); - ppc_dcr_register(env, PPC405EP_CPC0_SRR, cpc, - &dcr_read_epcpc, &dcr_write_epcpc); - ppc_dcr_register(env, PPC405EP_CPC0_JTAGID, cpc, - &dcr_read_epcpc, &dcr_write_epcpc); - ppc_dcr_register(env, PPC405EP_CPC0_PCI, cpc, - &dcr_read_epcpc, &dcr_write_epcpc); -#if 0 - ppc_dcr_register(env, PPC405EP_CPC0_ER, cpc, - &dcr_read_epcpc, &dcr_write_epcpc); - ppc_dcr_register(env, PPC405EP_CPC0_FR, cpc, - &dcr_read_epcpc, &dcr_write_epcpc); - ppc_dcr_register(env, PPC405EP_CPC0_SR, cpc, - &dcr_read_epcpc, &dcr_write_epcpc); -#endif +static Property ppc405_cpc_properties[] = { + DEFINE_PROP_UINT32("sys-clk", Ppc405CpcState, sysclk, 0), + DEFINE_PROP_END_OF_LIST(), +}; + +static void ppc405_cpc_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + dc->realize = ppc405_cpc_realize; + dc->reset = ppc405_cpc_reset; + /* Reason: only works as function of a ppc4xx SoC */ + dc->user_creatable = false; + device_class_set_props(dc, ppc405_cpc_properties); } +/* PPC405_SOC */ + static void ppc405_soc_instance_init(Object *obj) { Ppc405SoCState *s = PPC405_SOC(obj); object_initialize_child(obj, "cpu", &s->cpu, POWERPC_CPU_TYPE_NAME("405ep")); + + object_initialize_child(obj, "cpc", &s->cpc, TYPE_PPC405_CPC); + object_property_add_alias(obj, "sys-clk", OBJECT(&s->cpc), "sys-clk"); } static void ppc405_reset(void *opaque) @@ -XXX,XX +XXX,XX @@ static void ppc405_reset(void *opaque) static void ppc405_soc_realize(DeviceState *dev, Error **errp) { Ppc405SoCState *s = PPC405_SOC(dev); - clk_setup_t clk_setup[PPC405EP_CLK_NB]; qemu_irq dma_irqs[4], gpt_irqs[5], mal_irqs[4]; CPUPPCState *env; - memset(clk_setup, 0, sizeof(clk_setup)); - /* init CPUs */ if (!qdev_realize(DEVICE(&s->cpu), NULL, errp)) { return; @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) env = &s->cpu.env; - clk_setup[PPC405EP_CPU_CLK].cb = - ppc_40x_timers_init(env, s->sysclk, PPC_INTERRUPT_PIT); - clk_setup[PPC405EP_CPU_CLK].opaque = env; - ppc_dcr_init(env, NULL, NULL); /* CPU control */ - ppc405ep_cpc_init(env, clk_setup, s->sysclk); + if (!ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(&s->cpc), &s->cpu, errp)) { + return; + } /* PLB arbitrer */ ppc4xx_plb_init(env); @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) static Property ppc405_soc_properties[] = { DEFINE_PROP_LINK("dram", Ppc405SoCState, dram_mr, TYPE_MEMORY_REGION, MemoryRegion *), - DEFINE_PROP_UINT32("sys-clk", Ppc405SoCState, sysclk, 0), DEFINE_PROP_BOOL("dram-init", Ppc405SoCState, do_dram_init, 0), DEFINE_PROP_UINT64("ram-size", Ppc405SoCState, ram_size, 0), DEFINE_PROP_END_OF_LIST(), @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_class_init(ObjectClass *oc, void *data) static const TypeInfo ppc405_types[] = { { + .name = TYPE_PPC405_CPC, + .parent = TYPE_PPC4xx_DCR_DEVICE, + .instance_size = sizeof(Ppc405CpcState), + .class_init = ppc405_cpc_class_init, + }, { .name = TYPE_PPC405_SOC, .parent = TYPE_DEVICE, .instance_size = sizeof(Ppc405SoCState), -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> The GPT controller is currently modeled as a SysBus device with a unique memory region, a couple of IRQs and a timer. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> [balaton: ppc4xx_dcr_register changes, add finalize method] Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <8950ab26e78173f94ba65bc61bcfd0631de1fe61.1660746880.git.balaton@eik.bme.hu> [danielhb: check if timer != NULL in ppc405_gpt_finalize()] Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 22 ++++++++++ hw/ppc/ppc405_uc.c | 102 ++++++++++++++++++++++++-------------------- hw/ppc/trace-events | 1 - 3 files changed, 78 insertions(+), 47 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ struct ppc4xx_bd_info_t { uint32_t bi_iic_fast[2]; }; +/* General purpose timers */ +#define TYPE_PPC405_GPT "ppc405-gpt" +OBJECT_DECLARE_SIMPLE_TYPE(Ppc405GptState, PPC405_GPT); +struct Ppc405GptState { + SysBusDevice parent_obj; + + MemoryRegion iomem; + + int64_t tb_offset; + uint32_t tb_freq; + QEMUTimer *timer; + qemu_irq irqs[5]; + uint32_t oe; + uint32_t ol; + uint32_t im; + uint32_t is; + uint32_t ie; + uint32_t comp[5]; + uint32_t mask[5]; +}; + #define TYPE_PPC405_CPC "ppc405-cpc" OBJECT_DECLARE_SIMPLE_TYPE(Ppc405CpcState, PPC405_CPC); @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { PowerPCCPU cpu; DeviceState *uic; Ppc405CpcState cpc; + Ppc405GptState gpt; }; /* PowerPC 405 core */ diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ static void ppc405_ocm_init(CPUPPCState *env) /*****************************************************************************/ /* General purpose timers */ -typedef struct ppc4xx_gpt_t ppc4xx_gpt_t; -struct ppc4xx_gpt_t { - MemoryRegion iomem; - int64_t tb_offset; - uint32_t tb_freq; - QEMUTimer *timer; - qemu_irq irqs[5]; - uint32_t oe; - uint32_t ol; - uint32_t im; - uint32_t is; - uint32_t ie; - uint32_t comp[5]; - uint32_t mask[5]; -}; - -static int ppc4xx_gpt_compare (ppc4xx_gpt_t *gpt, int n) +static int ppc4xx_gpt_compare(Ppc405GptState *gpt, int n) { /* XXX: TODO */ return 0; } -static void ppc4xx_gpt_set_output (ppc4xx_gpt_t *gpt, int n, int level) +static void ppc4xx_gpt_set_output(Ppc405GptState *gpt, int n, int level) { /* XXX: TODO */ } -static void ppc4xx_gpt_set_outputs (ppc4xx_gpt_t *gpt) +static void ppc4xx_gpt_set_outputs(Ppc405GptState *gpt) { uint32_t mask; int i; @@ -XXX,XX +XXX,XX @@ static void ppc4xx_gpt_set_outputs (ppc4xx_gpt_t *gpt) } } -static void ppc4xx_gpt_set_irqs (ppc4xx_gpt_t *gpt) +static void ppc4xx_gpt_set_irqs(Ppc405GptState *gpt) { uint32_t mask; int i; @@ -XXX,XX +XXX,XX @@ static void ppc4xx_gpt_set_irqs (ppc4xx_gpt_t *gpt) } } -static void ppc4xx_gpt_compute_timer (ppc4xx_gpt_t *gpt) +static void ppc4xx_gpt_compute_timer(Ppc405GptState *gpt) { /* XXX: TODO */ } static uint64_t ppc4xx_gpt_read(void *opaque, hwaddr addr, unsigned size) { - ppc4xx_gpt_t *gpt = opaque; + Ppc405GptState *gpt = opaque; uint32_t ret; int idx; @@ -XXX,XX +XXX,XX @@ static uint64_t ppc4xx_gpt_read(void *opaque, hwaddr addr, unsigned size) static void ppc4xx_gpt_write(void *opaque, hwaddr addr, uint64_t value, unsigned size) { - ppc4xx_gpt_t *gpt = opaque; + Ppc405GptState *gpt = opaque; int idx; trace_ppc4xx_gpt_write(addr, size, value); @@ -XXX,XX +XXX,XX @@ static const MemoryRegionOps gpt_ops = { .endianness = DEVICE_NATIVE_ENDIAN, }; -static void ppc4xx_gpt_cb (void *opaque) +static void ppc4xx_gpt_cb(void *opaque) { - ppc4xx_gpt_t *gpt; + Ppc405GptState *gpt = opaque; - gpt = opaque; ppc4xx_gpt_set_irqs(gpt); ppc4xx_gpt_set_outputs(gpt); ppc4xx_gpt_compute_timer(gpt); } -static void ppc4xx_gpt_reset (void *opaque) +static void ppc405_gpt_reset(DeviceState *dev) { - ppc4xx_gpt_t *gpt; + Ppc405GptState *gpt = PPC405_GPT(dev); int i; - gpt = opaque; timer_del(gpt->timer); gpt->oe = 0x00000000; gpt->ol = 0x00000000; @@ -XXX,XX +XXX,XX @@ static void ppc4xx_gpt_reset (void *opaque) } } -static void ppc4xx_gpt_init(hwaddr base, qemu_irq irqs[5]) +static void ppc405_gpt_realize(DeviceState *dev, Error **errp) { - ppc4xx_gpt_t *gpt; + Ppc405GptState *s = PPC405_GPT(dev); + SysBusDevice *sbd = SYS_BUS_DEVICE(dev); int i; - trace_ppc4xx_gpt_init(base); + s->timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, &ppc4xx_gpt_cb, s); + memory_region_init_io(&s->iomem, OBJECT(s), &gpt_ops, s, "gpt", 0xd4); + sysbus_init_mmio(sbd, &s->iomem); - gpt = g_new0(ppc4xx_gpt_t, 1); - for (i = 0; i < 5; i++) { - gpt->irqs[i] = irqs[i]; + for (i = 0; i < ARRAY_SIZE(s->irqs); i++) { + sysbus_init_irq(sbd, &s->irqs[i]); + } +} + +static void ppc405_gpt_finalize(Object *obj) +{ + /* timer will be NULL if the GPT wasn't realized */ + if (PPC405_GPT(obj)->timer) { + timer_del(PPC405_GPT(obj)->timer); } - gpt->timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, &ppc4xx_gpt_cb, gpt); - memory_region_init_io(&gpt->iomem, NULL, &gpt_ops, gpt, "gpt", 0x0d4); - memory_region_add_subregion(get_system_memory(), base, &gpt->iomem); - qemu_register_reset(ppc4xx_gpt_reset, gpt); +} + +static void ppc405_gpt_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + dc->realize = ppc405_gpt_realize; + dc->reset = ppc405_gpt_reset; + /* Reason: only works as function of a ppc4xx SoC */ + dc->user_creatable = false; } /*****************************************************************************/ @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_instance_init(Object *obj) object_initialize_child(obj, "cpc", &s->cpc, TYPE_PPC405_CPC); object_property_add_alias(obj, "sys-clk", OBJECT(&s->cpc), "sys-clk"); + + object_initialize_child(obj, "gpt", &s->gpt, TYPE_PPC405_GPT); } static void ppc405_reset(void *opaque) @@ -XXX,XX +XXX,XX @@ static void ppc405_reset(void *opaque) static void ppc405_soc_realize(DeviceState *dev, Error **errp) { Ppc405SoCState *s = PPC405_SOC(dev); - qemu_irq dma_irqs[4], gpt_irqs[5], mal_irqs[4]; + qemu_irq dma_irqs[4], mal_irqs[4]; CPUPPCState *env; + SysBusDevice *sbd; + int i; /* init CPUs */ if (!qdev_realize(DEVICE(&s->cpu), NULL, errp)) { @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) ppc405_ocm_init(env); /* GPT */ - gpt_irqs[0] = qdev_get_gpio_in(s->uic, 19); - gpt_irqs[1] = qdev_get_gpio_in(s->uic, 20); - gpt_irqs[2] = qdev_get_gpio_in(s->uic, 21); - gpt_irqs[3] = qdev_get_gpio_in(s->uic, 22); - gpt_irqs[4] = qdev_get_gpio_in(s->uic, 23); - ppc4xx_gpt_init(0xef600000, gpt_irqs); + sbd = SYS_BUS_DEVICE(&s->gpt); + if (!sysbus_realize(sbd, errp)) { + return; + } + sysbus_mmio_map(sbd, 0, 0xef600000); + for (i = 0; i < ARRAY_SIZE(s->gpt.irqs); i++) { + sysbus_connect_irq(sbd, i, qdev_get_gpio_in(s->uic, 19 + i)); + } /* MAL */ mal_irqs[0] = qdev_get_gpio_in(s->uic, 11); @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_class_init(ObjectClass *oc, void *data) static const TypeInfo ppc405_types[] = { { + .name = TYPE_PPC405_GPT, + .parent = TYPE_SYS_BUS_DEVICE, + .instance_size = sizeof(Ppc405GptState), + .instance_finalize = ppc405_gpt_finalize, + .class_init = ppc405_gpt_class_init, + }, { .name = TYPE_PPC405_CPC, .parent = TYPE_PPC4xx_DCR_DEVICE, .instance_size = sizeof(Ppc405CpcState), diff --git a/hw/ppc/trace-events b/hw/ppc/trace-events index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/trace-events +++ b/hw/ppc/trace-events @@ -XXX,XX +XXX,XX @@ ocm_unmap(const char* prefix, uint32_t isarc) "OCM unmap %s 0x%08" PRIx32 ppc4xx_gpt_read(uint64_t addr, uint32_t size) "addr 0x%" PRIx64 " size %d" ppc4xx_gpt_write(uint64_t addr, uint32_t size, uint64_t val) "addr 0x%" PRIx64 " size %d = 0x%" PRIx64 -ppc4xx_gpt_init(uint64_t addr) "offet 0x%" PRIx64 ppc405ep_clocks_compute(const char *param, uint32_t param2, uint32_t val) "%s 0x%1" PRIx32 " %d" ppc405ep_clocks_setup(const char *trace) "%s" -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> The OCM controller is currently modeled as a simple DCR device with a couple of memory regions. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> [balaton: ppc4xx_dcr_register changes] Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <ecb93d2d5993bb7a970365744c7d342d4abcb017.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 16 ++++++++++ hw/ppc/ppc405_uc.c | 77 +++++++++++++++++++++++----------------------- 2 files changed, 55 insertions(+), 38 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ struct ppc4xx_bd_info_t { uint32_t bi_iic_fast[2]; }; +/* On Chip Memory */ +#define TYPE_PPC405_OCM "ppc405-ocm" +OBJECT_DECLARE_SIMPLE_TYPE(Ppc405OcmState, PPC405_OCM); +struct Ppc405OcmState { + Ppc4xxDcrDeviceState parent_obj; + + MemoryRegion ram; + MemoryRegion isarc_ram; + MemoryRegion dsarc_ram; + uint32_t isarc; + uint32_t isacntl; + uint32_t dsarc; + uint32_t dsacntl; +}; + /* General purpose timers */ #define TYPE_PPC405_GPT "ppc405-gpt" OBJECT_DECLARE_SIMPLE_TYPE(Ppc405GptState, PPC405_GPT); @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { DeviceState *uic; Ppc405CpcState cpc; Ppc405GptState gpt; + Ppc405OcmState ocm; }; /* PowerPC 405 core */ diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ enum { OCM0_DSACNTL = 0x01B, }; -typedef struct ppc405_ocm_t ppc405_ocm_t; -struct ppc405_ocm_t { - MemoryRegion ram; - MemoryRegion isarc_ram; - MemoryRegion dsarc_ram; - uint32_t isarc; - uint32_t isacntl; - uint32_t dsarc; - uint32_t dsacntl; -}; - -static void ocm_update_mappings (ppc405_ocm_t *ocm, - uint32_t isarc, uint32_t isacntl, - uint32_t dsarc, uint32_t dsacntl) +static void ocm_update_mappings(Ppc405OcmState *ocm, + uint32_t isarc, uint32_t isacntl, + uint32_t dsarc, uint32_t dsacntl) { trace_ocm_update_mappings(isarc, isacntl, dsarc, dsacntl, ocm->isarc, ocm->isacntl, ocm->dsarc, ocm->dsacntl); @@ -XXX,XX +XXX,XX @@ static void ocm_update_mappings (ppc405_ocm_t *ocm, } } -static uint32_t dcr_read_ocm (void *opaque, int dcrn) +static uint32_t dcr_read_ocm(void *opaque, int dcrn) { - ppc405_ocm_t *ocm; + Ppc405OcmState *ocm = opaque; uint32_t ret; - ocm = opaque; switch (dcrn) { case OCM0_ISARC: ret = ocm->isarc; @@ -XXX,XX +XXX,XX @@ static uint32_t dcr_read_ocm (void *opaque, int dcrn) return ret; } -static void dcr_write_ocm (void *opaque, int dcrn, uint32_t val) +static void dcr_write_ocm(void *opaque, int dcrn, uint32_t val) { - ppc405_ocm_t *ocm; + Ppc405OcmState *ocm = opaque; uint32_t isarc, dsarc, isacntl, dsacntl; - ocm = opaque; isarc = ocm->isarc; dsarc = ocm->dsarc; isacntl = ocm->isacntl; @@ -XXX,XX +XXX,XX @@ static void dcr_write_ocm (void *opaque, int dcrn, uint32_t val) ocm->dsacntl = dsacntl; } -static void ocm_reset (void *opaque) +static void ppc405_ocm_reset(DeviceState *dev) { - ppc405_ocm_t *ocm; + Ppc405OcmState *ocm = PPC405_OCM(dev); uint32_t isarc, dsarc, isacntl, dsacntl; - ocm = opaque; isarc = 0x00000000; isacntl = 0x00000000; dsarc = 0x00000000; @@ -XXX,XX +XXX,XX @@ static void ocm_reset (void *opaque) ocm->dsacntl = dsacntl; } -static void ppc405_ocm_init(CPUPPCState *env) +static void ppc405_ocm_realize(DeviceState *dev, Error **errp) { - ppc405_ocm_t *ocm; + Ppc405OcmState *ocm = PPC405_OCM(dev); + Ppc4xxDcrDeviceState *dcr = PPC4xx_DCR_DEVICE(dev); - ocm = g_new0(ppc405_ocm_t, 1); /* XXX: Size is 4096 or 0x04000000 */ - memory_region_init_ram(&ocm->isarc_ram, NULL, "ppc405.ocm", 4 * KiB, + memory_region_init_ram(&ocm->isarc_ram, OBJECT(ocm), "ppc405.ocm", 4 * KiB, &error_fatal); - memory_region_init_alias(&ocm->dsarc_ram, NULL, "ppc405.dsarc", + memory_region_init_alias(&ocm->dsarc_ram, OBJECT(ocm), "ppc405.dsarc", &ocm->isarc_ram, 0, 4 * KiB); - qemu_register_reset(&ocm_reset, ocm); - ppc_dcr_register(env, OCM0_ISARC, - ocm, &dcr_read_ocm, &dcr_write_ocm); - ppc_dcr_register(env, OCM0_ISACNTL, - ocm, &dcr_read_ocm, &dcr_write_ocm); - ppc_dcr_register(env, OCM0_DSARC, - ocm, &dcr_read_ocm, &dcr_write_ocm); - ppc_dcr_register(env, OCM0_DSACNTL, - ocm, &dcr_read_ocm, &dcr_write_ocm); + + ppc4xx_dcr_register(dcr, OCM0_ISARC, ocm, &dcr_read_ocm, &dcr_write_ocm); + ppc4xx_dcr_register(dcr, OCM0_ISACNTL, ocm, &dcr_read_ocm, &dcr_write_ocm); + ppc4xx_dcr_register(dcr, OCM0_DSARC, ocm, &dcr_read_ocm, &dcr_write_ocm); + ppc4xx_dcr_register(dcr, OCM0_DSACNTL, ocm, &dcr_read_ocm, &dcr_write_ocm); +} + +static void ppc405_ocm_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + dc->realize = ppc405_ocm_realize; + dc->reset = ppc405_ocm_reset; + /* Reason: only works as function of a ppc4xx SoC */ + dc->user_creatable = false; } /*****************************************************************************/ @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_instance_init(Object *obj) object_property_add_alias(obj, "sys-clk", OBJECT(&s->cpc), "sys-clk"); object_initialize_child(obj, "gpt", &s->gpt, TYPE_PPC405_GPT); + + object_initialize_child(obj, "ocm", &s->ocm, TYPE_PPC405_OCM); } static void ppc405_reset(void *opaque) @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) } /* OCM */ - ppc405_ocm_init(env); + if (!ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(&s->ocm), &s->cpu, errp)) { + return; + } /* GPT */ sbd = SYS_BUS_DEVICE(&s->gpt); @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_class_init(ObjectClass *oc, void *data) static const TypeInfo ppc405_types[] = { { + .name = TYPE_PPC405_OCM, + .parent = TYPE_PPC4xx_DCR_DEVICE, + .instance_size = sizeof(Ppc405OcmState), + .class_init = ppc405_ocm_class_init, + }, { .name = TYPE_PPC405_GPT, .parent = TYPE_SYS_BUS_DEVICE, .instance_size = sizeof(Ppc405GptState), -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> The GPIO controller is currently modeled as a simple SysBus device with a unique memory region. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> [balaton: Simplify sysbus device casts for readability] Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <e95d7849f3768e1f9a2846c4b282392750678b3e.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 21 +++++++++++++++++++ hw/ppc/ppc405_uc.c | 50 ++++++++++++++++++++++----------------------- hw/ppc/trace-events | 1 - 3 files changed, 45 insertions(+), 27 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ struct ppc4xx_bd_info_t { uint32_t bi_iic_fast[2]; }; +/* GPIO */ +#define TYPE_PPC405_GPIO "ppc405-gpio" +OBJECT_DECLARE_SIMPLE_TYPE(Ppc405GpioState, PPC405_GPIO); +struct Ppc405GpioState { + SysBusDevice parent_obj; + + MemoryRegion io; + uint32_t or; + uint32_t tcr; + uint32_t osrh; + uint32_t osrl; + uint32_t tsrh; + uint32_t tsrl; + uint32_t odr; + uint32_t ir; + uint32_t rr1; + uint32_t isr1h; + uint32_t isr1l; +}; + /* On Chip Memory */ #define TYPE_PPC405_OCM "ppc405-ocm" OBJECT_DECLARE_SIMPLE_TYPE(Ppc405OcmState, PPC405_OCM); @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { Ppc405CpcState cpc; Ppc405GptState gpt; Ppc405OcmState ocm; + Ppc405GpioState gpio; }; /* PowerPC 405 core */ diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ static void ppc405_dma_init(CPUPPCState *env, qemu_irq irqs[4]) /*****************************************************************************/ /* GPIO */ -typedef struct ppc405_gpio_t ppc405_gpio_t; -struct ppc405_gpio_t { - MemoryRegion io; - uint32_t or; - uint32_t tcr; - uint32_t osrh; - uint32_t osrl; - uint32_t tsrh; - uint32_t tsrl; - uint32_t odr; - uint32_t ir; - uint32_t rr1; - uint32_t isr1h; - uint32_t isr1l; -}; - static uint64_t ppc405_gpio_read(void *opaque, hwaddr addr, unsigned size) { trace_ppc405_gpio_read(addr, size); @@ -XXX,XX +XXX,XX @@ static const MemoryRegionOps ppc405_gpio_ops = { .endianness = DEVICE_NATIVE_ENDIAN, }; -static void ppc405_gpio_reset (void *opaque) +static void ppc405_gpio_realize(DeviceState *dev, Error **errp) { + Ppc405GpioState *s = PPC405_GPIO(dev); + + memory_region_init_io(&s->io, OBJECT(s), &ppc405_gpio_ops, s, "gpio", + 0x38); + sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->io); } -static void ppc405_gpio_init(hwaddr base) +static void ppc405_gpio_class_init(ObjectClass *oc, void *data) { - ppc405_gpio_t *gpio; - - trace_ppc405_gpio_init(base); + DeviceClass *dc = DEVICE_CLASS(oc); - gpio = g_new0(ppc405_gpio_t, 1); - memory_region_init_io(&gpio->io, NULL, &ppc405_gpio_ops, gpio, "pgio", 0x038); - memory_region_add_subregion(get_system_memory(), base, &gpio->io); - qemu_register_reset(&ppc405_gpio_reset, gpio); + dc->realize = ppc405_gpio_realize; + /* Reason: only works as function of a ppc4xx SoC */ + dc->user_creatable = false; } /*****************************************************************************/ @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_instance_init(Object *obj) object_initialize_child(obj, "gpt", &s->gpt, TYPE_PPC405_GPT); object_initialize_child(obj, "ocm", &s->ocm, TYPE_PPC405_OCM); + + object_initialize_child(obj, "gpio", &s->gpio, TYPE_PPC405_GPIO); } static void ppc405_reset(void *opaque) @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) /* I2C controller */ sysbus_create_simple(TYPE_PPC4xx_I2C, 0xef600500, qdev_get_gpio_in(s->uic, 2)); + /* GPIO */ - ppc405_gpio_init(0xef600700); + sbd = SYS_BUS_DEVICE(&s->gpio); + if (!sysbus_realize(sbd, errp)) { + return; + } + sysbus_mmio_map(sbd, 0, 0xef600700); /* Serial ports */ if (serial_hd(0) != NULL) { @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_class_init(ObjectClass *oc, void *data) static const TypeInfo ppc405_types[] = { { + .name = TYPE_PPC405_GPIO, + .parent = TYPE_SYS_BUS_DEVICE, + .instance_size = sizeof(Ppc405GpioState), + .class_init = ppc405_gpio_class_init, + }, { .name = TYPE_PPC405_OCM, .parent = TYPE_PPC4xx_DCR_DEVICE, .instance_size = sizeof(Ppc405OcmState), diff --git a/hw/ppc/trace-events b/hw/ppc/trace-events index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/trace-events +++ b/hw/ppc/trace-events @@ -XXX,XX +XXX,XX @@ opba_init(uint64_t addr) "offet 0x%" PRIx64 ppc405_gpio_read(uint64_t addr, uint32_t size) "addr 0x%" PRIx64 " size %d" ppc405_gpio_write(uint64_t addr, uint32_t size, uint64_t val) "addr 0x%" PRIx64 " size %d = 0x%" PRIx64 -ppc405_gpio_init(uint64_t addr) "offet 0x%" PRIx64 ocm_update_mappings(uint32_t isarc, uint32_t isacntl, uint32_t dsarc, uint32_t dsacntl, uint32_t ocm_isarc, uint32_t ocm_isacntl, uint32_t ocm_dsarc, uint32_t ocm_dsacntl) "OCM update ISA 0x%08" PRIx32 " 0x%08" PRIx32 " (0x%08" PRIx32" 0x%08" PRIx32 ") DSA 0x%08" PRIx32 " 0x%08" PRIx32" (0x%08" PRIx32 " 0x%08" PRIx32 ")" ocm_map(const char* prefix, uint32_t isarc) "OCM map %s 0x%08" PRIx32 -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> The DMA controller is currently modeled as a DCR device with a couple of IRQs. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> [balaton: ppc4xx_dcr_register changes] Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <4738b3c7cf18c328f05aaaddc555a46219431335.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 19 ++++++ hw/ppc/ppc405_uc.c | 141 ++++++++++++++++++++------------------------- 2 files changed, 81 insertions(+), 79 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ struct ppc4xx_bd_info_t { uint32_t bi_iic_fast[2]; }; +/* DMA controller */ +#define TYPE_PPC405_DMA "ppc405-dma" +OBJECT_DECLARE_SIMPLE_TYPE(Ppc405DmaState, PPC405_DMA); +struct Ppc405DmaState { + Ppc4xxDcrDeviceState parent_obj; + + qemu_irq irqs[4]; + uint32_t cr[4]; + uint32_t ct[4]; + uint32_t da[4]; + uint32_t sa[4]; + uint32_t sg[4]; + uint32_t sr; + uint32_t sgc; + uint32_t slp; + uint32_t pol; +}; + /* GPIO */ #define TYPE_PPC405_GPIO "ppc405-gpio" OBJECT_DECLARE_SIMPLE_TYPE(Ppc405GpioState, PPC405_GPIO); @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { Ppc405GptState gpt; Ppc405OcmState ocm; Ppc405GpioState gpio; + Ppc405DmaState dma; }; /* PowerPC 405 core */ diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ enum { DMA0_POL = 0x126, }; -typedef struct ppc405_dma_t ppc405_dma_t; -struct ppc405_dma_t { - qemu_irq irqs[4]; - uint32_t cr[4]; - uint32_t ct[4]; - uint32_t da[4]; - uint32_t sa[4]; - uint32_t sg[4]; - uint32_t sr; - uint32_t sgc; - uint32_t slp; - uint32_t pol; -}; - -static uint32_t dcr_read_dma (void *opaque, int dcrn) +static uint32_t dcr_read_dma(void *opaque, int dcrn) { return 0; } -static void dcr_write_dma (void *opaque, int dcrn, uint32_t val) +static void dcr_write_dma(void *opaque, int dcrn, uint32_t val) { } -static void ppc405_dma_reset (void *opaque) +static void ppc405_dma_reset(DeviceState *dev) { - ppc405_dma_t *dma; + Ppc405DmaState *dma = PPC405_DMA(dev); int i; - dma = opaque; for (i = 0; i < 4; i++) { dma->cr[i] = 0x00000000; dma->ct[i] = 0x00000000; @@ -XXX,XX +XXX,XX @@ static void ppc405_dma_reset (void *opaque) dma->pol = 0x00000000; } -static void ppc405_dma_init(CPUPPCState *env, qemu_irq irqs[4]) +static void ppc405_dma_realize(DeviceState *dev, Error **errp) +{ + Ppc405DmaState *dma = PPC405_DMA(dev); + Ppc4xxDcrDeviceState *dcr = PPC4xx_DCR_DEVICE(dev); + int i; + + for (i = 0; i < ARRAY_SIZE(dma->irqs); i++) { + sysbus_init_irq(SYS_BUS_DEVICE(dma), &dma->irqs[i]); + } + + ppc4xx_dcr_register(dcr, DMA0_CR0, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_CT0, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_DA0, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_SA0, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_SG0, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_CR1, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_CT1, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_DA1, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_SA1, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_SG1, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_CR2, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_CT2, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_DA2, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_SA2, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_SG2, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_CR3, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_CT3, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_DA3, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_SA3, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_SG3, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_SR, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_SGC, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_SLP, dma, &dcr_read_dma, &dcr_write_dma); + ppc4xx_dcr_register(dcr, DMA0_POL, dma, &dcr_read_dma, &dcr_write_dma); +} + +static void ppc405_dma_class_init(ObjectClass *oc, void *data) { - ppc405_dma_t *dma; - - dma = g_new0(ppc405_dma_t, 1); - memcpy(dma->irqs, irqs, 4 * sizeof(qemu_irq)); - qemu_register_reset(&ppc405_dma_reset, dma); - ppc_dcr_register(env, DMA0_CR0, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_CT0, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_DA0, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_SA0, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_SG0, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_CR1, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_CT1, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_DA1, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_SA1, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_SG1, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_CR2, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_CT2, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_DA2, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_SA2, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_SG2, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_CR3, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_CT3, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_DA3, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_SA3, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_SG3, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_SR, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_SGC, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_SLP, - dma, &dcr_read_dma, &dcr_write_dma); - ppc_dcr_register(env, DMA0_POL, - dma, &dcr_read_dma, &dcr_write_dma); + DeviceClass *dc = DEVICE_CLASS(oc); + + dc->realize = ppc405_dma_realize; + dc->reset = ppc405_dma_reset; + /* Reason: only works as function of a ppc4xx SoC */ + dc->user_creatable = false; } /*****************************************************************************/ @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_instance_init(Object *obj) object_initialize_child(obj, "ocm", &s->ocm, TYPE_PPC405_OCM); object_initialize_child(obj, "gpio", &s->gpio, TYPE_PPC405_GPIO); + + object_initialize_child(obj, "dma", &s->dma, TYPE_PPC405_DMA); } static void ppc405_reset(void *opaque) @@ -XXX,XX +XXX,XX @@ static void ppc405_reset(void *opaque) static void ppc405_soc_realize(DeviceState *dev, Error **errp) { Ppc405SoCState *s = PPC405_SOC(dev); - qemu_irq dma_irqs[4], mal_irqs[4]; + qemu_irq mal_irqs[4]; CPUPPCState *env; SysBusDevice *sbd; int i; @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) ppc405_ebc_init(env); /* DMA controller */ - dma_irqs[0] = qdev_get_gpio_in(s->uic, 5); - dma_irqs[1] = qdev_get_gpio_in(s->uic, 6); - dma_irqs[2] = qdev_get_gpio_in(s->uic, 7); - dma_irqs[3] = qdev_get_gpio_in(s->uic, 8); - ppc405_dma_init(env, dma_irqs); + if (!ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(&s->dma), &s->cpu, errp)) { + return; + } + sbd = SYS_BUS_DEVICE(&s->dma); + for (i = 0; i < ARRAY_SIZE(s->dma.irqs); i++) { + sysbus_connect_irq(sbd, i, qdev_get_gpio_in(s->uic, 5 + i)); + } /* I2C controller */ sysbus_create_simple(TYPE_PPC4xx_I2C, 0xef600500, @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_class_init(ObjectClass *oc, void *data) static const TypeInfo ppc405_types[] = { { + .name = TYPE_PPC405_DMA, + .parent = TYPE_PPC4xx_DCR_DEVICE, + .instance_size = sizeof(Ppc405DmaState), + .class_init = ppc405_dma_class_init, + }, { .name = TYPE_PPC405_GPIO, .parent = TYPE_SYS_BUS_DEVICE, .instance_size = sizeof(Ppc405GpioState), -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> EBC is currently modeled as a DCR device. Also drop the ppc405_ebc_init() helper and adapt the sam460ex machine. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> [balaton: ppc4xx_dcr_register changes] Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <51a0769ab605c5158f4f2f1c896725d5fe7a073b.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 17 ++++++++++++- hw/ppc/ppc405_uc.c | 62 ++++++++++++++++++++++++---------------------- hw/ppc/sam460ex.c | 4 ++- 3 files changed, 51 insertions(+), 32 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ struct ppc4xx_bd_info_t { uint32_t bi_iic_fast[2]; }; +/* Peripheral controller */ +#define TYPE_PPC405_EBC "ppc405-ebc" +OBJECT_DECLARE_SIMPLE_TYPE(Ppc405EbcState, PPC405_EBC); +struct Ppc405EbcState { + Ppc4xxDcrDeviceState parent_obj; + + uint32_t addr; + uint32_t bcr[8]; + uint32_t bap[8]; + uint32_t bear; + uint32_t besr0; + uint32_t besr1; + uint32_t cfg; +}; + /* DMA controller */ #define TYPE_PPC405_DMA "ppc405-dma" OBJECT_DECLARE_SIMPLE_TYPE(Ppc405DmaState, PPC405_DMA); @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { Ppc405OcmState ocm; Ppc405GpioState gpio; Ppc405DmaState dma; + Ppc405EbcState ebc; }; /* PowerPC 405 core */ ram_addr_t ppc405_set_bootinfo(CPUPPCState *env, ram_addr_t ram_size); void ppc4xx_plb_init(CPUPPCState *env); -void ppc405_ebc_init(CPUPPCState *env); #endif /* PPC405_H */ diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ static void ppc4xx_opba_init(hwaddr base) /*****************************************************************************/ /* Peripheral controller */ -typedef struct ppc4xx_ebc_t ppc4xx_ebc_t; -struct ppc4xx_ebc_t { - uint32_t addr; - uint32_t bcr[8]; - uint32_t bap[8]; - uint32_t bear; - uint32_t besr0; - uint32_t besr1; - uint32_t cfg; -}; - enum { EBC0_CFGADDR = 0x012, EBC0_CFGDATA = 0x013, }; -static uint32_t dcr_read_ebc (void *opaque, int dcrn) +static uint32_t dcr_read_ebc(void *opaque, int dcrn) { - ppc4xx_ebc_t *ebc; + Ppc405EbcState *ebc = opaque; uint32_t ret; - ebc = opaque; switch (dcrn) { case EBC0_CFGADDR: ret = ebc->addr; @@ -XXX,XX +XXX,XX @@ static uint32_t dcr_read_ebc (void *opaque, int dcrn) return ret; } -static void dcr_write_ebc (void *opaque, int dcrn, uint32_t val) +static void dcr_write_ebc(void *opaque, int dcrn, uint32_t val) { - ppc4xx_ebc_t *ebc; + Ppc405EbcState *ebc = opaque; - ebc = opaque; switch (dcrn) { case EBC0_CFGADDR: ebc->addr = val; @@ -XXX,XX +XXX,XX @@ static void dcr_write_ebc (void *opaque, int dcrn, uint32_t val) } } -static void ebc_reset (void *opaque) +static void ppc405_ebc_reset(DeviceState *dev) { - ppc4xx_ebc_t *ebc; + Ppc405EbcState *ebc = PPC405_EBC(dev); int i; - ebc = opaque; ebc->addr = 0x00000000; ebc->bap[0] = 0x7F8FFE80; ebc->bcr[0] = 0xFFE28000; @@ -XXX,XX +XXX,XX @@ static void ebc_reset (void *opaque) ebc->cfg = 0x80400000; } -void ppc405_ebc_init(CPUPPCState *env) +static void ppc405_ebc_realize(DeviceState *dev, Error **errp) { - ppc4xx_ebc_t *ebc; - - ebc = g_new0(ppc4xx_ebc_t, 1); - qemu_register_reset(&ebc_reset, ebc); - ppc_dcr_register(env, EBC0_CFGADDR, - ebc, &dcr_read_ebc, &dcr_write_ebc); - ppc_dcr_register(env, EBC0_CFGDATA, - ebc, &dcr_read_ebc, &dcr_write_ebc); + Ppc405EbcState *ebc = PPC405_EBC(dev); + Ppc4xxDcrDeviceState *dcr = PPC4xx_DCR_DEVICE(dev); + + ppc4xx_dcr_register(dcr, EBC0_CFGADDR, ebc, &dcr_read_ebc, &dcr_write_ebc); + ppc4xx_dcr_register(dcr, EBC0_CFGDATA, ebc, &dcr_read_ebc, &dcr_write_ebc); +} + +static void ppc405_ebc_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + dc->realize = ppc405_ebc_realize; + dc->reset = ppc405_ebc_reset; + /* Reason: only works as function of a ppc4xx SoC */ + dc->user_creatable = false; } /*****************************************************************************/ @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_instance_init(Object *obj) object_initialize_child(obj, "gpio", &s->gpio, TYPE_PPC405_GPIO); object_initialize_child(obj, "dma", &s->dma, TYPE_PPC405_DMA); + + object_initialize_child(obj, "ebc", &s->ebc, TYPE_PPC405_EBC); } static void ppc405_reset(void *opaque) @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) s->do_dram_init); /* External bus controller */ - ppc405_ebc_init(env); + if (!ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(&s->ebc), &s->cpu, errp)) { + return; + } /* DMA controller */ if (!ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(&s->dma), &s->cpu, errp)) { @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_class_init(ObjectClass *oc, void *data) static const TypeInfo ppc405_types[] = { { + .name = TYPE_PPC405_EBC, + .parent = TYPE_PPC4xx_DCR_DEVICE, + .instance_size = sizeof(Ppc405EbcState), + .class_init = ppc405_ebc_class_init, + }, { .name = TYPE_PPC405_DMA, .parent = TYPE_PPC4xx_DCR_DEVICE, .instance_size = sizeof(Ppc405DmaState), diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/sam460ex.c +++ b/hw/ppc/sam460ex.c @@ -XXX,XX +XXX,XX @@ static void sam460ex_init(MachineState *machine) qdev_get_gpio_in(uic[0], 3)); /* External bus controller */ - ppc405_ebc_init(env); + dev = qdev_new(TYPE_PPC405_EBC); + ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(dev), cpu, &error_fatal); + object_unref(OBJECT(dev)); /* CPR */ ppc4xx_cpr_init(env); -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> The OPB arbitrer is currently modeled as a simple SysBus device with a unique memory region. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> [balaton: ppc4xx_dcr_register changes] Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <38476bc43d2332db2f09dbede9eff5234d6ce217.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 12 +++++++++++ hw/ppc/ppc405_uc.c | 49 +++++++++++++++++++++++++++------------------ hw/ppc/trace-events | 1 - 3 files changed, 41 insertions(+), 21 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ struct ppc4xx_bd_info_t { uint32_t bi_iic_fast[2]; }; +/* OPB arbitrer */ +#define TYPE_PPC405_OPBA "ppc405-opba" +OBJECT_DECLARE_SIMPLE_TYPE(Ppc405OpbaState, PPC405_OPBA); +struct Ppc405OpbaState { + SysBusDevice parent_obj; + + MemoryRegion io; + uint8_t cr; + uint8_t pr; +}; + /* Peripheral controller */ #define TYPE_PPC405_EBC "ppc405-ebc" OBJECT_DECLARE_SIMPLE_TYPE(Ppc405EbcState, PPC405_EBC); @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { Ppc405GpioState gpio; Ppc405DmaState dma; Ppc405EbcState ebc; + Ppc405OpbaState opba; }; /* PowerPC 405 core */ diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ static void ppc4xx_pob_init(CPUPPCState *env) /*****************************************************************************/ /* OPB arbitrer */ -typedef struct ppc4xx_opba_t ppc4xx_opba_t; -struct ppc4xx_opba_t { - MemoryRegion io; - uint8_t cr; - uint8_t pr; -}; - static uint64_t opba_readb(void *opaque, hwaddr addr, unsigned size) { - ppc4xx_opba_t *opba = opaque; + Ppc405OpbaState *opba = opaque; uint32_t ret; switch (addr) { @@ -XXX,XX +XXX,XX @@ static uint64_t opba_readb(void *opaque, hwaddr addr, unsigned size) static void opba_writeb(void *opaque, hwaddr addr, uint64_t value, unsigned size) { - ppc4xx_opba_t *opba = opaque; + Ppc405OpbaState *opba = opaque; trace_opba_writeb(addr, value); @@ -XXX,XX +XXX,XX @@ static const MemoryRegionOps opba_ops = { .endianness = DEVICE_BIG_ENDIAN, }; -static void ppc4xx_opba_reset (void *opaque) +static void ppc405_opba_reset(DeviceState *dev) { - ppc4xx_opba_t *opba; + Ppc405OpbaState *opba = PPC405_OPBA(dev); - opba = opaque; opba->cr = 0x00; /* No dynamic priorities - park disabled */ opba->pr = 0x11; } -static void ppc4xx_opba_init(hwaddr base) +static void ppc405_opba_realize(DeviceState *dev, Error **errp) { - ppc4xx_opba_t *opba; + Ppc405OpbaState *s = PPC405_OPBA(dev); + + memory_region_init_io(&s->io, OBJECT(s), &opba_ops, s, "opba", 2); + sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->io); +} - trace_opba_init(base); +static void ppc405_opba_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); - opba = g_new0(ppc4xx_opba_t, 1); - memory_region_init_io(&opba->io, NULL, &opba_ops, opba, "opba", 0x002); - memory_region_add_subregion(get_system_memory(), base, &opba->io); - qemu_register_reset(ppc4xx_opba_reset, opba); + dc->realize = ppc405_opba_realize; + dc->reset = ppc405_opba_reset; + /* Reason: only works as function of a ppc4xx SoC */ + dc->user_creatable = false; } /*****************************************************************************/ @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_instance_init(Object *obj) object_initialize_child(obj, "dma", &s->dma, TYPE_PPC405_DMA); object_initialize_child(obj, "ebc", &s->ebc, TYPE_PPC405_EBC); + + object_initialize_child(obj, "opba", &s->opba, TYPE_PPC405_OPBA); } static void ppc405_reset(void *opaque) @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) ppc4xx_pob_init(env); /* OBP arbitrer */ - ppc4xx_opba_init(0xef600600); + sbd = SYS_BUS_DEVICE(&s->opba); + if (!sysbus_realize(sbd, errp)) { + return; + } + sysbus_mmio_map(sbd, 0, 0xef600600); /* Universal interrupt controller */ s->uic = qdev_new(TYPE_PPC_UIC); @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_class_init(ObjectClass *oc, void *data) static const TypeInfo ppc405_types[] = { { + .name = TYPE_PPC405_OPBA, + .parent = TYPE_SYS_BUS_DEVICE, + .instance_size = sizeof(Ppc405OpbaState), + .class_init = ppc405_opba_class_init, + }, { .name = TYPE_PPC405_EBC, .parent = TYPE_PPC4xx_DCR_DEVICE, .instance_size = sizeof(Ppc405EbcState), diff --git a/hw/ppc/trace-events b/hw/ppc/trace-events index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/trace-events +++ b/hw/ppc/trace-events @@ -XXX,XX +XXX,XX @@ ppc440_pcix_reg_write(uint64_t addr, uint32_t val, uint32_t size) "addr 0x%" PRI # ppc405_boards.c opba_readb(uint64_t addr, uint32_t val) "addr 0x%" PRIx64 " = 0x%" PRIx32 opba_writeb(uint64_t addr, uint64_t val) "addr 0x%" PRIx64 " = 0x%" PRIx64 -opba_init(uint64_t addr) "offet 0x%" PRIx64 ppc405_gpio_read(uint64_t addr, uint32_t size) "addr 0x%" PRIx64 " size %d" ppc405_gpio_write(uint64_t addr, uint32_t size, uint64_t val) "addr 0x%" PRIx64 " size %d = 0x%" PRIx64 -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> POB is currently modeled as a simple DCR device. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> [balaton: ppc4xx_dcr_register changes] Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <2bb1a89182523059ecb0e8d20c22a293534dec17.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 12 ++++++++++ hw/ppc/ppc405_uc.c | 56 ++++++++++++++++++++++++++-------------------- 2 files changed, 44 insertions(+), 24 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ struct ppc4xx_bd_info_t { uint32_t bi_iic_fast[2]; }; +/* PLB to OPB bridge */ +#define TYPE_PPC405_POB "ppc405-pob" +OBJECT_DECLARE_SIMPLE_TYPE(Ppc405PobState, PPC405_POB); +struct Ppc405PobState { + Ppc4xxDcrDeviceState parent_obj; + + uint32_t bear; + uint32_t besr0; + uint32_t besr1; +}; + /* OPB arbitrer */ #define TYPE_PPC405_OPBA "ppc405-opba" OBJECT_DECLARE_SIMPLE_TYPE(Ppc405OpbaState, PPC405_OPBA); @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { Ppc405DmaState dma; Ppc405EbcState ebc; Ppc405OpbaState opba; + Ppc405PobState pob; }; /* PowerPC 405 core */ diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ enum { POB0_BEAR = 0x0A4, }; -typedef struct ppc4xx_pob_t ppc4xx_pob_t; -struct ppc4xx_pob_t { - uint32_t bear; - uint32_t besr0; - uint32_t besr1; -}; - -static uint32_t dcr_read_pob (void *opaque, int dcrn) +static uint32_t dcr_read_pob(void *opaque, int dcrn) { - ppc4xx_pob_t *pob; + Ppc405PobState *pob = opaque; uint32_t ret; - pob = opaque; switch (dcrn) { case POB0_BEAR: ret = pob->bear; @@ -XXX,XX +XXX,XX @@ static uint32_t dcr_read_pob (void *opaque, int dcrn) return ret; } -static void dcr_write_pob (void *opaque, int dcrn, uint32_t val) +static void dcr_write_pob(void *opaque, int dcrn, uint32_t val) { - ppc4xx_pob_t *pob; + Ppc405PobState *pob = opaque; - pob = opaque; switch (dcrn) { case POB0_BEAR: /* Read only */ @@ -XXX,XX +XXX,XX @@ static void dcr_write_pob (void *opaque, int dcrn, uint32_t val) } } -static void ppc4xx_pob_reset (void *opaque) +static void ppc405_pob_reset(DeviceState *dev) { - ppc4xx_pob_t *pob; + Ppc405PobState *pob = PPC405_POB(dev); - pob = opaque; /* No error */ pob->bear = 0x00000000; pob->besr0 = 0x0000000; pob->besr1 = 0x0000000; } -static void ppc4xx_pob_init(CPUPPCState *env) +static void ppc405_pob_realize(DeviceState *dev, Error **errp) +{ + Ppc405PobState *pob = PPC405_POB(dev); + Ppc4xxDcrDeviceState *dcr = PPC4xx_DCR_DEVICE(dev); + + ppc4xx_dcr_register(dcr, POB0_BEAR, pob, &dcr_read_pob, &dcr_write_pob); + ppc4xx_dcr_register(dcr, POB0_BESR0, pob, &dcr_read_pob, &dcr_write_pob); + ppc4xx_dcr_register(dcr, POB0_BESR1, pob, &dcr_read_pob, &dcr_write_pob); +} + +static void ppc405_pob_class_init(ObjectClass *oc, void *data) { - ppc4xx_pob_t *pob; + DeviceClass *dc = DEVICE_CLASS(oc); - pob = g_new0(ppc4xx_pob_t, 1); - ppc_dcr_register(env, POB0_BEAR, pob, &dcr_read_pob, &dcr_write_pob); - ppc_dcr_register(env, POB0_BESR0, pob, &dcr_read_pob, &dcr_write_pob); - ppc_dcr_register(env, POB0_BESR1, pob, &dcr_read_pob, &dcr_write_pob); - qemu_register_reset(ppc4xx_pob_reset, pob); + dc->realize = ppc405_pob_realize; + dc->reset = ppc405_pob_reset; + /* Reason: only works as function of a ppc4xx SoC */ + dc->user_creatable = false; } /*****************************************************************************/ @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_instance_init(Object *obj) object_initialize_child(obj, "ebc", &s->ebc, TYPE_PPC405_EBC); object_initialize_child(obj, "opba", &s->opba, TYPE_PPC405_OPBA); + + object_initialize_child(obj, "pob", &s->pob, TYPE_PPC405_POB); } static void ppc405_reset(void *opaque) @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) ppc4xx_plb_init(env); /* PLB to OPB bridge */ - ppc4xx_pob_init(env); + if (!ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(&s->pob), &s->cpu, errp)) { + return; + } /* OBP arbitrer */ sbd = SYS_BUS_DEVICE(&s->opba); @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_class_init(ObjectClass *oc, void *data) static const TypeInfo ppc405_types[] = { { + .name = TYPE_PPC405_POB, + .parent = TYPE_PPC4xx_DCR_DEVICE, + .instance_size = sizeof(Ppc405PobState), + .class_init = ppc405_pob_class_init, + }, { .name = TYPE_PPC405_OPBA, .parent = TYPE_SYS_BUS_DEVICE, .instance_size = sizeof(Ppc405OpbaState), -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> PLB is currently modeled as a simple DCR device. Also drop the ppc4xx_plb_init() helper and adapt the sam460ex machine. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> [balaton: ppc4xx_dcr_register changes] Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <c4256d1bffca86fe1d696aa9c56732e5f563e114.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 14 ++++++++-- hw/ppc/ppc405_uc.c | 64 ++++++++++++++++++++++++++-------------------- hw/ppc/sam460ex.c | 4 ++- 3 files changed, 51 insertions(+), 31 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ struct ppc4xx_bd_info_t { uint32_t bi_iic_fast[2]; }; +/* Peripheral local bus arbitrer */ +#define TYPE_PPC405_PLB "ppc405-plb" +OBJECT_DECLARE_SIMPLE_TYPE(Ppc405PlbState, PPC405_PLB); +struct Ppc405PlbState { + Ppc4xxDcrDeviceState parent_obj; + + uint32_t acr; + uint32_t bear; + uint32_t besr; +}; + /* PLB to OPB bridge */ #define TYPE_PPC405_POB "ppc405-pob" OBJECT_DECLARE_SIMPLE_TYPE(Ppc405PobState, PPC405_POB); @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { Ppc405EbcState ebc; Ppc405OpbaState opba; Ppc405PobState pob; + Ppc405PlbState plb; }; /* PowerPC 405 core */ ram_addr_t ppc405_set_bootinfo(CPUPPCState *env, ram_addr_t ram_size); -void ppc4xx_plb_init(CPUPPCState *env); - #endif /* PPC405_H */ diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ enum { PLB4A1_ACR = 0x089, }; -typedef struct ppc4xx_plb_t ppc4xx_plb_t; -struct ppc4xx_plb_t { - uint32_t acr; - uint32_t bear; - uint32_t besr; -}; - -static uint32_t dcr_read_plb (void *opaque, int dcrn) +static uint32_t dcr_read_plb(void *opaque, int dcrn) { - ppc4xx_plb_t *plb; + Ppc405PlbState *plb = opaque; uint32_t ret; - plb = opaque; switch (dcrn) { case PLB0_ACR: ret = plb->acr; @@ -XXX,XX +XXX,XX @@ static uint32_t dcr_read_plb (void *opaque, int dcrn) return ret; } -static void dcr_write_plb (void *opaque, int dcrn, uint32_t val) +static void dcr_write_plb(void *opaque, int dcrn, uint32_t val) { - ppc4xx_plb_t *plb; + Ppc405PlbState *plb = opaque; - plb = opaque; switch (dcrn) { case PLB0_ACR: /* We don't care about the actual parameters written as @@ -XXX,XX +XXX,XX @@ static void dcr_write_plb (void *opaque, int dcrn, uint32_t val) } } -static void ppc4xx_plb_reset (void *opaque) +static void ppc405_plb_reset(DeviceState *dev) { - ppc4xx_plb_t *plb; + Ppc405PlbState *plb = PPC405_PLB(dev); - plb = opaque; plb->acr = 0x00000000; plb->bear = 0x00000000; plb->besr = 0x00000000; } -void ppc4xx_plb_init(CPUPPCState *env) +static void ppc405_plb_realize(DeviceState *dev, Error **errp) +{ + Ppc405PlbState *plb = PPC405_PLB(dev); + Ppc4xxDcrDeviceState *dcr = PPC4xx_DCR_DEVICE(dev); + + ppc4xx_dcr_register(dcr, PLB3A0_ACR, plb, &dcr_read_plb, &dcr_write_plb); + ppc4xx_dcr_register(dcr, PLB4A0_ACR, plb, &dcr_read_plb, &dcr_write_plb); + ppc4xx_dcr_register(dcr, PLB0_ACR, plb, &dcr_read_plb, &dcr_write_plb); + ppc4xx_dcr_register(dcr, PLB0_BEAR, plb, &dcr_read_plb, &dcr_write_plb); + ppc4xx_dcr_register(dcr, PLB0_BESR, plb, &dcr_read_plb, &dcr_write_plb); + ppc4xx_dcr_register(dcr, PLB4A1_ACR, plb, &dcr_read_plb, &dcr_write_plb); +} + +static void ppc405_plb_class_init(ObjectClass *oc, void *data) { - ppc4xx_plb_t *plb; - - plb = g_new0(ppc4xx_plb_t, 1); - ppc_dcr_register(env, PLB3A0_ACR, plb, &dcr_read_plb, &dcr_write_plb); - ppc_dcr_register(env, PLB4A0_ACR, plb, &dcr_read_plb, &dcr_write_plb); - ppc_dcr_register(env, PLB0_ACR, plb, &dcr_read_plb, &dcr_write_plb); - ppc_dcr_register(env, PLB0_BEAR, plb, &dcr_read_plb, &dcr_write_plb); - ppc_dcr_register(env, PLB0_BESR, plb, &dcr_read_plb, &dcr_write_plb); - ppc_dcr_register(env, PLB4A1_ACR, plb, &dcr_read_plb, &dcr_write_plb); - qemu_register_reset(ppc4xx_plb_reset, plb); + DeviceClass *dc = DEVICE_CLASS(oc); + + dc->realize = ppc405_plb_realize; + dc->reset = ppc405_plb_reset; + /* Reason: only works as function of a ppc4xx SoC */ + dc->user_creatable = false; } /*****************************************************************************/ @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_instance_init(Object *obj) object_initialize_child(obj, "opba", &s->opba, TYPE_PPC405_OPBA); object_initialize_child(obj, "pob", &s->pob, TYPE_PPC405_POB); + + object_initialize_child(obj, "plb", &s->plb, TYPE_PPC405_PLB); } static void ppc405_reset(void *opaque) @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) } /* PLB arbitrer */ - ppc4xx_plb_init(env); + if (!ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(&s->plb), &s->cpu, errp)) { + return; + } /* PLB to OPB bridge */ if (!ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(&s->pob), &s->cpu, errp)) { @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_class_init(ObjectClass *oc, void *data) static const TypeInfo ppc405_types[] = { { + .name = TYPE_PPC405_PLB, + .parent = TYPE_PPC4xx_DCR_DEVICE, + .instance_size = sizeof(Ppc405PlbState), + .class_init = ppc405_plb_class_init, + }, { .name = TYPE_PPC405_POB, .parent = TYPE_PPC4xx_DCR_DEVICE, .instance_size = sizeof(Ppc405PobState), diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/sam460ex.c +++ b/hw/ppc/sam460ex.c @@ -XXX,XX +XXX,XX @@ static void sam460ex_init(MachineState *machine) ppc_dcr_init(env, NULL, NULL); /* PLB arbitrer */ - ppc4xx_plb_init(env); + dev = qdev_new(TYPE_PPC405_PLB); + ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(dev), cpu, &error_fatal); + object_unref(OBJECT(dev)); /* interrupt controllers */ for (i = 0; i < ARRAY_SIZE(uic); i++) { -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> The Memory Access Layer (MAL) controller is currently modeled as a DCR device with 4 IRQs. Also drop the ppc4xx_mal_init() helper and adapt the sam460ex machine. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> [balaton: ppc4xx_dcr_register changes, add finalize method] Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <d54a243dff94d95ba30dbcc09c27700a90ade932.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 1 + hw/ppc/ppc405_uc.c | 17 +++-- hw/ppc/ppc4xx_devs.c | 145 ++++++++++++++++++++-------------------- hw/ppc/sam460ex.c | 12 ++-- include/hw/ppc/ppc4xx.h | 28 +++++++- 5 files changed, 117 insertions(+), 86 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { Ppc405OpbaState opba; Ppc405PobState pob; Ppc405PlbState plb; + Ppc4xxMalState mal; }; /* PowerPC 405 core */ diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_instance_init(Object *obj) object_initialize_child(obj, "pob", &s->pob, TYPE_PPC405_POB); object_initialize_child(obj, "plb", &s->plb, TYPE_PPC405_PLB); + + object_initialize_child(obj, "mal", &s->mal, TYPE_PPC4xx_MAL); } static void ppc405_reset(void *opaque) @@ -XXX,XX +XXX,XX @@ static void ppc405_reset(void *opaque) static void ppc405_soc_realize(DeviceState *dev, Error **errp) { Ppc405SoCState *s = PPC405_SOC(dev); - qemu_irq mal_irqs[4]; CPUPPCState *env; SysBusDevice *sbd; int i; @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) } /* MAL */ - mal_irqs[0] = qdev_get_gpio_in(s->uic, 11); - mal_irqs[1] = qdev_get_gpio_in(s->uic, 12); - mal_irqs[2] = qdev_get_gpio_in(s->uic, 13); - mal_irqs[3] = qdev_get_gpio_in(s->uic, 14); - ppc4xx_mal_init(env, 4, 2, mal_irqs); + object_property_set_int(OBJECT(&s->mal), "txc-num", 4, &error_abort); + object_property_set_int(OBJECT(&s->mal), "rxc-num", 2, &error_abort); + if (!ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(&s->mal), &s->cpu, errp)) { + return; + } + sbd = SYS_BUS_DEVICE(&s->mal); + for (i = 0; i < ARRAY_SIZE(s->mal.irqs); i++) { + sysbus_connect_irq(sbd, i, qdev_get_gpio_in(s->uic, 11 + i)); + } /* Ethernet */ /* Uses UIC IRQs 9, 15, 17 */ diff --git a/hw/ppc/ppc4xx_devs.c b/hw/ppc/ppc4xx_devs.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc4xx_devs.c +++ b/hw/ppc/ppc4xx_devs.c @@ -XXX,XX +XXX,XX @@ enum { MAL0_RCBS1 = 0x1E1, }; -typedef struct ppc4xx_mal_t ppc4xx_mal_t; -struct ppc4xx_mal_t { - qemu_irq irqs[4]; - uint32_t cfg; - uint32_t esr; - uint32_t ier; - uint32_t txcasr; - uint32_t txcarr; - uint32_t txeobisr; - uint32_t txdeir; - uint32_t rxcasr; - uint32_t rxcarr; - uint32_t rxeobisr; - uint32_t rxdeir; - uint32_t *txctpr; - uint32_t *rxctpr; - uint32_t *rcbs; - uint8_t txcnum; - uint8_t rxcnum; -}; - -static void ppc4xx_mal_reset(void *opaque) +static void ppc4xx_mal_reset(DeviceState *dev) { - ppc4xx_mal_t *mal; + Ppc4xxMalState *mal = PPC4xx_MAL(dev); - mal = opaque; mal->cfg = 0x0007C000; mal->esr = 0x00000000; mal->ier = 0x00000000; @@ -XXX,XX +XXX,XX @@ static void ppc4xx_mal_reset(void *opaque) static uint32_t dcr_read_mal(void *opaque, int dcrn) { - ppc4xx_mal_t *mal; + Ppc4xxMalState *mal = opaque; uint32_t ret; - mal = opaque; switch (dcrn) { case MAL0_CFG: ret = mal->cfg; @@ -XXX,XX +XXX,XX @@ static uint32_t dcr_read_mal(void *opaque, int dcrn) static void dcr_write_mal(void *opaque, int dcrn, uint32_t val) { - ppc4xx_mal_t *mal; + Ppc4xxMalState *mal = opaque; - mal = opaque; switch (dcrn) { case MAL0_CFG: if (val & 0x80000000) { - ppc4xx_mal_reset(mal); + ppc4xx_mal_reset(DEVICE(mal)); } mal->cfg = val & 0x00FFC087; break; @@ -XXX,XX +XXX,XX @@ static void dcr_write_mal(void *opaque, int dcrn, uint32_t val) } } -void ppc4xx_mal_init(CPUPPCState *env, uint8_t txcnum, uint8_t rxcnum, - qemu_irq irqs[4]) +static void ppc4xx_mal_realize(DeviceState *dev, Error **errp) { - ppc4xx_mal_t *mal; + Ppc4xxMalState *mal = PPC4xx_MAL(dev); + Ppc4xxDcrDeviceState *dcr = PPC4xx_DCR_DEVICE(dev); int i; - assert(txcnum <= 32 && rxcnum <= 32); - mal = g_malloc0(sizeof(*mal)); - mal->txcnum = txcnum; - mal->rxcnum = rxcnum; - mal->txctpr = g_new0(uint32_t, txcnum); - mal->rxctpr = g_new0(uint32_t, rxcnum); - mal->rcbs = g_new0(uint32_t, rxcnum); - for (i = 0; i < 4; i++) { - mal->irqs[i] = irqs[i]; + if (mal->txcnum > 32 || mal->rxcnum > 32) { + error_setg(errp, "invalid TXC/RXC number"); + return; + } + + mal->txctpr = g_new0(uint32_t, mal->txcnum); + mal->rxctpr = g_new0(uint32_t, mal->rxcnum); + mal->rcbs = g_new0(uint32_t, mal->rxcnum); + + for (i = 0; i < ARRAY_SIZE(mal->irqs); i++) { + sysbus_init_irq(SYS_BUS_DEVICE(dev), &mal->irqs[i]); } - qemu_register_reset(&ppc4xx_mal_reset, mal); - ppc_dcr_register(env, MAL0_CFG, - mal, &dcr_read_mal, &dcr_write_mal); - ppc_dcr_register(env, MAL0_ESR, - mal, &dcr_read_mal, &dcr_write_mal); - ppc_dcr_register(env, MAL0_IER, - mal, &dcr_read_mal, &dcr_write_mal); - ppc_dcr_register(env, MAL0_TXCASR, - mal, &dcr_read_mal, &dcr_write_mal); - ppc_dcr_register(env, MAL0_TXCARR, - mal, &dcr_read_mal, &dcr_write_mal); - ppc_dcr_register(env, MAL0_TXEOBISR, - mal, &dcr_read_mal, &dcr_write_mal); - ppc_dcr_register(env, MAL0_TXDEIR, - mal, &dcr_read_mal, &dcr_write_mal); - ppc_dcr_register(env, MAL0_RXCASR, - mal, &dcr_read_mal, &dcr_write_mal); - ppc_dcr_register(env, MAL0_RXCARR, - mal, &dcr_read_mal, &dcr_write_mal); - ppc_dcr_register(env, MAL0_RXEOBISR, - mal, &dcr_read_mal, &dcr_write_mal); - ppc_dcr_register(env, MAL0_RXDEIR, - mal, &dcr_read_mal, &dcr_write_mal); - for (i = 0; i < txcnum; i++) { - ppc_dcr_register(env, MAL0_TXCTP0R + i, - mal, &dcr_read_mal, &dcr_write_mal); + + ppc4xx_dcr_register(dcr, MAL0_CFG, mal, &dcr_read_mal, &dcr_write_mal); + ppc4xx_dcr_register(dcr, MAL0_ESR, mal, &dcr_read_mal, &dcr_write_mal); + ppc4xx_dcr_register(dcr, MAL0_IER, mal, &dcr_read_mal, &dcr_write_mal); + ppc4xx_dcr_register(dcr, MAL0_TXCASR, mal, &dcr_read_mal, &dcr_write_mal); + ppc4xx_dcr_register(dcr, MAL0_TXCARR, mal, &dcr_read_mal, &dcr_write_mal); + ppc4xx_dcr_register(dcr, MAL0_TXEOBISR, mal, &dcr_read_mal, &dcr_write_mal); + ppc4xx_dcr_register(dcr, MAL0_TXDEIR, mal, &dcr_read_mal, &dcr_write_mal); + ppc4xx_dcr_register(dcr, MAL0_RXCASR, mal, &dcr_read_mal, &dcr_write_mal); + ppc4xx_dcr_register(dcr, MAL0_RXCARR, mal, &dcr_read_mal, &dcr_write_mal); + ppc4xx_dcr_register(dcr, MAL0_RXEOBISR, mal, &dcr_read_mal, &dcr_write_mal); + ppc4xx_dcr_register(dcr, MAL0_RXDEIR, mal, &dcr_read_mal, &dcr_write_mal); + for (i = 0; i < mal->txcnum; i++) { + ppc4xx_dcr_register(dcr, MAL0_TXCTP0R + i, + mal, &dcr_read_mal, &dcr_write_mal); } - for (i = 0; i < rxcnum; i++) { - ppc_dcr_register(env, MAL0_RXCTP0R + i, - mal, &dcr_read_mal, &dcr_write_mal); + for (i = 0; i < mal->rxcnum; i++) { + ppc4xx_dcr_register(dcr, MAL0_RXCTP0R + i, + mal, &dcr_read_mal, &dcr_write_mal); } - for (i = 0; i < rxcnum; i++) { - ppc_dcr_register(env, MAL0_RCBS0 + i, - mal, &dcr_read_mal, &dcr_write_mal); + for (i = 0; i < mal->rxcnum; i++) { + ppc4xx_dcr_register(dcr, MAL0_RCBS0 + i, + mal, &dcr_read_mal, &dcr_write_mal); } } +static void ppc4xx_mal_finalize(Object *obj) +{ + Ppc4xxMalState *mal = PPC4xx_MAL(obj); + + g_free(mal->rcbs); + g_free(mal->rxctpr); + g_free(mal->txctpr); +} + +static Property ppc4xx_mal_properties[] = { + DEFINE_PROP_UINT8("txc-num", Ppc4xxMalState, txcnum, 0), + DEFINE_PROP_UINT8("rxc-num", Ppc4xxMalState, rxcnum, 0), + DEFINE_PROP_END_OF_LIST(), +}; + +static void ppc4xx_mal_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + dc->realize = ppc4xx_mal_realize; + dc->reset = ppc4xx_mal_reset; + /* Reason: only works as function of a ppc4xx SoC */ + dc->user_creatable = false; + device_class_set_props(dc, ppc4xx_mal_properties); +} + /* PPC4xx_DCR_DEVICE */ void ppc4xx_dcr_register(Ppc4xxDcrDeviceState *dev, int dcrn, void *opaque, @@ -XXX,XX +XXX,XX @@ static void ppc4xx_dcr_class_init(ObjectClass *oc, void *data) static const TypeInfo ppc4xx_types[] = { { + .name = TYPE_PPC4xx_MAL, + .parent = TYPE_PPC4xx_DCR_DEVICE, + .instance_size = sizeof(Ppc4xxMalState), + .instance_finalize = ppc4xx_mal_finalize, + .class_init = ppc4xx_mal_class_init, + }, { .name = TYPE_PPC4xx_DCR_DEVICE, .parent = TYPE_SYS_BUS_DEVICE, .instance_size = sizeof(Ppc4xxDcrDeviceState), diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/sam460ex.c +++ b/hw/ppc/sam460ex.c @@ -XXX,XX +XXX,XX @@ static void sam460ex_init(MachineState *machine) hwaddr ram_sizes[SDRAM_NR_BANKS] = {0}; MemoryRegion *l2cache_ram = g_new(MemoryRegion, 1); DeviceState *uic[4]; - qemu_irq mal_irqs[4]; int i; PCIBus *pci_bus; PowerPCCPU *cpu; @@ -XXX,XX +XXX,XX @@ static void sam460ex_init(MachineState *machine) ppc4xx_sdr_init(env); /* MAL */ - for (i = 0; i < ARRAY_SIZE(mal_irqs); i++) { - mal_irqs[i] = qdev_get_gpio_in(uic[2], 3 + i); + dev = qdev_new(TYPE_PPC4xx_MAL); + qdev_prop_set_uint32(dev, "txc-num", 4); + qdev_prop_set_uint32(dev, "rxc-num", 16); + ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(dev), cpu, &error_fatal); + object_unref(OBJECT(dev)); + sbdev = SYS_BUS_DEVICE(dev); + for (i = 0; i < ARRAY_SIZE(PPC4xx_MAL(dev)->irqs); i++) { + sysbus_connect_irq(sbdev, i, qdev_get_gpio_in(uic[2], 3 + i)); } - ppc4xx_mal_init(env, 4, 16, mal_irqs); /* DMA */ ppc4xx_dma_init(env, 0x200); diff --git a/include/hw/ppc/ppc4xx.h b/include/hw/ppc/ppc4xx.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/ppc/ppc4xx.h +++ b/include/hw/ppc/ppc4xx.h @@ -XXX,XX +XXX,XX @@ void ppc4xx_sdram_init (CPUPPCState *env, qemu_irq irq, int nbanks, hwaddr *ram_sizes, int do_init); -void ppc4xx_mal_init(CPUPPCState *env, uint8_t txcnum, uint8_t rxcnum, - qemu_irq irqs[4]); - #define TYPE_PPC4xx_PCI_HOST_BRIDGE "ppc4xx-pcihost" /* @@ -XXX,XX +XXX,XX @@ void ppc4xx_dcr_register(Ppc4xxDcrDeviceState *dev, int dcrn, void *opaque, bool ppc4xx_dcr_realize(Ppc4xxDcrDeviceState *dev, PowerPCCPU *cpu, Error **errp); +/* Memory Access Layer (MAL) */ +#define TYPE_PPC4xx_MAL "ppc4xx-mal" +OBJECT_DECLARE_SIMPLE_TYPE(Ppc4xxMalState, PPC4xx_MAL); +struct Ppc4xxMalState { + Ppc4xxDcrDeviceState parent_obj; + + qemu_irq irqs[4]; + uint32_t cfg; + uint32_t esr; + uint32_t ier; + uint32_t txcasr; + uint32_t txcarr; + uint32_t txeobisr; + uint32_t txdeir; + uint32_t rxcasr; + uint32_t rxcarr; + uint32_t rxeobisr; + uint32_t rxdeir; + uint32_t *txctpr; + uint32_t *rxctpr; + uint32_t *rcbs; + uint8_t txcnum; + uint8_t rxcnum; +}; + #endif /* PPC4XX_H */ -- 2.37.2
From: BALATON Zoltan <balaton@eik.bme.hu> The PLB is shared between 405 and 440 so move it to the shared file. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <2498384bf3e18959ee8cb984d72fb66b8a6ecadc.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 11 ----- hw/ppc/ppc405_uc.c | 93 ---------------------------------------- hw/ppc/ppc4xx_devs.c | 94 +++++++++++++++++++++++++++++++++++++++++ include/hw/ppc/ppc4xx.h | 11 +++++ 4 files changed, 105 insertions(+), 104 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ struct ppc4xx_bd_info_t { uint32_t bi_iic_fast[2]; }; -/* Peripheral local bus arbitrer */ -#define TYPE_PPC405_PLB "ppc405-plb" -OBJECT_DECLARE_SIMPLE_TYPE(Ppc405PlbState, PPC405_PLB); -struct Ppc405PlbState { - Ppc4xxDcrDeviceState parent_obj; - - uint32_t acr; - uint32_t bear; - uint32_t besr; -}; - /* PLB to OPB bridge */ #define TYPE_PPC405_POB "ppc405-pob" OBJECT_DECLARE_SIMPLE_TYPE(Ppc405PobState, PPC405_POB); diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ ram_addr_t ppc405_set_bootinfo(CPUPPCState *env, ram_addr_t ram_size) /*****************************************************************************/ /* Shared peripherals */ -/*****************************************************************************/ -/* Peripheral local bus arbitrer */ -enum { - PLB3A0_ACR = 0x077, - PLB4A0_ACR = 0x081, - PLB0_BESR = 0x084, - PLB0_BEAR = 0x086, - PLB0_ACR = 0x087, - PLB4A1_ACR = 0x089, -}; - -static uint32_t dcr_read_plb(void *opaque, int dcrn) -{ - Ppc405PlbState *plb = opaque; - uint32_t ret; - - switch (dcrn) { - case PLB0_ACR: - ret = plb->acr; - break; - case PLB0_BEAR: - ret = plb->bear; - break; - case PLB0_BESR: - ret = plb->besr; - break; - default: - /* Avoid gcc warning */ - ret = 0; - break; - } - - return ret; -} - -static void dcr_write_plb(void *opaque, int dcrn, uint32_t val) -{ - Ppc405PlbState *plb = opaque; - - switch (dcrn) { - case PLB0_ACR: - /* We don't care about the actual parameters written as - * we don't manage any priorities on the bus - */ - plb->acr = val & 0xF8000000; - break; - case PLB0_BEAR: - /* Read only */ - break; - case PLB0_BESR: - /* Write-clear */ - plb->besr &= ~val; - break; - } -} - -static void ppc405_plb_reset(DeviceState *dev) -{ - Ppc405PlbState *plb = PPC405_PLB(dev); - - plb->acr = 0x00000000; - plb->bear = 0x00000000; - plb->besr = 0x00000000; -} - -static void ppc405_plb_realize(DeviceState *dev, Error **errp) -{ - Ppc405PlbState *plb = PPC405_PLB(dev); - Ppc4xxDcrDeviceState *dcr = PPC4xx_DCR_DEVICE(dev); - - ppc4xx_dcr_register(dcr, PLB3A0_ACR, plb, &dcr_read_plb, &dcr_write_plb); - ppc4xx_dcr_register(dcr, PLB4A0_ACR, plb, &dcr_read_plb, &dcr_write_plb); - ppc4xx_dcr_register(dcr, PLB0_ACR, plb, &dcr_read_plb, &dcr_write_plb); - ppc4xx_dcr_register(dcr, PLB0_BEAR, plb, &dcr_read_plb, &dcr_write_plb); - ppc4xx_dcr_register(dcr, PLB0_BESR, plb, &dcr_read_plb, &dcr_write_plb); - ppc4xx_dcr_register(dcr, PLB4A1_ACR, plb, &dcr_read_plb, &dcr_write_plb); -} - -static void ppc405_plb_class_init(ObjectClass *oc, void *data) -{ - DeviceClass *dc = DEVICE_CLASS(oc); - - dc->realize = ppc405_plb_realize; - dc->reset = ppc405_plb_reset; - /* Reason: only works as function of a ppc4xx SoC */ - dc->user_creatable = false; -} - /*****************************************************************************/ /* PLB to OPB bridge */ enum { @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_class_init(ObjectClass *oc, void *data) static const TypeInfo ppc405_types[] = { { - .name = TYPE_PPC405_PLB, - .parent = TYPE_PPC4xx_DCR_DEVICE, - .instance_size = sizeof(Ppc405PlbState), - .class_init = ppc405_plb_class_init, - }, { .name = TYPE_PPC405_POB, .parent = TYPE_PPC4xx_DCR_DEVICE, .instance_size = sizeof(Ppc405PobState), diff --git a/hw/ppc/ppc4xx_devs.c b/hw/ppc/ppc4xx_devs.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc4xx_devs.c +++ b/hw/ppc/ppc4xx_devs.c @@ -XXX,XX +XXX,XX @@ static void ppc4xx_mal_class_init(ObjectClass *oc, void *data) device_class_set_props(dc, ppc4xx_mal_properties); } +/*****************************************************************************/ +/* Peripheral local bus arbitrer */ +enum { + PLB3A0_ACR = 0x077, + PLB4A0_ACR = 0x081, + PLB0_BESR = 0x084, + PLB0_BEAR = 0x086, + PLB0_ACR = 0x087, + PLB4A1_ACR = 0x089, +}; + +static uint32_t dcr_read_plb(void *opaque, int dcrn) +{ + Ppc405PlbState *plb = opaque; + uint32_t ret; + + switch (dcrn) { + case PLB0_ACR: + ret = plb->acr; + break; + case PLB0_BEAR: + ret = plb->bear; + break; + case PLB0_BESR: + ret = plb->besr; + break; + default: + /* Avoid gcc warning */ + ret = 0; + break; + } + + return ret; +} + +static void dcr_write_plb(void *opaque, int dcrn, uint32_t val) +{ + Ppc405PlbState *plb = opaque; + + switch (dcrn) { + case PLB0_ACR: + /* + * We don't care about the actual parameters written as + * we don't manage any priorities on the bus + */ + plb->acr = val & 0xF8000000; + break; + case PLB0_BEAR: + /* Read only */ + break; + case PLB0_BESR: + /* Write-clear */ + plb->besr &= ~val; + break; + } +} + +static void ppc405_plb_reset(DeviceState *dev) +{ + Ppc405PlbState *plb = PPC405_PLB(dev); + + plb->acr = 0x00000000; + plb->bear = 0x00000000; + plb->besr = 0x00000000; +} + +static void ppc405_plb_realize(DeviceState *dev, Error **errp) +{ + Ppc405PlbState *plb = PPC405_PLB(dev); + Ppc4xxDcrDeviceState *dcr = PPC4xx_DCR_DEVICE(dev); + + ppc4xx_dcr_register(dcr, PLB3A0_ACR, plb, &dcr_read_plb, &dcr_write_plb); + ppc4xx_dcr_register(dcr, PLB4A0_ACR, plb, &dcr_read_plb, &dcr_write_plb); + ppc4xx_dcr_register(dcr, PLB0_ACR, plb, &dcr_read_plb, &dcr_write_plb); + ppc4xx_dcr_register(dcr, PLB0_BEAR, plb, &dcr_read_plb, &dcr_write_plb); + ppc4xx_dcr_register(dcr, PLB0_BESR, plb, &dcr_read_plb, &dcr_write_plb); + ppc4xx_dcr_register(dcr, PLB4A1_ACR, plb, &dcr_read_plb, &dcr_write_plb); +} + +static void ppc405_plb_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + dc->realize = ppc405_plb_realize; + dc->reset = ppc405_plb_reset; + /* Reason: only works as function of a ppc4xx SoC */ + dc->user_creatable = false; +} + /* PPC4xx_DCR_DEVICE */ void ppc4xx_dcr_register(Ppc4xxDcrDeviceState *dev, int dcrn, void *opaque, @@ -XXX,XX +XXX,XX @@ static const TypeInfo ppc4xx_types[] = { .instance_size = sizeof(Ppc4xxMalState), .instance_finalize = ppc4xx_mal_finalize, .class_init = ppc4xx_mal_class_init, + }, { + .name = TYPE_PPC405_PLB, + .parent = TYPE_PPC4xx_DCR_DEVICE, + .instance_size = sizeof(Ppc405PlbState), + .class_init = ppc405_plb_class_init, }, { .name = TYPE_PPC4xx_DCR_DEVICE, .parent = TYPE_SYS_BUS_DEVICE, diff --git a/include/hw/ppc/ppc4xx.h b/include/hw/ppc/ppc4xx.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/ppc/ppc4xx.h +++ b/include/hw/ppc/ppc4xx.h @@ -XXX,XX +XXX,XX @@ struct Ppc4xxMalState { uint8_t rxcnum; }; +/* Peripheral local bus arbitrer */ +#define TYPE_PPC405_PLB "ppc405-plb" +OBJECT_DECLARE_SIMPLE_TYPE(Ppc405PlbState, PPC405_PLB); +struct Ppc405PlbState { + Ppc4xxDcrDeviceState parent_obj; + + uint32_t acr; + uint32_t bear; + uint32_t besr; +}; + #endif /* PPC4XX_H */ -- 2.37.2
From: BALATON Zoltan <balaton@eik.bme.hu> This device is shared between different 4xx socs. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <5b13ebfd12a71a28035bed5a915cbeee81cf21d1.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 2 +- hw/ppc/ppc405_uc.c | 2 +- hw/ppc/ppc4xx_devs.c | 12 ++++++------ hw/ppc/sam460ex.c | 2 +- include/hw/ppc/ppc4xx.h | 6 +++--- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { Ppc405EbcState ebc; Ppc405OpbaState opba; Ppc405PobState pob; - Ppc405PlbState plb; + Ppc4xxPlbState plb; Ppc4xxMalState mal; }; diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_instance_init(Object *obj) object_initialize_child(obj, "pob", &s->pob, TYPE_PPC405_POB); - object_initialize_child(obj, "plb", &s->plb, TYPE_PPC405_PLB); + object_initialize_child(obj, "plb", &s->plb, TYPE_PPC4xx_PLB); object_initialize_child(obj, "mal", &s->mal, TYPE_PPC4xx_MAL); } diff --git a/hw/ppc/ppc4xx_devs.c b/hw/ppc/ppc4xx_devs.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc4xx_devs.c +++ b/hw/ppc/ppc4xx_devs.c @@ -XXX,XX +XXX,XX @@ enum { static uint32_t dcr_read_plb(void *opaque, int dcrn) { - Ppc405PlbState *plb = opaque; + Ppc4xxPlbState *plb = opaque; uint32_t ret; switch (dcrn) { @@ -XXX,XX +XXX,XX @@ static uint32_t dcr_read_plb(void *opaque, int dcrn) static void dcr_write_plb(void *opaque, int dcrn, uint32_t val) { - Ppc405PlbState *plb = opaque; + Ppc4xxPlbState *plb = opaque; switch (dcrn) { case PLB0_ACR: @@ -XXX,XX +XXX,XX @@ static void dcr_write_plb(void *opaque, int dcrn, uint32_t val) static void ppc405_plb_reset(DeviceState *dev) { - Ppc405PlbState *plb = PPC405_PLB(dev); + Ppc4xxPlbState *plb = PPC4xx_PLB(dev); plb->acr = 0x00000000; plb->bear = 0x00000000; @@ -XXX,XX +XXX,XX @@ static void ppc405_plb_reset(DeviceState *dev) static void ppc405_plb_realize(DeviceState *dev, Error **errp) { - Ppc405PlbState *plb = PPC405_PLB(dev); + Ppc4xxPlbState *plb = PPC4xx_PLB(dev); Ppc4xxDcrDeviceState *dcr = PPC4xx_DCR_DEVICE(dev); ppc4xx_dcr_register(dcr, PLB3A0_ACR, plb, &dcr_read_plb, &dcr_write_plb); @@ -XXX,XX +XXX,XX @@ static const TypeInfo ppc4xx_types[] = { .instance_finalize = ppc4xx_mal_finalize, .class_init = ppc4xx_mal_class_init, }, { - .name = TYPE_PPC405_PLB, + .name = TYPE_PPC4xx_PLB, .parent = TYPE_PPC4xx_DCR_DEVICE, - .instance_size = sizeof(Ppc405PlbState), + .instance_size = sizeof(Ppc4xxPlbState), .class_init = ppc405_plb_class_init, }, { .name = TYPE_PPC4xx_DCR_DEVICE, diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/sam460ex.c +++ b/hw/ppc/sam460ex.c @@ -XXX,XX +XXX,XX @@ static void sam460ex_init(MachineState *machine) ppc_dcr_init(env, NULL, NULL); /* PLB arbitrer */ - dev = qdev_new(TYPE_PPC405_PLB); + dev = qdev_new(TYPE_PPC4xx_PLB); ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(dev), cpu, &error_fatal); object_unref(OBJECT(dev)); diff --git a/include/hw/ppc/ppc4xx.h b/include/hw/ppc/ppc4xx.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/ppc/ppc4xx.h +++ b/include/hw/ppc/ppc4xx.h @@ -XXX,XX +XXX,XX @@ struct Ppc4xxMalState { }; /* Peripheral local bus arbitrer */ -#define TYPE_PPC405_PLB "ppc405-plb" -OBJECT_DECLARE_SIMPLE_TYPE(Ppc405PlbState, PPC405_PLB); -struct Ppc405PlbState { +#define TYPE_PPC4xx_PLB "ppc4xx-plb" +OBJECT_DECLARE_SIMPLE_TYPE(Ppc4xxPlbState, PPC4xx_PLB); +struct Ppc4xxPlbState { Ppc4xxDcrDeviceState parent_obj; uint32_t acr; -- 2.37.2
From: BALATON Zoltan <balaton@eik.bme.hu> The EBC is shared between 405 and 440 so move it to shared file. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <10eae70509ca4bd74858fc2c0a0f0e4eb9330199.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 15 ---- hw/ppc/ppc405_uc.c | 191 ---------------------------------------- hw/ppc/ppc4xx_devs.c | 191 ++++++++++++++++++++++++++++++++++++++++ include/hw/ppc/ppc4xx.h | 15 ++++ 4 files changed, 206 insertions(+), 206 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ struct Ppc405OpbaState { uint8_t pr; }; -/* Peripheral controller */ -#define TYPE_PPC405_EBC "ppc405-ebc" -OBJECT_DECLARE_SIMPLE_TYPE(Ppc405EbcState, PPC405_EBC); -struct Ppc405EbcState { - Ppc4xxDcrDeviceState parent_obj; - - uint32_t addr; - uint32_t bcr[8]; - uint32_t bap[8]; - uint32_t bear; - uint32_t besr0; - uint32_t besr1; - uint32_t cfg; -}; - /* DMA controller */ #define TYPE_PPC405_DMA "ppc405-dma" OBJECT_DECLARE_SIMPLE_TYPE(Ppc405DmaState, PPC405_DMA); diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ static void ppc405_opba_class_init(ObjectClass *oc, void *data) /* Code decompression controller */ /* XXX: TODO */ -/*****************************************************************************/ -/* Peripheral controller */ -enum { - EBC0_CFGADDR = 0x012, - EBC0_CFGDATA = 0x013, -}; - -static uint32_t dcr_read_ebc(void *opaque, int dcrn) -{ - Ppc405EbcState *ebc = opaque; - uint32_t ret; - - switch (dcrn) { - case EBC0_CFGADDR: - ret = ebc->addr; - break; - case EBC0_CFGDATA: - switch (ebc->addr) { - case 0x00: /* B0CR */ - ret = ebc->bcr[0]; - break; - case 0x01: /* B1CR */ - ret = ebc->bcr[1]; - break; - case 0x02: /* B2CR */ - ret = ebc->bcr[2]; - break; - case 0x03: /* B3CR */ - ret = ebc->bcr[3]; - break; - case 0x04: /* B4CR */ - ret = ebc->bcr[4]; - break; - case 0x05: /* B5CR */ - ret = ebc->bcr[5]; - break; - case 0x06: /* B6CR */ - ret = ebc->bcr[6]; - break; - case 0x07: /* B7CR */ - ret = ebc->bcr[7]; - break; - case 0x10: /* B0AP */ - ret = ebc->bap[0]; - break; - case 0x11: /* B1AP */ - ret = ebc->bap[1]; - break; - case 0x12: /* B2AP */ - ret = ebc->bap[2]; - break; - case 0x13: /* B3AP */ - ret = ebc->bap[3]; - break; - case 0x14: /* B4AP */ - ret = ebc->bap[4]; - break; - case 0x15: /* B5AP */ - ret = ebc->bap[5]; - break; - case 0x16: /* B6AP */ - ret = ebc->bap[6]; - break; - case 0x17: /* B7AP */ - ret = ebc->bap[7]; - break; - case 0x20: /* BEAR */ - ret = ebc->bear; - break; - case 0x21: /* BESR0 */ - ret = ebc->besr0; - break; - case 0x22: /* BESR1 */ - ret = ebc->besr1; - break; - case 0x23: /* CFG */ - ret = ebc->cfg; - break; - default: - ret = 0x00000000; - break; - } - break; - default: - ret = 0x00000000; - break; - } - - return ret; -} - -static void dcr_write_ebc(void *opaque, int dcrn, uint32_t val) -{ - Ppc405EbcState *ebc = opaque; - - switch (dcrn) { - case EBC0_CFGADDR: - ebc->addr = val; - break; - case EBC0_CFGDATA: - switch (ebc->addr) { - case 0x00: /* B0CR */ - break; - case 0x01: /* B1CR */ - break; - case 0x02: /* B2CR */ - break; - case 0x03: /* B3CR */ - break; - case 0x04: /* B4CR */ - break; - case 0x05: /* B5CR */ - break; - case 0x06: /* B6CR */ - break; - case 0x07: /* B7CR */ - break; - case 0x10: /* B0AP */ - break; - case 0x11: /* B1AP */ - break; - case 0x12: /* B2AP */ - break; - case 0x13: /* B3AP */ - break; - case 0x14: /* B4AP */ - break; - case 0x15: /* B5AP */ - break; - case 0x16: /* B6AP */ - break; - case 0x17: /* B7AP */ - break; - case 0x20: /* BEAR */ - break; - case 0x21: /* BESR0 */ - break; - case 0x22: /* BESR1 */ - break; - case 0x23: /* CFG */ - break; - default: - break; - } - break; - default: - break; - } -} - -static void ppc405_ebc_reset(DeviceState *dev) -{ - Ppc405EbcState *ebc = PPC405_EBC(dev); - int i; - - ebc->addr = 0x00000000; - ebc->bap[0] = 0x7F8FFE80; - ebc->bcr[0] = 0xFFE28000; - for (i = 0; i < 8; i++) { - ebc->bap[i] = 0x00000000; - ebc->bcr[i] = 0x00000000; - } - ebc->besr0 = 0x00000000; - ebc->besr1 = 0x00000000; - ebc->cfg = 0x80400000; -} - -static void ppc405_ebc_realize(DeviceState *dev, Error **errp) -{ - Ppc405EbcState *ebc = PPC405_EBC(dev); - Ppc4xxDcrDeviceState *dcr = PPC4xx_DCR_DEVICE(dev); - - ppc4xx_dcr_register(dcr, EBC0_CFGADDR, ebc, &dcr_read_ebc, &dcr_write_ebc); - ppc4xx_dcr_register(dcr, EBC0_CFGDATA, ebc, &dcr_read_ebc, &dcr_write_ebc); -} - -static void ppc405_ebc_class_init(ObjectClass *oc, void *data) -{ - DeviceClass *dc = DEVICE_CLASS(oc); - - dc->realize = ppc405_ebc_realize; - dc->reset = ppc405_ebc_reset; - /* Reason: only works as function of a ppc4xx SoC */ - dc->user_creatable = false; -} - /*****************************************************************************/ /* DMA controller */ enum { @@ -XXX,XX +XXX,XX @@ static const TypeInfo ppc405_types[] = { .parent = TYPE_SYS_BUS_DEVICE, .instance_size = sizeof(Ppc405OpbaState), .class_init = ppc405_opba_class_init, - }, { - .name = TYPE_PPC405_EBC, - .parent = TYPE_PPC4xx_DCR_DEVICE, - .instance_size = sizeof(Ppc405EbcState), - .class_init = ppc405_ebc_class_init, }, { .name = TYPE_PPC405_DMA, .parent = TYPE_PPC4xx_DCR_DEVICE, diff --git a/hw/ppc/ppc4xx_devs.c b/hw/ppc/ppc4xx_devs.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc4xx_devs.c +++ b/hw/ppc/ppc4xx_devs.c @@ -XXX,XX +XXX,XX @@ static void ppc405_plb_class_init(ObjectClass *oc, void *data) dc->user_creatable = false; } +/*****************************************************************************/ +/* Peripheral controller */ +enum { + EBC0_CFGADDR = 0x012, + EBC0_CFGDATA = 0x013, +}; + +static uint32_t dcr_read_ebc(void *opaque, int dcrn) +{ + Ppc405EbcState *ebc = opaque; + uint32_t ret; + + switch (dcrn) { + case EBC0_CFGADDR: + ret = ebc->addr; + break; + case EBC0_CFGDATA: + switch (ebc->addr) { + case 0x00: /* B0CR */ + ret = ebc->bcr[0]; + break; + case 0x01: /* B1CR */ + ret = ebc->bcr[1]; + break; + case 0x02: /* B2CR */ + ret = ebc->bcr[2]; + break; + case 0x03: /* B3CR */ + ret = ebc->bcr[3]; + break; + case 0x04: /* B4CR */ + ret = ebc->bcr[4]; + break; + case 0x05: /* B5CR */ + ret = ebc->bcr[5]; + break; + case 0x06: /* B6CR */ + ret = ebc->bcr[6]; + break; + case 0x07: /* B7CR */ + ret = ebc->bcr[7]; + break; + case 0x10: /* B0AP */ + ret = ebc->bap[0]; + break; + case 0x11: /* B1AP */ + ret = ebc->bap[1]; + break; + case 0x12: /* B2AP */ + ret = ebc->bap[2]; + break; + case 0x13: /* B3AP */ + ret = ebc->bap[3]; + break; + case 0x14: /* B4AP */ + ret = ebc->bap[4]; + break; + case 0x15: /* B5AP */ + ret = ebc->bap[5]; + break; + case 0x16: /* B6AP */ + ret = ebc->bap[6]; + break; + case 0x17: /* B7AP */ + ret = ebc->bap[7]; + break; + case 0x20: /* BEAR */ + ret = ebc->bear; + break; + case 0x21: /* BESR0 */ + ret = ebc->besr0; + break; + case 0x22: /* BESR1 */ + ret = ebc->besr1; + break; + case 0x23: /* CFG */ + ret = ebc->cfg; + break; + default: + ret = 0x00000000; + break; + } + break; + default: + ret = 0x00000000; + break; + } + + return ret; +} + +static void dcr_write_ebc(void *opaque, int dcrn, uint32_t val) +{ + Ppc405EbcState *ebc = opaque; + + switch (dcrn) { + case EBC0_CFGADDR: + ebc->addr = val; + break; + case EBC0_CFGDATA: + switch (ebc->addr) { + case 0x00: /* B0CR */ + break; + case 0x01: /* B1CR */ + break; + case 0x02: /* B2CR */ + break; + case 0x03: /* B3CR */ + break; + case 0x04: /* B4CR */ + break; + case 0x05: /* B5CR */ + break; + case 0x06: /* B6CR */ + break; + case 0x07: /* B7CR */ + break; + case 0x10: /* B0AP */ + break; + case 0x11: /* B1AP */ + break; + case 0x12: /* B2AP */ + break; + case 0x13: /* B3AP */ + break; + case 0x14: /* B4AP */ + break; + case 0x15: /* B5AP */ + break; + case 0x16: /* B6AP */ + break; + case 0x17: /* B7AP */ + break; + case 0x20: /* BEAR */ + break; + case 0x21: /* BESR0 */ + break; + case 0x22: /* BESR1 */ + break; + case 0x23: /* CFG */ + break; + default: + break; + } + break; + default: + break; + } +} + +static void ppc405_ebc_reset(DeviceState *dev) +{ + Ppc405EbcState *ebc = PPC405_EBC(dev); + int i; + + ebc->addr = 0x00000000; + ebc->bap[0] = 0x7F8FFE80; + ebc->bcr[0] = 0xFFE28000; + for (i = 0; i < 8; i++) { + ebc->bap[i] = 0x00000000; + ebc->bcr[i] = 0x00000000; + } + ebc->besr0 = 0x00000000; + ebc->besr1 = 0x00000000; + ebc->cfg = 0x80400000; +} + +static void ppc405_ebc_realize(DeviceState *dev, Error **errp) +{ + Ppc405EbcState *ebc = PPC405_EBC(dev); + Ppc4xxDcrDeviceState *dcr = PPC4xx_DCR_DEVICE(dev); + + ppc4xx_dcr_register(dcr, EBC0_CFGADDR, ebc, &dcr_read_ebc, &dcr_write_ebc); + ppc4xx_dcr_register(dcr, EBC0_CFGDATA, ebc, &dcr_read_ebc, &dcr_write_ebc); +} + +static void ppc405_ebc_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + dc->realize = ppc405_ebc_realize; + dc->reset = ppc405_ebc_reset; + /* Reason: only works as function of a ppc4xx SoC */ + dc->user_creatable = false; +} + /* PPC4xx_DCR_DEVICE */ void ppc4xx_dcr_register(Ppc4xxDcrDeviceState *dev, int dcrn, void *opaque, @@ -XXX,XX +XXX,XX @@ static const TypeInfo ppc4xx_types[] = { .parent = TYPE_PPC4xx_DCR_DEVICE, .instance_size = sizeof(Ppc4xxPlbState), .class_init = ppc405_plb_class_init, + }, { + .name = TYPE_PPC405_EBC, + .parent = TYPE_PPC4xx_DCR_DEVICE, + .instance_size = sizeof(Ppc405EbcState), + .class_init = ppc405_ebc_class_init, }, { .name = TYPE_PPC4xx_DCR_DEVICE, .parent = TYPE_SYS_BUS_DEVICE, diff --git a/include/hw/ppc/ppc4xx.h b/include/hw/ppc/ppc4xx.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/ppc/ppc4xx.h +++ b/include/hw/ppc/ppc4xx.h @@ -XXX,XX +XXX,XX @@ struct Ppc4xxPlbState { uint32_t besr; }; +/* Peripheral controller */ +#define TYPE_PPC405_EBC "ppc405-ebc" +OBJECT_DECLARE_SIMPLE_TYPE(Ppc405EbcState, PPC405_EBC); +struct Ppc405EbcState { + Ppc4xxDcrDeviceState parent_obj; + + uint32_t addr; + uint32_t bcr[8]; + uint32_t bap[8]; + uint32_t bear; + uint32_t besr0; + uint32_t besr1; + uint32_t cfg; +}; + #endif /* PPC4XX_H */ -- 2.37.2
From: BALATON Zoltan <balaton@eik.bme.hu> This device is shared between different 4xx socs. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <63d9b14c8ff5f73e35bffca1036394b5235735ee.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 2 +- hw/ppc/ppc405_uc.c | 2 +- hw/ppc/ppc4xx_devs.c | 12 ++++++------ hw/ppc/sam460ex.c | 2 +- include/hw/ppc/ppc4xx.h | 6 +++--- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { Ppc405OcmState ocm; Ppc405GpioState gpio; Ppc405DmaState dma; - Ppc405EbcState ebc; + Ppc4xxEbcState ebc; Ppc405OpbaState opba; Ppc405PobState pob; Ppc4xxPlbState plb; diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_instance_init(Object *obj) object_initialize_child(obj, "dma", &s->dma, TYPE_PPC405_DMA); - object_initialize_child(obj, "ebc", &s->ebc, TYPE_PPC405_EBC); + object_initialize_child(obj, "ebc", &s->ebc, TYPE_PPC4xx_EBC); object_initialize_child(obj, "opba", &s->opba, TYPE_PPC405_OPBA); diff --git a/hw/ppc/ppc4xx_devs.c b/hw/ppc/ppc4xx_devs.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc4xx_devs.c +++ b/hw/ppc/ppc4xx_devs.c @@ -XXX,XX +XXX,XX @@ enum { static uint32_t dcr_read_ebc(void *opaque, int dcrn) { - Ppc405EbcState *ebc = opaque; + Ppc4xxEbcState *ebc = opaque; uint32_t ret; switch (dcrn) { @@ -XXX,XX +XXX,XX @@ static uint32_t dcr_read_ebc(void *opaque, int dcrn) static void dcr_write_ebc(void *opaque, int dcrn, uint32_t val) { - Ppc405EbcState *ebc = opaque; + Ppc4xxEbcState *ebc = opaque; switch (dcrn) { case EBC0_CFGADDR: @@ -XXX,XX +XXX,XX @@ static void dcr_write_ebc(void *opaque, int dcrn, uint32_t val) static void ppc405_ebc_reset(DeviceState *dev) { - Ppc405EbcState *ebc = PPC405_EBC(dev); + Ppc4xxEbcState *ebc = PPC4xx_EBC(dev); int i; ebc->addr = 0x00000000; @@ -XXX,XX +XXX,XX @@ static void ppc405_ebc_reset(DeviceState *dev) static void ppc405_ebc_realize(DeviceState *dev, Error **errp) { - Ppc405EbcState *ebc = PPC405_EBC(dev); + Ppc4xxEbcState *ebc = PPC4xx_EBC(dev); Ppc4xxDcrDeviceState *dcr = PPC4xx_DCR_DEVICE(dev); ppc4xx_dcr_register(dcr, EBC0_CFGADDR, ebc, &dcr_read_ebc, &dcr_write_ebc); @@ -XXX,XX +XXX,XX @@ static const TypeInfo ppc4xx_types[] = { .instance_size = sizeof(Ppc4xxPlbState), .class_init = ppc405_plb_class_init, }, { - .name = TYPE_PPC405_EBC, + .name = TYPE_PPC4xx_EBC, .parent = TYPE_PPC4xx_DCR_DEVICE, - .instance_size = sizeof(Ppc405EbcState), + .instance_size = sizeof(Ppc4xxEbcState), .class_init = ppc405_ebc_class_init, }, { .name = TYPE_PPC4xx_DCR_DEVICE, diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/sam460ex.c +++ b/hw/ppc/sam460ex.c @@ -XXX,XX +XXX,XX @@ static void sam460ex_init(MachineState *machine) qdev_get_gpio_in(uic[0], 3)); /* External bus controller */ - dev = qdev_new(TYPE_PPC405_EBC); + dev = qdev_new(TYPE_PPC4xx_EBC); ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(dev), cpu, &error_fatal); object_unref(OBJECT(dev)); diff --git a/include/hw/ppc/ppc4xx.h b/include/hw/ppc/ppc4xx.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/ppc/ppc4xx.h +++ b/include/hw/ppc/ppc4xx.h @@ -XXX,XX +XXX,XX @@ struct Ppc4xxPlbState { }; /* Peripheral controller */ -#define TYPE_PPC405_EBC "ppc405-ebc" -OBJECT_DECLARE_SIMPLE_TYPE(Ppc405EbcState, PPC405_EBC); -struct Ppc405EbcState { +#define TYPE_PPC4xx_EBC "ppc4xx-ebc" +OBJECT_DECLARE_SIMPLE_TYPE(Ppc4xxEbcState, PPC4xx_EBC); +struct Ppc4xxEbcState { Ppc4xxDcrDeviceState parent_obj; uint32_t addr; -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> [balaton: Simplify sysbus device casts for readability] Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <ac5f010f4eb3ade061c65bc39a049f231f75574a.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 3 ++- hw/ppc/ppc405_uc.c | 28 ++++++++++++++-------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ #include "qom/object.h" #include "hw/ppc/ppc4xx.h" +#include "hw/intc/ppc-uic.h" #define PPC405EP_SDRAM_BASE 0x00000000 #define PPC405EP_NVRAM_BASE 0xF0000000 @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { hwaddr ram_size; PowerPCCPU cpu; - DeviceState *uic; + PPCUIC uic; Ppc405CpcState cpc; Ppc405GptState gpt; Ppc405OcmState ocm; diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_instance_init(Object *obj) object_initialize_child(obj, "cpu", &s->cpu, POWERPC_CPU_TYPE_NAME("405ep")); + object_initialize_child(obj, "uic", &s->uic, TYPE_PPC_UIC); + object_initialize_child(obj, "cpc", &s->cpc, TYPE_PPC405_CPC); object_property_add_alias(obj, "sys-clk", OBJECT(&s->cpc), "sys-clk"); @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) sysbus_mmio_map(sbd, 0, 0xef600600); /* Universal interrupt controller */ - s->uic = qdev_new(TYPE_PPC_UIC); - - object_property_set_link(OBJECT(s->uic), "cpu", OBJECT(&s->cpu), + object_property_set_link(OBJECT(&s->uic), "cpu", OBJECT(&s->cpu), &error_fatal); - if (!sysbus_realize(SYS_BUS_DEVICE(s->uic), errp)) { + sbd = SYS_BUS_DEVICE(&s->uic); + if (!sysbus_realize(sbd, errp)) { return; } - - sysbus_connect_irq(SYS_BUS_DEVICE(s->uic), PPCUIC_OUTPUT_INT, + sysbus_connect_irq(sbd, PPCUIC_OUTPUT_INT, qdev_get_gpio_in(DEVICE(&s->cpu), PPC40x_INPUT_INT)); - sysbus_connect_irq(SYS_BUS_DEVICE(s->uic), PPCUIC_OUTPUT_CINT, + sysbus_connect_irq(sbd, PPCUIC_OUTPUT_CINT, qdev_get_gpio_in(DEVICE(&s->cpu), PPC40x_INPUT_CINT)); /* SDRAM controller */ @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) "ppc405.sdram0", s->dram_mr, s->ram_bases[0], s->ram_sizes[0]); - ppc4xx_sdram_init(env, qdev_get_gpio_in(s->uic, 17), 1, + ppc4xx_sdram_init(env, qdev_get_gpio_in(DEVICE(&s->uic), 17), 1, s->ram_banks, s->ram_bases, s->ram_sizes, s->do_dram_init); @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) } sbd = SYS_BUS_DEVICE(&s->dma); for (i = 0; i < ARRAY_SIZE(s->dma.irqs); i++) { - sysbus_connect_irq(sbd, i, qdev_get_gpio_in(s->uic, 5 + i)); + sysbus_connect_irq(sbd, i, qdev_get_gpio_in(DEVICE(&s->uic), 5 + i)); } /* I2C controller */ sysbus_create_simple(TYPE_PPC4xx_I2C, 0xef600500, - qdev_get_gpio_in(s->uic, 2)); + qdev_get_gpio_in(DEVICE(&s->uic), 2)); /* GPIO */ sbd = SYS_BUS_DEVICE(&s->gpio); @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) /* Serial ports */ if (serial_hd(0) != NULL) { serial_mm_init(get_system_memory(), 0xef600300, 0, - qdev_get_gpio_in(s->uic, 0), + qdev_get_gpio_in(DEVICE(&s->uic), 0), PPC_SERIAL_MM_BAUDBASE, serial_hd(0), DEVICE_BIG_ENDIAN); } if (serial_hd(1) != NULL) { serial_mm_init(get_system_memory(), 0xef600400, 0, - qdev_get_gpio_in(s->uic, 1), + qdev_get_gpio_in(DEVICE(&s->uic), 1), PPC_SERIAL_MM_BAUDBASE, serial_hd(1), DEVICE_BIG_ENDIAN); } @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) } sysbus_mmio_map(sbd, 0, 0xef600000); for (i = 0; i < ARRAY_SIZE(s->gpt.irqs); i++) { - sysbus_connect_irq(sbd, i, qdev_get_gpio_in(s->uic, 19 + i)); + sysbus_connect_irq(sbd, i, qdev_get_gpio_in(DEVICE(&s->uic), 19 + i)); } /* MAL */ @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) } sbd = SYS_BUS_DEVICE(&s->mal); for (i = 0; i < ARRAY_SIZE(s->mal.irqs); i++) { - sysbus_connect_irq(sbd, i, qdev_get_gpio_in(s->uic, 11 + i)); + sysbus_connect_irq(sbd, i, qdev_get_gpio_in(DEVICE(&s->uic), 11 + i)); } /* Ethernet */ -- 2.37.2
From: BALATON Zoltan <balaton@eik.bme.hu> Make ppc-uic a subclass of ppc4xx-dcr-device which will handle the cpu link and make it uniform with the other PPC4xx devices. Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Reviewed-by: Cédric Le Goater <clg@kaod.org> Message-Id: <eb548130cf60aea8a6ea4dba4dee1686b3cabc3d.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/intc/ppc-uic.c | 26 ++++++-------------------- hw/ppc/ppc405_uc.c | 6 ++---- hw/ppc/ppc440_bamboo.c | 7 ++----- hw/ppc/ppc4xx_devs.c | 1 - hw/ppc/sam460ex.c | 17 +++++++---------- hw/ppc/virtex_ml507.c | 7 ++----- include/hw/intc/ppc-uic.h | 6 ++---- 7 files changed, 21 insertions(+), 49 deletions(-) diff --git a/hw/intc/ppc-uic.c b/hw/intc/ppc-uic.c index XXXXXXX..XXXXXXX 100644 --- a/hw/intc/ppc-uic.c +++ b/hw/intc/ppc-uic.c @@ -XXX,XX +XXX,XX @@ #include "qemu/osdep.h" #include "hw/intc/ppc-uic.h" #include "hw/irq.h" -#include "cpu.h" -#include "hw/ppc/ppc.h" #include "hw/qdev-properties.h" #include "migration/vmstate.h" -#include "qapi/error.h" enum { DCR_UICSR = 0x000, @@ -XXX,XX +XXX,XX @@ static void ppcuic_trigger_irq(PPCUIC *uic) static void ppcuic_set_irq(void *opaque, int irq_num, int level) { - PPCUIC *uic; + PPCUIC *uic = opaque; uint32_t mask, sr; - uic = opaque; mask = 1U << (31 - irq_num); LOG_UIC("%s: irq %d level %d uicsr %08" PRIx32 " mask %08" PRIx32 " => %08" PRIx32 " %08" PRIx32 "\n", @@ -XXX,XX +XXX,XX @@ static void ppcuic_set_irq(void *opaque, int irq_num, int level) static uint32_t dcr_read_uic(void *opaque, int dcrn) { - PPCUIC *uic; + PPCUIC *uic = opaque; uint32_t ret; - uic = opaque; dcrn -= uic->dcr_base; switch (dcrn) { case DCR_UICSR: @@ -XXX,XX +XXX,XX @@ static uint32_t dcr_read_uic(void *opaque, int dcrn) static void dcr_write_uic(void *opaque, int dcrn, uint32_t val) { - PPCUIC *uic; + PPCUIC *uic = opaque; - uic = opaque; dcrn -= uic->dcr_base; LOG_UIC("%s: dcr %d val 0x%x\n", __func__, dcrn, val); switch (dcrn) { @@ -XXX,XX +XXX,XX @@ static void ppc_uic_reset(DeviceState *dev) static void ppc_uic_realize(DeviceState *dev, Error **errp) { PPCUIC *uic = PPC_UIC(dev); + Ppc4xxDcrDeviceState *dcr = PPC4xx_DCR_DEVICE(dev); SysBusDevice *sbd = SYS_BUS_DEVICE(dev); - PowerPCCPU *cpu; int i; - if (!uic->cpu) { - /* This is a programming error in the code using this device */ - error_setg(errp, "ppc-uic 'cpu' link property was not set"); - return; - } - - cpu = POWERPC_CPU(uic->cpu); for (i = 0; i < DCR_UICMAX; i++) { - ppc_dcr_register(&cpu->env, uic->dcr_base + i, uic, + ppc4xx_dcr_register(dcr, uic->dcr_base + i, uic, &dcr_read_uic, &dcr_write_uic); } @@ -XXX,XX +XXX,XX @@ static void ppc_uic_realize(DeviceState *dev, Error **errp) } static Property ppc_uic_properties[] = { - DEFINE_PROP_LINK("cpu", PPCUIC, cpu, TYPE_CPU, CPUState *), DEFINE_PROP_UINT32("dcr-base", PPCUIC, dcr_base, 0xc0), DEFINE_PROP_BOOL("use-vectors", PPCUIC, use_vectors, true), DEFINE_PROP_END_OF_LIST() @@ -XXX,XX +XXX,XX @@ static void ppc_uic_class_init(ObjectClass *klass, void *data) static const TypeInfo ppc_uic_info = { .name = TYPE_PPC_UIC, - .parent = TYPE_SYS_BUS_DEVICE, + .parent = TYPE_PPC4xx_DCR_DEVICE, .instance_size = sizeof(PPCUIC), .class_init = ppc_uic_class_init, }; diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) sysbus_mmio_map(sbd, 0, 0xef600600); /* Universal interrupt controller */ - object_property_set_link(OBJECT(&s->uic), "cpu", OBJECT(&s->cpu), - &error_fatal); - sbd = SYS_BUS_DEVICE(&s->uic); - if (!sysbus_realize(sbd, errp)) { + if (!ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(&s->uic), &s->cpu, errp)) { return; } + sbd = SYS_BUS_DEVICE(&s->uic); sysbus_connect_irq(sbd, PPCUIC_OUTPUT_INT, qdev_get_gpio_in(DEVICE(&s->cpu), PPC40x_INPUT_INT)); sysbus_connect_irq(sbd, PPCUIC_OUTPUT_CINT, diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc440_bamboo.c +++ b/hw/ppc/ppc440_bamboo.c @@ -XXX,XX +XXX,XX @@ static void bamboo_init(MachineState *machine) /* interrupt controller */ uicdev = qdev_new(TYPE_PPC_UIC); + ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(uicdev), cpu, &error_fatal); + object_unref(OBJECT(uicdev)); uicsbd = SYS_BUS_DEVICE(uicdev); - - object_property_set_link(OBJECT(uicdev), "cpu", OBJECT(cpu), - &error_fatal); - sysbus_realize_and_unref(uicsbd, &error_fatal); - sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT, qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT)); sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT, diff --git a/hw/ppc/ppc4xx_devs.c b/hw/ppc/ppc4xx_devs.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc4xx_devs.c +++ b/hw/ppc/ppc4xx_devs.c @@ -XXX,XX +XXX,XX @@ #include "hw/irq.h" #include "hw/ppc/ppc.h" #include "hw/ppc/ppc4xx.h" -#include "hw/intc/ppc-uic.h" #include "hw/qdev-properties.h" #include "qemu/log.h" #include "exec/address-spaces.h" diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/sam460ex.c +++ b/hw/ppc/sam460ex.c @@ -XXX,XX +XXX,XX @@ static void sam460ex_init(MachineState *machine) /* interrupt controllers */ for (i = 0; i < ARRAY_SIZE(uic); i++) { - SysBusDevice *sbd; /* * UICs 1, 2 and 3 are cascaded through UIC 0. * input_ints[n] is the interrupt number on UIC 0 which @@ -XXX,XX +XXX,XX @@ static void sam460ex_init(MachineState *machine) const int input_ints[] = { -1, 30, 10, 16 }; uic[i] = qdev_new(TYPE_PPC_UIC); - sbd = SYS_BUS_DEVICE(uic[i]); - qdev_prop_set_uint32(uic[i], "dcr-base", 0xc0 + i * 0x10); - object_property_set_link(OBJECT(uic[i]), "cpu", OBJECT(cpu), - &error_fatal); - sysbus_realize_and_unref(sbd, &error_fatal); + ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(uic[i]), cpu, &error_fatal); + object_unref(OBJECT(uic[i])); + sbdev = SYS_BUS_DEVICE(uic[i]); if (i == 0) { - sysbus_connect_irq(sbd, PPCUIC_OUTPUT_INT, + sysbus_connect_irq(sbdev, PPCUIC_OUTPUT_INT, qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT)); - sysbus_connect_irq(sbd, PPCUIC_OUTPUT_CINT, + sysbus_connect_irq(sbdev, PPCUIC_OUTPUT_CINT, qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_CINT)); } else { - sysbus_connect_irq(sbd, PPCUIC_OUTPUT_INT, + sysbus_connect_irq(sbdev, PPCUIC_OUTPUT_INT, qdev_get_gpio_in(uic[0], input_ints[i])); - sysbus_connect_irq(sbd, PPCUIC_OUTPUT_CINT, + sysbus_connect_irq(sbdev, PPCUIC_OUTPUT_CINT, qdev_get_gpio_in(uic[0], input_ints[i] + 1)); } } diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/virtex_ml507.c +++ b/hw/ppc/virtex_ml507.c @@ -XXX,XX +XXX,XX @@ static PowerPCCPU *ppc440_init_xilinx(const char *cpu_type, uint32_t sysclk) /* interrupt controller */ uicdev = qdev_new(TYPE_PPC_UIC); + ppc4xx_dcr_realize(PPC4xx_DCR_DEVICE(uicdev), cpu, &error_fatal); + object_unref(OBJECT(uicdev)); uicsbd = SYS_BUS_DEVICE(uicdev); - - object_property_set_link(OBJECT(uicdev), "cpu", OBJECT(cpu), - &error_fatal); - sysbus_realize_and_unref(uicsbd, &error_fatal); - sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_INT, qdev_get_gpio_in(DEVICE(cpu), PPC40x_INPUT_INT)); sysbus_connect_irq(uicsbd, PPCUIC_OUTPUT_CINT, diff --git a/include/hw/intc/ppc-uic.h b/include/hw/intc/ppc-uic.h index XXXXXXX..XXXXXXX 100644 --- a/include/hw/intc/ppc-uic.h +++ b/include/hw/intc/ppc-uic.h @@ -XXX,XX +XXX,XX @@ #ifndef HW_INTC_PPC_UIC_H #define HW_INTC_PPC_UIC_H -#include "hw/sysbus.h" -#include "qom/object.h" +#include "hw/ppc/ppc4xx.h" #define TYPE_PPC_UIC "ppc-uic" OBJECT_DECLARE_SIMPLE_TYPE(PPCUIC, PPC_UIC) @@ -XXX,XX +XXX,XX @@ enum { struct PPCUIC { /*< private >*/ - SysBusDevice parent_obj; + Ppc4xxDcrDeviceState parent_obj; /*< public >*/ qemu_irq output_int; qemu_irq output_cint; /* properties */ - CPUState *cpu; uint32_t dcr_base; bool use_vectors; -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> Having an explicit I2C model object will help if one day we want to add I2C devices on the bus from the machine init routine. Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> [balaton: Symplify sysbus device casts for readibility] Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <68eb8b5ac408ca8cc981ebf53a3e154c0d34c7f6.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 2 ++ hw/ppc/ppc405_uc.c | 10 ++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ #include "qom/object.h" #include "hw/ppc/ppc4xx.h" #include "hw/intc/ppc-uic.h" +#include "hw/i2c/ppc4xx_i2c.h" #define PPC405EP_SDRAM_BASE 0x00000000 #define PPC405EP_NVRAM_BASE 0xF0000000 @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { Ppc405OcmState ocm; Ppc405GpioState gpio; Ppc405DmaState dma; + PPC4xxI2CState i2c; Ppc4xxEbcState ebc; Ppc405OpbaState opba; Ppc405PobState pob; diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_instance_init(Object *obj) object_initialize_child(obj, "dma", &s->dma, TYPE_PPC405_DMA); + object_initialize_child(obj, "i2c", &s->i2c, TYPE_PPC4xx_I2C); + object_initialize_child(obj, "ebc", &s->ebc, TYPE_PPC4xx_EBC); object_initialize_child(obj, "opba", &s->opba, TYPE_PPC405_OPBA); @@ -XXX,XX +XXX,XX @@ static void ppc405_soc_realize(DeviceState *dev, Error **errp) } /* I2C controller */ - sysbus_create_simple(TYPE_PPC4xx_I2C, 0xef600500, - qdev_get_gpio_in(DEVICE(&s->uic), 2)); + sbd = SYS_BUS_DEVICE(&s->i2c); + if (!sysbus_realize(sbd, errp)) { + return; + } + sysbus_mmio_map(sbd, 0, 0xef600500); + sysbus_connect_irq(sbd, 0, qdev_get_gpio_in(DEVICE(&s->uic), 2)); /* GPIO */ sbd = SYS_BUS_DEVICE(&s->gpio); -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <ed6ff1705dadb46b456e424aa0f0420f1d18d92c.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405_boards.c | 56 +++++++++++++++++++++++++++++------------- 1 file changed, 39 insertions(+), 17 deletions(-) diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_boards.c +++ b/hw/ppc/ppc405_boards.c @@ -XXX,XX +XXX,XX @@ struct Ppc405MachineState { * - NVRAM (0xF0000000) * - FPGA (0xF0300000) */ -typedef struct ref405ep_fpga_t ref405ep_fpga_t; -struct ref405ep_fpga_t { + +#define TYPE_REF405EP_FPGA "ref405ep-fpga" +OBJECT_DECLARE_SIMPLE_TYPE(Ref405epFpgaState, REF405EP_FPGA); +struct Ref405epFpgaState { + SysBusDevice parent_obj; + + MemoryRegion iomem; + uint8_t reg0; uint8_t reg1; }; static uint64_t ref405ep_fpga_readb(void *opaque, hwaddr addr, unsigned size) { - ref405ep_fpga_t *fpga; + Ref405epFpgaState *fpga = opaque; uint32_t ret; - fpga = opaque; switch (addr) { case 0x0: ret = fpga->reg0; @@ -XXX,XX +XXX,XX @@ static uint64_t ref405ep_fpga_readb(void *opaque, hwaddr addr, unsigned size) static void ref405ep_fpga_writeb(void *opaque, hwaddr addr, uint64_t value, unsigned size) { - ref405ep_fpga_t *fpga; + Ref405epFpgaState *fpga = opaque; - fpga = opaque; switch (addr) { case 0x0: /* Read only */ @@ -XXX,XX +XXX,XX @@ static const MemoryRegionOps ref405ep_fpga_ops = { .endianness = DEVICE_BIG_ENDIAN, }; -static void ref405ep_fpga_reset (void *opaque) +static void ref405ep_fpga_reset(DeviceState *dev) { - ref405ep_fpga_t *fpga; + Ref405epFpgaState *fpga = REF405EP_FPGA(dev); - fpga = opaque; fpga->reg0 = 0x00; fpga->reg1 = 0x0F; } -static void ref405ep_fpga_init(MemoryRegion *sysmem, uint32_t base) +static void ref405ep_fpga_realize(DeviceState *dev, Error **errp) { - ref405ep_fpga_t *fpga; - MemoryRegion *fpga_memory = g_new(MemoryRegion, 1); + Ref405epFpgaState *s = REF405EP_FPGA(dev); - fpga = g_new0(ref405ep_fpga_t, 1); - memory_region_init_io(fpga_memory, NULL, &ref405ep_fpga_ops, fpga, + memory_region_init_io(&s->iomem, OBJECT(s), &ref405ep_fpga_ops, s, "fpga", 0x00000100); - memory_region_add_subregion(sysmem, base, fpga_memory); - qemu_register_reset(&ref405ep_fpga_reset, fpga); + sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->iomem); +} + +static void ref405ep_fpga_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + dc->realize = ref405ep_fpga_realize; + dc->reset = ref405ep_fpga_reset; + /* Reason: only works as part of a ppc405 board */ + dc->user_creatable = false; } +static const TypeInfo ref405ep_fpga_type = { + .name = TYPE_REF405EP_FPGA, + .parent = TYPE_SYS_BUS_DEVICE, + .instance_size = sizeof(Ref405epFpgaState), + .class_init = ref405ep_fpga_class_init, +}; + /* * CPU reset handler when booting directly from a loaded kernel */ @@ -XXX,XX +XXX,XX @@ static void ref405ep_init(MachineState *machine) memory_region_add_subregion(get_system_memory(), PPC405EP_SRAM_BASE, sram); /* Register FPGA */ - ref405ep_fpga_init(get_system_memory(), PPC405EP_FPGA_BASE); + dev = qdev_new(TYPE_REF405EP_FPGA); + object_property_add_child(OBJECT(machine), "fpga", OBJECT(dev)); + sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); + sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, PPC405EP_FPGA_BASE); + /* Register NVRAM */ dev = qdev_new("sysbus-m48t08"); qdev_prop_set_int32(dev, "base-year", 1968); @@ -XXX,XX +XXX,XX @@ static void ppc405_machine_init(void) { type_register_static(&ppc405_machine_type); type_register_static(&ref405ep_type); + type_register_static(&ref405ep_fpga_type); } type_init(ppc405_machine_init) -- 2.37.2
From: BALATON Zoltan <balaton@eik.bme.hu> These are only used by the board code so move out from the shared SoC model and put it in the boards file. Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Reviewed-by: Cédric Le Goater <clg@kaod.org> Message-Id: <2b23bcaaf191f96b217cbd06a6038694024862c3.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405.h | 38 ----- hw/ppc/ppc405_boards.c | 375 +++++++++++++++++++++++++++-------------- hw/ppc/ppc405_uc.c | 92 ---------- 3 files changed, 251 insertions(+), 254 deletions(-) diff --git a/hw/ppc/ppc405.h b/hw/ppc/ppc405.h index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405.h +++ b/hw/ppc/ppc405.h @@ -XXX,XX +XXX,XX @@ #include "hw/intc/ppc-uic.h" #include "hw/i2c/ppc4xx_i2c.h" -#define PPC405EP_SDRAM_BASE 0x00000000 -#define PPC405EP_NVRAM_BASE 0xF0000000 -#define PPC405EP_FPGA_BASE 0xF0300000 -#define PPC405EP_SRAM_BASE 0xFFF00000 -#define PPC405EP_SRAM_SIZE (512 * KiB) -#define PPC405EP_FLASH_BASE 0xFFF80000 - -/* Bootinfo as set-up by u-boot */ -typedef struct ppc4xx_bd_info_t ppc4xx_bd_info_t; -struct ppc4xx_bd_info_t { - uint32_t bi_memstart; - uint32_t bi_memsize; - uint32_t bi_flashstart; - uint32_t bi_flashsize; - uint32_t bi_flashoffset; /* 0x10 */ - uint32_t bi_sramstart; - uint32_t bi_sramsize; - uint32_t bi_bootflags; - uint32_t bi_ipaddr; /* 0x20 */ - uint8_t bi_enetaddr[6]; - uint16_t bi_ethspeed; - uint32_t bi_intfreq; - uint32_t bi_busfreq; /* 0x30 */ - uint32_t bi_baudrate; - uint8_t bi_s_version[4]; - uint8_t bi_r_version[32]; - uint32_t bi_procfreq; - uint32_t bi_plb_busfreq; - uint32_t bi_pci_busfreq; - uint8_t bi_pci_enetaddr[6]; - uint8_t bi_pci_enetaddr2[6]; /* PPC405EP specific */ - uint32_t bi_opbfreq; - uint32_t bi_iic_fast[2]; -}; - /* PLB to OPB bridge */ #define TYPE_PPC405_POB "ppc405-pob" OBJECT_DECLARE_SIMPLE_TYPE(Ppc405PobState, PPC405_POB); @@ -XXX,XX +XXX,XX @@ struct Ppc405SoCState { Ppc4xxMalState mal; }; -/* PowerPC 405 core */ -ram_addr_t ppc405_set_bootinfo(CPUPPCState *env, ram_addr_t ram_size); - #endif /* PPC405_H */ diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_boards.c +++ b/hw/ppc/ppc405_boards.c @@ -XXX,XX +XXX,XX @@ #define KERNEL_LOAD_ADDR 0x01000000 #define INITRD_LOAD_ADDR 0x01800000 +#define PPC405EP_SDRAM_BASE 0x00000000 +#define PPC405EP_SRAM_BASE 0xFFF00000 +#define PPC405EP_SRAM_SIZE (512 * KiB) + #define USE_FLASH_BIOS #define TYPE_PPC405_MACHINE MACHINE_TYPE_NAME("ppc405") @@ -XXX,XX +XXX,XX @@ struct Ppc405MachineState { Ppc405SoCState soc; }; -/*****************************************************************************/ -/* PPC405EP reference board (IBM) */ -/* Standalone board with: - * - PowerPC 405EP CPU - * - SDRAM (0x00000000) - * - Flash (0xFFF80000) - * - SRAM (0xFFF00000) - * - NVRAM (0xF0000000) - * - FPGA (0xF0300000) - */ - -#define TYPE_REF405EP_FPGA "ref405ep-fpga" -OBJECT_DECLARE_SIMPLE_TYPE(Ref405epFpgaState, REF405EP_FPGA); -struct Ref405epFpgaState { - SysBusDevice parent_obj; - - MemoryRegion iomem; - - uint8_t reg0; - uint8_t reg1; -}; - -static uint64_t ref405ep_fpga_readb(void *opaque, hwaddr addr, unsigned size) -{ - Ref405epFpgaState *fpga = opaque; - uint32_t ret; - - switch (addr) { - case 0x0: - ret = fpga->reg0; - break; - case 0x1: - ret = fpga->reg1; - break; - default: - ret = 0; - break; - } - - return ret; -} - -static void ref405ep_fpga_writeb(void *opaque, hwaddr addr, uint64_t value, - unsigned size) -{ - Ref405epFpgaState *fpga = opaque; - - switch (addr) { - case 0x0: - /* Read only */ - break; - case 0x1: - fpga->reg1 = value; - break; - default: - break; - } -} - -static const MemoryRegionOps ref405ep_fpga_ops = { - .read = ref405ep_fpga_readb, - .write = ref405ep_fpga_writeb, - .impl.min_access_size = 1, - .impl.max_access_size = 1, - .valid.min_access_size = 1, - .valid.max_access_size = 4, - .endianness = DEVICE_BIG_ENDIAN, -}; - -static void ref405ep_fpga_reset(DeviceState *dev) -{ - Ref405epFpgaState *fpga = REF405EP_FPGA(dev); - - fpga->reg0 = 0x00; - fpga->reg1 = 0x0F; -} - -static void ref405ep_fpga_realize(DeviceState *dev, Error **errp) -{ - Ref405epFpgaState *s = REF405EP_FPGA(dev); - - memory_region_init_io(&s->iomem, OBJECT(s), &ref405ep_fpga_ops, s, - "fpga", 0x00000100); - sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->iomem); -} - -static void ref405ep_fpga_class_init(ObjectClass *oc, void *data) -{ - DeviceClass *dc = DEVICE_CLASS(oc); - - dc->realize = ref405ep_fpga_realize; - dc->reset = ref405ep_fpga_reset; - /* Reason: only works as part of a ppc405 board */ - dc->user_creatable = false; -} - -static const TypeInfo ref405ep_fpga_type = { - .name = TYPE_REF405EP_FPGA, - .parent = TYPE_SYS_BUS_DEVICE, - .instance_size = sizeof(Ref405epFpgaState), - .class_init = ref405ep_fpga_class_init, -}; - -/* - * CPU reset handler when booting directly from a loaded kernel - */ +/* CPU reset handler when booting directly from a loaded kernel */ static struct boot_info { uint32_t entry; uint32_t bdloc; @@ -XXX,XX +XXX,XX @@ static void main_cpu_reset(void *opaque) env->nip = bi->entry; } +/* Bootinfo as set-up by u-boot */ +typedef struct { + uint32_t bi_memstart; + uint32_t bi_memsize; + uint32_t bi_flashstart; + uint32_t bi_flashsize; + uint32_t bi_flashoffset; /* 0x10 */ + uint32_t bi_sramstart; + uint32_t bi_sramsize; + uint32_t bi_bootflags; + uint32_t bi_ipaddr; /* 0x20 */ + uint8_t bi_enetaddr[6]; + uint16_t bi_ethspeed; + uint32_t bi_intfreq; + uint32_t bi_busfreq; /* 0x30 */ + uint32_t bi_baudrate; + uint8_t bi_s_version[4]; + uint8_t bi_r_version[32]; + uint32_t bi_procfreq; + uint32_t bi_plb_busfreq; + uint32_t bi_pci_busfreq; + uint8_t bi_pci_enetaddr[6]; + uint8_t bi_pci_enetaddr2[6]; /* PPC405EP specific */ + uint32_t bi_opbfreq; + uint32_t bi_iic_fast[2]; +} ppc4xx_bd_info_t; + +static void ppc405_set_default_bootinfo(ppc4xx_bd_info_t *bd, + ram_addr_t ram_size) +{ + memset(bd, 0, sizeof(*bd)); + + bd->bi_memstart = PPC405EP_SDRAM_BASE; + bd->bi_memsize = ram_size; + bd->bi_sramstart = PPC405EP_SRAM_BASE; + bd->bi_sramsize = PPC405EP_SRAM_SIZE; + bd->bi_bootflags = 0; + bd->bi_intfreq = 133333333; + bd->bi_busfreq = 33333333; + bd->bi_baudrate = 115200; + bd->bi_s_version[0] = 'Q'; + bd->bi_s_version[1] = 'M'; + bd->bi_s_version[2] = 'U'; + bd->bi_s_version[3] = '\0'; + bd->bi_r_version[0] = 'Q'; + bd->bi_r_version[1] = 'E'; + bd->bi_r_version[2] = 'M'; + bd->bi_r_version[3] = 'U'; + bd->bi_r_version[4] = '\0'; + bd->bi_procfreq = 133333333; + bd->bi_plb_busfreq = 33333333; + bd->bi_pci_busfreq = 33333333; + bd->bi_opbfreq = 33333333; +} + +static ram_addr_t __ppc405_set_bootinfo(CPUPPCState *env, ppc4xx_bd_info_t *bd) +{ + CPUState *cs = env_cpu(env); + ram_addr_t bdloc; + int i, n; + + /* We put the bd structure at the top of memory */ + if (bd->bi_memsize >= 0x01000000UL) { + bdloc = 0x01000000UL - sizeof(ppc4xx_bd_info_t); + } else { + bdloc = bd->bi_memsize - sizeof(ppc4xx_bd_info_t); + } + stl_be_phys(cs->as, bdloc + 0x00, bd->bi_memstart); + stl_be_phys(cs->as, bdloc + 0x04, bd->bi_memsize); + stl_be_phys(cs->as, bdloc + 0x08, bd->bi_flashstart); + stl_be_phys(cs->as, bdloc + 0x0C, bd->bi_flashsize); + stl_be_phys(cs->as, bdloc + 0x10, bd->bi_flashoffset); + stl_be_phys(cs->as, bdloc + 0x14, bd->bi_sramstart); + stl_be_phys(cs->as, bdloc + 0x18, bd->bi_sramsize); + stl_be_phys(cs->as, bdloc + 0x1C, bd->bi_bootflags); + stl_be_phys(cs->as, bdloc + 0x20, bd->bi_ipaddr); + for (i = 0; i < 6; i++) { + stb_phys(cs->as, bdloc + 0x24 + i, bd->bi_enetaddr[i]); + } + stw_be_phys(cs->as, bdloc + 0x2A, bd->bi_ethspeed); + stl_be_phys(cs->as, bdloc + 0x2C, bd->bi_intfreq); + stl_be_phys(cs->as, bdloc + 0x30, bd->bi_busfreq); + stl_be_phys(cs->as, bdloc + 0x34, bd->bi_baudrate); + for (i = 0; i < 4; i++) { + stb_phys(cs->as, bdloc + 0x38 + i, bd->bi_s_version[i]); + } + for (i = 0; i < 32; i++) { + stb_phys(cs->as, bdloc + 0x3C + i, bd->bi_r_version[i]); + } + stl_be_phys(cs->as, bdloc + 0x5C, bd->bi_procfreq); + stl_be_phys(cs->as, bdloc + 0x60, bd->bi_plb_busfreq); + stl_be_phys(cs->as, bdloc + 0x64, bd->bi_pci_busfreq); + for (i = 0; i < 6; i++) { + stb_phys(cs->as, bdloc + 0x68 + i, bd->bi_pci_enetaddr[i]); + } + n = 0x70; /* includes 2 bytes hole */ + for (i = 0; i < 6; i++) { + stb_phys(cs->as, bdloc + n++, bd->bi_pci_enetaddr2[i]); + } + stl_be_phys(cs->as, bdloc + n, bd->bi_opbfreq); + n += 4; + for (i = 0; i < 2; i++) { + stl_be_phys(cs->as, bdloc + n, bd->bi_iic_fast[i]); + n += 4; + } + + return bdloc; +} + +static ram_addr_t ppc405_set_bootinfo(CPUPPCState *env, ram_addr_t ram_size) +{ + ppc4xx_bd_info_t bd; + + memset(&bd, 0, sizeof(bd)); + + ppc405_set_default_bootinfo(&bd, ram_size); + + return __ppc405_set_bootinfo(env, &bd); +} + static void boot_from_kernel(MachineState *machine, PowerPCCPU *cpu) { CPUPPCState *env = &cpu->env; @@ -XXX,XX +XXX,XX @@ static void ppc405_init(MachineState *machine) } } +static void ppc405_machine_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc = MACHINE_CLASS(oc); + + mc->desc = "PPC405 generic machine"; + mc->init = ppc405_init; + mc->default_ram_size = 128 * MiB; + mc->default_ram_id = "ppc405.ram"; +} + +static const TypeInfo ppc405_machine_type = { + .name = TYPE_PPC405_MACHINE, + .parent = TYPE_MACHINE, + .instance_size = sizeof(Ppc405MachineState), + .class_init = ppc405_machine_class_init, + .abstract = true, +}; + +/*****************************************************************************/ +/* PPC405EP reference board (IBM) */ +/* + * Standalone board with: + * - PowerPC 405EP CPU + * - SDRAM (0x00000000) + * - Flash (0xFFF80000) + * - SRAM (0xFFF00000) + * - NVRAM (0xF0000000) + * - FPGA (0xF0300000) + */ + +#define PPC405EP_NVRAM_BASE 0xF0000000 +#define PPC405EP_FPGA_BASE 0xF0300000 +#define PPC405EP_FLASH_BASE 0xFFF80000 + +#define TYPE_REF405EP_FPGA "ref405ep-fpga" +OBJECT_DECLARE_SIMPLE_TYPE(Ref405epFpgaState, REF405EP_FPGA); +struct Ref405epFpgaState { + SysBusDevice parent_obj; + + MemoryRegion iomem; + + uint8_t reg0; + uint8_t reg1; +}; + +static uint64_t ref405ep_fpga_readb(void *opaque, hwaddr addr, unsigned size) +{ + Ref405epFpgaState *fpga = opaque; + uint32_t ret; + + switch (addr) { + case 0x0: + ret = fpga->reg0; + break; + case 0x1: + ret = fpga->reg1; + break; + default: + ret = 0; + break; + } + + return ret; +} + +static void ref405ep_fpga_writeb(void *opaque, hwaddr addr, uint64_t value, + unsigned size) +{ + Ref405epFpgaState *fpga = opaque; + + switch (addr) { + case 0x0: + /* Read only */ + break; + case 0x1: + fpga->reg1 = value; + break; + default: + break; + } +} + +static const MemoryRegionOps ref405ep_fpga_ops = { + .read = ref405ep_fpga_readb, + .write = ref405ep_fpga_writeb, + .impl.min_access_size = 1, + .impl.max_access_size = 1, + .valid.min_access_size = 1, + .valid.max_access_size = 4, + .endianness = DEVICE_BIG_ENDIAN, +}; + +static void ref405ep_fpga_reset(DeviceState *dev) +{ + Ref405epFpgaState *fpga = REF405EP_FPGA(dev); + + fpga->reg0 = 0x00; + fpga->reg1 = 0x0F; +} + +static void ref405ep_fpga_realize(DeviceState *dev, Error **errp) +{ + Ref405epFpgaState *s = REF405EP_FPGA(dev); + + memory_region_init_io(&s->iomem, OBJECT(s), &ref405ep_fpga_ops, s, + "fpga", 0x00000100); + sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->iomem); +} + +static void ref405ep_fpga_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc = DEVICE_CLASS(oc); + + dc->realize = ref405ep_fpga_realize; + dc->reset = ref405ep_fpga_reset; + /* Reason: only works as part of a ppc405 board */ + dc->user_creatable = false; +} + +static const TypeInfo ref405ep_fpga_type = { + .name = TYPE_REF405EP_FPGA, + .parent = TYPE_SYS_BUS_DEVICE, + .instance_size = sizeof(Ref405epFpgaState), + .class_init = ref405ep_fpga_class_init, +}; + static void ref405ep_init(MachineState *machine) { DeviceState *dev; @@ -XXX,XX +XXX,XX @@ static const TypeInfo ref405ep_type = { .class_init = ref405ep_class_init, }; -static void ppc405_machine_class_init(ObjectClass *oc, void *data) -{ - MachineClass *mc = MACHINE_CLASS(oc); - - mc->desc = "PPC405 generic machine"; - mc->init = ppc405_init; - mc->default_ram_size = 128 * MiB; - mc->default_ram_id = "ppc405.ram"; -} - -static const TypeInfo ppc405_machine_type = { - .name = TYPE_PPC405_MACHINE, - .parent = TYPE_MACHINE, - .instance_size = sizeof(Ppc405MachineState), - .class_init = ppc405_machine_class_init, - .abstract = true, -}; - static void ppc405_machine_init(void) { type_register_static(&ppc405_machine_type); diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ #include "qapi/error.h" #include "trace.h" -static void ppc405_set_default_bootinfo(ppc4xx_bd_info_t *bd, - ram_addr_t ram_size) -{ - memset(bd, 0, sizeof(*bd)); - - bd->bi_memstart = PPC405EP_SDRAM_BASE; - bd->bi_memsize = ram_size; - bd->bi_sramstart = PPC405EP_SRAM_BASE; - bd->bi_sramsize = PPC405EP_SRAM_SIZE; - bd->bi_bootflags = 0; - bd->bi_intfreq = 133333333; - bd->bi_busfreq = 33333333; - bd->bi_baudrate = 115200; - bd->bi_s_version[0] = 'Q'; - bd->bi_s_version[1] = 'M'; - bd->bi_s_version[2] = 'U'; - bd->bi_s_version[3] = '\0'; - bd->bi_r_version[0] = 'Q'; - bd->bi_r_version[1] = 'E'; - bd->bi_r_version[2] = 'M'; - bd->bi_r_version[3] = 'U'; - bd->bi_r_version[4] = '\0'; - bd->bi_procfreq = 133333333; - bd->bi_plb_busfreq = 33333333; - bd->bi_pci_busfreq = 33333333; - bd->bi_opbfreq = 33333333; -} - -static ram_addr_t __ppc405_set_bootinfo(CPUPPCState *env, ppc4xx_bd_info_t *bd) -{ - CPUState *cs = env_cpu(env); - ram_addr_t bdloc; - int i, n; - - /* We put the bd structure at the top of memory */ - if (bd->bi_memsize >= 0x01000000UL) - bdloc = 0x01000000UL - sizeof(struct ppc4xx_bd_info_t); - else - bdloc = bd->bi_memsize - sizeof(struct ppc4xx_bd_info_t); - stl_be_phys(cs->as, bdloc + 0x00, bd->bi_memstart); - stl_be_phys(cs->as, bdloc + 0x04, bd->bi_memsize); - stl_be_phys(cs->as, bdloc + 0x08, bd->bi_flashstart); - stl_be_phys(cs->as, bdloc + 0x0C, bd->bi_flashsize); - stl_be_phys(cs->as, bdloc + 0x10, bd->bi_flashoffset); - stl_be_phys(cs->as, bdloc + 0x14, bd->bi_sramstart); - stl_be_phys(cs->as, bdloc + 0x18, bd->bi_sramsize); - stl_be_phys(cs->as, bdloc + 0x1C, bd->bi_bootflags); - stl_be_phys(cs->as, bdloc + 0x20, bd->bi_ipaddr); - for (i = 0; i < 6; i++) { - stb_phys(cs->as, bdloc + 0x24 + i, bd->bi_enetaddr[i]); - } - stw_be_phys(cs->as, bdloc + 0x2A, bd->bi_ethspeed); - stl_be_phys(cs->as, bdloc + 0x2C, bd->bi_intfreq); - stl_be_phys(cs->as, bdloc + 0x30, bd->bi_busfreq); - stl_be_phys(cs->as, bdloc + 0x34, bd->bi_baudrate); - for (i = 0; i < 4; i++) { - stb_phys(cs->as, bdloc + 0x38 + i, bd->bi_s_version[i]); - } - for (i = 0; i < 32; i++) { - stb_phys(cs->as, bdloc + 0x3C + i, bd->bi_r_version[i]); - } - stl_be_phys(cs->as, bdloc + 0x5C, bd->bi_procfreq); - stl_be_phys(cs->as, bdloc + 0x60, bd->bi_plb_busfreq); - stl_be_phys(cs->as, bdloc + 0x64, bd->bi_pci_busfreq); - for (i = 0; i < 6; i++) { - stb_phys(cs->as, bdloc + 0x68 + i, bd->bi_pci_enetaddr[i]); - } - n = 0x70; /* includes 2 bytes hole */ - for (i = 0; i < 6; i++) { - stb_phys(cs->as, bdloc + n++, bd->bi_pci_enetaddr2[i]); - } - stl_be_phys(cs->as, bdloc + n, bd->bi_opbfreq); - n += 4; - for (i = 0; i < 2; i++) { - stl_be_phys(cs->as, bdloc + n, bd->bi_iic_fast[i]); - n += 4; - } - - return bdloc; -} - -ram_addr_t ppc405_set_bootinfo(CPUPPCState *env, ram_addr_t ram_size) -{ - ppc4xx_bd_info_t bd; - - memset(&bd, 0, sizeof(bd)); - - ppc405_set_default_bootinfo(&bd, ram_size); - - return __ppc405_set_bootinfo(env, &bd); -} - /*****************************************************************************/ /* Shared peripherals */ -- 2.37.2
From: BALATON Zoltan <balaton@eik.bme.hu> Now that shared PPC4xx devices are separated from PPC405 ones we can drop this depencency. Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Reviewed-by: Cédric Le Goater <clg@kaod.org> Message-Id: <cf6c1d280f830beeea41128595c8c026d5126d2b.1660762465.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/Kconfig | 1 - hw/ppc/sam460ex.c | 1 - 2 files changed, 2 deletions(-) diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/Kconfig +++ b/hw/ppc/Kconfig @@ -XXX,XX +XXX,XX @@ config PPC4XX config SAM460EX bool - select PPC405 select PFLASH_CFI01 select IDE_SII3112 select M41T80 diff --git a/hw/ppc/sam460ex.c b/hw/ppc/sam460ex.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/sam460ex.c +++ b/hw/ppc/sam460ex.c @@ -XXX,XX +XXX,XX @@ #include "elf.h" #include "exec/memory.h" #include "ppc440.h" -#include "ppc405.h" #include "hw/block/flash.h" #include "sysemu/sysemu.h" #include "sysemu/reset.h" -- 2.37.2
From: BALATON Zoltan <balaton@eik.bme.hu> In pegasos2 section move imply before select to match other sections. Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Reviewed-by: Cédric Le Goater <clg@kaod.org> Message-Id: <4d46dde64c2e5df6db3f92426fb3ae885939c2b0.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/ppc/Kconfig b/hw/ppc/Kconfig index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/Kconfig +++ b/hw/ppc/Kconfig @@ -XXX,XX +XXX,XX @@ config SAM460EX config PEGASOS2 bool + imply ATI_VGA select MV64361 select VT82C686 select IDE_VIA @@ -XXX,XX +XXX,XX @@ config PEGASOS2 select VOF # This should come with VT82C686 select ACPI_X86 - imply ATI_VGA config PREP bool -- 2.37.2
From: Cédric Le Goater <clg@kaod.org> Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com> Signed-off-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Message-Id: <0a3e454eb7fd5f2b807a9c752c28693f27829f1d.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc4xx_devs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/ppc/ppc4xx_devs.c b/hw/ppc/ppc4xx_devs.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc4xx_devs.c +++ b/hw/ppc/ppc4xx_devs.c @@ -XXX,XX +XXX,XX @@ static void sdram_set_bcr(ppc4xx_sdram_t *sdram, int i, } sdram->bcr[i] = bcr & 0xFFDEE001; if (enabled && (bcr & 0x00000001)) { - trace_ppc4xx_sdram_unmap(sdram_base(bcr), sdram_size(bcr)); + trace_ppc4xx_sdram_map(sdram_base(bcr), sdram_size(bcr)); memory_region_init(&sdram->containers[i], NULL, "sdram-containers", sdram_size(bcr)); memory_region_add_subregion(&sdram->containers[i], 0, -- 2.37.2
From: BALATON Zoltan <balaton@eik.bme.hu> Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Reviewed-by: Cédric Le Goater <clg@kaod.org> Message-Id: <62798fbe9c200da3e0c870601ed9162b1c3a50a5.1660746880.git.balaton@eik.bme.hu> Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com> --- hw/ppc/ppc405_uc.c | 5 +++-- hw/ppc/ppc440_bamboo.c | 27 ++++++++++++++---------- hw/ppc/ppc440_uc.c | 3 ++- hw/ppc/ppc4xx_devs.c | 48 +++++++++++++++++++++++------------------- hw/ppc/ppc4xx_pci.c | 31 +++++++++++++++++---------- 5 files changed, 67 insertions(+), 47 deletions(-) diff --git a/hw/ppc/ppc405_uc.c b/hw/ppc/ppc405_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc405_uc.c +++ b/hw/ppc/ppc405_uc.c @@ -XXX,XX +XXX,XX @@ static void ppc4xx_gpt_set_irqs(Ppc405GptState *gpt) mask = 0x00008000; for (i = 0; i < 5; i++) { - if (gpt->is & gpt->im & mask) + if (gpt->is & gpt->im & mask) { qemu_irq_raise(gpt->irqs[i]); - else + } else { qemu_irq_lower(gpt->irqs[i]); + } mask = mask >> 1; } } diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc440_bamboo.c +++ b/hw/ppc/ppc440_bamboo.c @@ -XXX,XX +XXX,XX @@ static int bamboo_load_device_tree(hwaddr addr, ret = qemu_fdt_setprop(fdt, "/memory", "reg", mem_reg_property, sizeof(mem_reg_property)); - if (ret < 0) + if (ret < 0) { fprintf(stderr, "couldn't set /memory/reg\n"); - + } ret = qemu_fdt_setprop_cell(fdt, "/chosen", "linux,initrd-start", initrd_base); - if (ret < 0) + if (ret < 0) { fprintf(stderr, "couldn't set /chosen/linux,initrd-start\n"); - + } ret = qemu_fdt_setprop_cell(fdt, "/chosen", "linux,initrd-end", (initrd_base + initrd_size)); - if (ret < 0) + if (ret < 0) { fprintf(stderr, "couldn't set /chosen/linux,initrd-end\n"); - + } ret = qemu_fdt_setprop_string(fdt, "/chosen", "bootargs", kernel_cmdline); - if (ret < 0) + if (ret < 0) { fprintf(stderr, "couldn't set /chosen/bootargs\n"); + } - /* Copy data from the host device tree into the guest. Since the guest can + /* + * Copy data from the host device tree into the guest. Since the guest can * directly access the timebase without host involvement, we must expose - * the correct frequencies. */ + * the correct frequencies. + */ if (kvm_enabled()) { tb_freq = kvmppc_get_tbfreq(); clock_freq = kvmppc_get_clockfreq(); @@ -XXX,XX +XXX,XX @@ static void bamboo_init(MachineState *machine) if (pcibus) { /* Register network interfaces. */ for (i = 0; i < nb_nics; i++) { - /* There are no PCI NICs on the Bamboo board, but there are - * PCI slots, so we can pick whatever default model we want. */ + /* + * There are no PCI NICs on the Bamboo board, but there are + * PCI slots, so we can pick whatever default model we want. + */ pci_nic_init_nofail(&nd_table[i], pcibus, "e1000", NULL); } } diff --git a/hw/ppc/ppc440_uc.c b/hw/ppc/ppc440_uc.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc440_uc.c +++ b/hw/ppc/ppc440_uc.c @@ -XXX,XX +XXX,XX @@ void ppc4xx_dma_init(CPUPPCState *env, int dcr_base) /*****************************************************************************/ /* PCI Express controller */ -/* FIXME: This is not complete and does not work, only implemented partially +/* + * FIXME: This is not complete and does not work, only implemented partially * to allow firmware and guests to find an empty bus. Cards should use PCI. */ #include "hw/pci/pcie_host.h" diff --git a/hw/ppc/ppc4xx_devs.c b/hw/ppc/ppc4xx_devs.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc4xx_devs.c +++ b/hw/ppc/ppc4xx_devs.c @@ -XXX,XX +XXX,XX @@ enum { SDRAM0_CFGDATA = 0x011, }; -/* XXX: TOFIX: some patches have made this code become inconsistent: +/* + * XXX: TOFIX: some patches have made this code become inconsistent: * there are type inconsistencies, mixing hwaddr, target_ulong * and uint32_t */ -static uint32_t sdram_bcr (hwaddr ram_base, - hwaddr ram_size) +static uint32_t sdram_bcr(hwaddr ram_base, hwaddr ram_size) { uint32_t bcr; @@ -XXX,XX +XXX,XX @@ static inline hwaddr sdram_base(uint32_t bcr) return bcr & 0xFF800000; } -static target_ulong sdram_size (uint32_t bcr) +static target_ulong sdram_size(uint32_t bcr) { target_ulong size; int sh; sh = (bcr >> 17) & 0x7; - if (sh == 7) + if (sh == 7) { size = -1; - else + } else { size = (4 * MiB) << sh; + } return size; } @@ -XXX,XX +XXX,XX @@ static void sdram_set_bcr(ppc4xx_sdram_t *sdram, int i, } } -static void sdram_map_bcr (ppc4xx_sdram_t *sdram) +static void sdram_map_bcr(ppc4xx_sdram_t *sdram) { int i; @@ -XXX,XX +XXX,XX @@ static void sdram_map_bcr (ppc4xx_sdram_t *sdram) } } -static void sdram_unmap_bcr (ppc4xx_sdram_t *sdram) +static void sdram_unmap_bcr(ppc4xx_sdram_t *sdram) { int i; @@ -XXX,XX +XXX,XX @@ static void sdram_unmap_bcr (ppc4xx_sdram_t *sdram) } } -static uint32_t dcr_read_sdram (void *opaque, int dcrn) +static uint32_t dcr_read_sdram(void *opaque, int dcrn) { ppc4xx_sdram_t *sdram; uint32_t ret; @@ -XXX,XX +XXX,XX @@ static uint32_t dcr_read_sdram (void *opaque, int dcrn) return ret; } -static void dcr_write_sdram (void *opaque, int dcrn, uint32_t val) +static void dcr_write_sdram(void *opaque, int dcrn, uint32_t val) { ppc4xx_sdram_t *sdram; @@ -XXX,XX +XXX,XX @@ static void dcr_write_sdram (void *opaque, int dcrn, uint32_t val) sdram_unmap_bcr(sdram); sdram->status |= 0x80000000; } - if (!(sdram->cfg & 0x40000000) && (val & 0x40000000)) + if (!(sdram->cfg & 0x40000000) && (val & 0x40000000)) { sdram->status |= 0x40000000; - else if ((sdram->cfg & 0x40000000) && !(val & 0x40000000)) + } else if ((sdram->cfg & 0x40000000) && !(val & 0x40000000)) { sdram->status &= ~0x40000000; + } sdram->cfg = val; break; case 0x24: /* SDRAM_STATUS */ @@ -XXX,XX +XXX,XX @@ static void dcr_write_sdram (void *opaque, int dcrn, uint32_t val) break; case 0x98: /* SDRAM_ECCESR */ val &= 0xFFF0F000; - if (sdram->eccesr == 0 && val != 0) + if (sdram->eccesr == 0 && val != 0) { qemu_irq_raise(sdram->irq); - else if (sdram->eccesr != 0 && val == 0) + } else if (sdram->eccesr != 0 && val == 0) { qemu_irq_lower(sdram->irq); + } sdram->eccesr = val; break; default: /* Error */ @@ -XXX,XX +XXX,XX @@ static void dcr_write_sdram (void *opaque, int dcrn, uint32_t val) } } -static void sdram_reset (void *opaque) +static void sdram_reset(void *opaque) { ppc4xx_sdram_t *sdram; @@ -XXX,XX +XXX,XX @@ static void sdram_reset (void *opaque) sdram->cfg = 0x00800000; } -void ppc4xx_sdram_init (CPUPPCState *env, qemu_irq irq, int nbanks, - MemoryRegion *ram_memories, - hwaddr *ram_bases, - hwaddr *ram_sizes, - int do_init) +void ppc4xx_sdram_init(CPUPPCState *env, qemu_irq irq, int nbanks, + MemoryRegion *ram_memories, + hwaddr *ram_bases, + hwaddr *ram_sizes, + int do_init) { ppc4xx_sdram_t *sdram; @@ -XXX,XX +XXX,XX @@ void ppc4xx_sdram_init (CPUPPCState *env, qemu_irq irq, int nbanks, sdram, &dcr_read_sdram, &dcr_write_sdram); ppc_dcr_register(env, SDRAM0_CFGDATA, sdram, &dcr_read_sdram, &dcr_write_sdram); - if (do_init) + if (do_init) { sdram_map_bcr(sdram); + } } /* @@ -XXX,XX +XXX,XX @@ void ppc4xx_sdram_banks(MemoryRegion *ram, int nr_banks, } error_report("at most %d bank%s of %s MiB each supported", nr_banks, nr_banks == 1 ? "" : "s", s->str); - error_printf("Possible valid RAM size: %" PRIi64 " MiB \n", + error_printf("Possible valid RAM size: %" PRIi64 " MiB\n", used_size ? used_size / MiB : sdram_bank_sizes[i - 1] / MiB); g_string_free(s, true); diff --git a/hw/ppc/ppc4xx_pci.c b/hw/ppc/ppc4xx_pci.c index XXXXXXX..XXXXXXX 100644 --- a/hw/ppc/ppc4xx_pci.c +++ b/hw/ppc/ppc4xx_pci.c @@ -XXX,XX +XXX,XX @@ * Authors: Hollis Blanchard <hollisb@us.ibm.com> */ -/* This file implements emulation of the 32-bit PCI controller found in some - * 4xx SoCs, such as the 440EP. */ +/* + * This file implements emulation of the 32-bit PCI controller found in some + * 4xx SoCs, such as the 440EP. + */ #include "qemu/osdep.h" #include "qemu/log.h" @@ -XXX,XX +XXX,XX @@ struct PPC4xxPCIState { #define PCIC0_CFGADDR 0x0 #define PCIC0_CFGDATA 0x4 -/* PLB Memory Map (PMM) registers specify which PLB addresses are translated to - * PCI accesses. */ +/* + * PLB Memory Map (PMM) registers specify which PLB addresses are translated to + * PCI accesses. + */ #define PCIL0_PMM0LA 0x0 #define PCIL0_PMM0MA 0x4 #define PCIL0_PMM0PCILA 0x8 @@ -XXX,XX +XXX,XX @@ struct PPC4xxPCIState { #define PCIL0_PMM2PCILA 0x28 #define PCIL0_PMM2PCIHA 0x2c -/* PCI Target Map (PTM) registers specify which PCI addresses are translated to - * PLB accesses. */ +/* + * PCI Target Map (PTM) registers specify which PCI addresses are translated to + * PLB accesses. + */ #define PCIL0_PTM1MS 0x30 #define PCIL0_PTM1LA 0x34 #define PCIL0_PTM2MS 0x38 @@ -XXX,XX +XXX,XX @@ static void ppc4xx_pci_reg_write4(void *opaque, hwaddr offset, { struct PPC4xxPCIState *pci = opaque; - /* We ignore all target attempts at PCI configuration, effectively - * assuming a bidirectional 1:1 mapping of PLB and PCI space. */ - + /* + * We ignore all target attempts at PCI configuration, effectively + * assuming a bidirectional 1:1 mapping of PLB and PCI space. + */ switch (offset) { case PCIL0_PMM0LA: pci->pmm[0].la = value; @@ -XXX,XX +XXX,XX @@ static void ppc4xx_pci_reset(void *opaque) memset(pci->ptm, 0, sizeof(pci->ptm)); } -/* On Bamboo, all pins from each slot are tied to a single board IRQ. This - * may need further refactoring for other boards. */ +/* + * On Bamboo, all pins from each slot are tied to a single board IRQ. + * This may need further refactoring for other boards. + */ static int ppc4xx_pci_map_irq(PCIDevice *pci_dev, int irq_num) { int slot = PCI_SLOT(pci_dev->devfn); -- 2.37.2
The following changes since commit 76b56fdfc9fa43ec6e5986aee33f108c6c6a511e: Merge tag 'block-pull-request' of https://gitlab.com/stefanha/qemu into staging (2021-12-14 12:46:18 -0800) are available in the Git repository at: https://github.com/legoater/qemu/ tags/pull-ppc-20211217 for you to fetch changes up to 0e6232bc3cb96bdf6fac1b5d7659aa9887afe657: ppc/pnv: Use QOM hierarchy to scan PEC PHB4 devices (2021-12-17 17:57:19 +0100) Changes in v3: - Fixed patch "docs: Introducing pseries documentation" with a newline and checked documentation generation with : make docker-test-build@ubuntu1804 TARGET_LIST=i386-softmmu Changes in v2: - Fixed patch "docs: rSTify ppc-spapr-hcalls.txt" with a newline - dropped patch "target/ppc: do not silence SNaN in xscvspdpn" which still had some comments pending. ---------------------------------------------------------------- ppc 7.0 queue: * General cleanup for Mac machines (Peter) * Fixes for FPU exceptions (Lucas) * Support for new ISA31 instructions (Matheus) * Fixes for ivshmem (Daniel) * Cleanups for PowerNV PHB (Christophe and Cedric) * Updates of PowerNV and pSeries documentation (Leonardo and Daniel) * Fixes for PowerNV (Daniel) * Large cleanup of FPU implementation (Richard) * Removal of SoftTLBs support for PPC74x CPUs (Fabiano) * Fixes for exception models in MPCx and 60x CPUs (Fabiano) * Removal of 401/403 CPUs (Cedric) * Deprecation of taihu machine (Thomas) * Large rework of PPC405 machine (Cedric) * Fixes for VSX instructions (Victor and Matheus) * Fix for e6500 CPU (Fabiano) * Initial support for PMU (Daniel) ---------------------------------------------------------------- Alexey Kardashevskiy (1): pseries: Update SLOF firmware image Christophe Lombard (1): pci-host: Allow extended config space access for PowerNV PHB4 model Cédric Le Goater (28): Merge tag 'qemu-slof-20211112' of github.com:aik/qemu into ppc-next target/ppc: remove 401/403 CPUs ppc/ppc405: Change kernel load address ppc: Add trace-events for DCR accesses ppc/ppc405: Convert printfs to trace-events ppc/ppc405: Drop flag parameter in ppc405_set_bootinfo() ppc/ppc405: Change ppc405ep_init() return value ppc/ppc405: Add some address space definitions ppc/ppc405: Remove flash support ppc/ppc405: Rework FW load ppc/ppc405: Introduce ppc405_set_default_bootinfo() ppc/ppc405: Fix boot from kernel ppc/ppc405: Change default PLL values at reset ppc/ppc405: Fix bi_pci_enetaddr2 field in U-Boot board information ppc/ppc405: Add update of bi_procfreq field ppc/pnv: Introduce a "chip" property under PHB3 ppc/pnv: Use the chip class to check the index of PHB3 devices ppc/pnv: Drop the "num-phbs" property ppc/pnv: Move mapping of the PHB3 CQ regions under pnv_pbcq_realize() ppc/pnv: Use QOM hierarchy to scan PHB3 devices ppc/pnv: Introduce a num_pecs class attribute for PHB4 PEC devices ppc/pnv: Introduce version and device_id class atributes for PHB4 devices ppc/pnv: Introduce a "chip" property under the PHB4 model ppc/pnv: Introduce a num_stack class attribute ppc/pnv: Compute the PHB index from the PHB4 PEC model ppc/pnv: Remove "system-memory" property from PHB4 PEC ppc/pnv: Move realize of PEC stacks under the PEC model ppc/pnv: Use QOM hierarchy to scan PEC PHB4 devices Daniel Henrique Barboza (13): ivshmem.c: change endianness to LITTLE_ENDIAN ivshmem-test.c: enable test_ivshmem_server for ppc64 arch ppc/pnv.c: add a friendly warning when accel=kvm is used docs/system/ppc/powernv.rst: document KVM support status ppc/pnv.c: fix "system-id" FDT when -uuid is set target/ppc: introduce PMUEventType and PMU overflow timers target/ppc: PMU basic cycle count for pseries TCG target/ppc: PMU: update counters on PMCs r/w target/ppc: PMU: update counters on MMCR1 write target/ppc: enable PMU counter overflow with cycle events target/ppc: enable PMU instruction count target/ppc/power8-pmu.c: add PM_RUN_INST_CMPL (0xFA) event PPC64/TCG: Implement 'rfebb' instruction Fabiano Rosas (8): target/ppc: Disable software TLB for the 7450 family target/ppc: Disable unused facilities in the e600 CPU target/ppc: Remove the software TLB model of 7450 CPUs target/ppc: Fix MPCxxx FPU interrupt address target/ppc: Remove 603e exception model target/ppc: Set 601v exception model id target/ppc: Fix e6500 boot Revert "target/ppc: Move SPR_DSISR setting to powerpc_excp" Leonardo Garcia (5): docs: Minor updates on the powernv documentation. docs: Introducing pseries documentation. docs: rSTify ppc-spapr-hcalls.txt docs: Rename ppc-spapr-hcalls.txt to ppc-spapr-hcalls.rst. Link new ppc-spapr-hcalls.rst file to pseries.rst. Lucas Mateus Castro (alqotel) (3): target/ppc: Fixed call to deferred exception test/tcg/ppc64le: test mtfsf target/ppc: ppc_store_fpscr doesn't update bits 0 to 28 and 52 Matheus Ferst (5): target/ppc: Implement Vector Expand Mask target/ppc: Implement Vector Extract Mask target/ppc: Implement Vector Mask Move insns target/ppc: fix xscvqpdp register access target/ppc: move xscvqpdp to decodetree Peter Maydell (1): hw/ppc/mac.h: Remove MAX_CPUS macro Richard Henderson (34): softfloat: Extend float_exception_flags to 16 bits softfloat: Add flag specific to Inf - Inf softfloat: Add flag specific to Inf * 0 softfloat: Add flags specific to Inf / Inf and 0 / 0 softfloat: Add flag specific to sqrt(-x) softfloat: Add flag specific to convert non-nan to int softfloat: Add flag specific to signaling nans target/ppc: Update float_invalid_op_addsub for new flags target/ppc: Update float_invalid_op_mul for new flags target/ppc: Update float_invalid_op_div for new flags target/ppc: Move float_check_status from FPU_FCTI to translate target/ppc: Update float_invalid_cvt for new flags target/ppc: Fix VXCVI return value target/ppc: Remove inline from do_fri target/ppc: Use FloatRoundMode in do_fri target/ppc: Tidy inexact handling in do_fri target/ppc: Clean up do_fri target/ppc: Update fmadd for new flags target/ppc: Split out do_fmadd target/ppc: Do not call do_float_check_status from do_fmadd target/ppc: Split out do_frsp target/ppc: Update do_frsp for new flags target/ppc: Use helper_todouble in do_frsp target/ppc: Update sqrt for new flags target/ppc: Update xsrqpi and xsrqpxp to new flags target/ppc: Update fre to new flags softfloat: Add float64r32 arithmetic routines target/ppc: Add helpers for fmadds et al target/ppc: Add helper for fsqrts target/ppc: Add helpers for fadds, fsubs, fdivs target/ppc: Add helper for fmuls target/ppc: Add helper for frsqrtes target/ppc: Update fres to new flags and float64r32 target/ppc: Use helper_todouble/tosingle in helper_xststdcsp Thomas Huth (1): ppc: Mark the 'taihu' machine as deprecated Victor Colombo (2): target/ppc: Fix xs{max, min}[cj]dp to use VSX registers target/ppc: Move xs{max,min}[cj]dp to decodetree docs/about/deprecated.rst | 9 + docs/specs/ppc-spapr-hcalls.rst | 100 +++++ docs/specs/ppc-spapr-hcalls.txt | 78 ---- docs/system/ppc/powernv.rst | 68 ++-- docs/system/ppc/pseries.rst | 226 +++++++++++ hw/ppc/mac.h | 3 - hw/ppc/ppc405.h | 14 +- include/fpu/softfloat-types.h | 23 +- include/fpu/softfloat.h | 14 +- include/hw/pci-host/pnv_phb3.h | 3 + include/hw/pci-host/pnv_phb4.h | 5 + include/hw/ppc/pnv.h | 2 + target/ppc/cpu-models.h | 19 - target/ppc/cpu-qom.h | 12 +- target/ppc/cpu.h | 63 +++- target/ppc/helper.h | 29 +- target/ppc/power8-pmu.h | 26 ++ target/ppc/spr_tcg.h | 5 + target/ppc/insn32.decode | 54 ++- fpu/softfloat.c | 114 +++++- hw/misc/ivshmem.c | 2 +- hw/pci-host/pnv_phb3.c | 3 +- hw/pci-host/pnv_phb3_pbcq.c | 11 + hw/pci-host/pnv_phb4.c | 1 + hw/pci-host/pnv_phb4_pec.c | 75 +++- hw/ppc/mac_newworld.c | 3 +- hw/ppc/mac_oldworld.c | 3 +- hw/ppc/pnv.c | 177 +++++---- hw/ppc/ppc.c | 2 + hw/ppc/ppc405_boards.c | 245 ++++++------ hw/ppc/ppc405_uc.c | 225 ++++++----- hw/ppc/spapr_cpu_core.c | 1 + target/ppc/cpu-models.c | 34 -- target/ppc/cpu.c | 2 +- target/ppc/cpu_init.c | 658 +++------------------------------ target/ppc/excp_helper.c | 95 +++-- target/ppc/fpu_helper.c | 593 +++++++++++++++-------------- target/ppc/helper_regs.c | 7 + target/ppc/mmu_common.c | 60 +-- target/ppc/mmu_helper.c | 32 -- target/ppc/power8-pmu.c | 350 ++++++++++++++++++ target/ppc/translate.c | 104 ++++-- tests/qtest/ivshmem-test.c | 5 +- tests/tcg/ppc64le/mtfsf.c | 61 +++ fpu/softfloat-parts.c.inc | 57 +-- fpu/softfloat-specialize.c.inc | 12 +- target/ppc/power8-pmu-regs.c.inc | 69 +++- target/ppc/translate/branch-impl.c.inc | 33 ++ target/ppc/translate/fp-impl.c.inc | 53 +-- target/ppc/translate/vmx-impl.c.inc | 231 ++++++++++++ target/ppc/translate/vsx-impl.c.inc | 55 ++- target/ppc/translate/vsx-ops.c.inc | 5 - hw/ppc/trace-events | 23 ++ pc-bios/README | 2 +- pc-bios/slof.bin | Bin 991744 -> 991920 bytes roms/SLOF | 2 +- target/ppc/meson.build | 1 + tests/tcg/ppc64/Makefile.target | 1 + tests/tcg/ppc64le/Makefile.target | 1 + 59 files changed, 2514 insertions(+), 1647 deletions(-) create mode 100644 docs/specs/ppc-spapr-hcalls.rst delete mode 100644 docs/specs/ppc-spapr-hcalls.txt create mode 100644 target/ppc/power8-pmu.h create mode 100644 target/ppc/power8-pmu.c create mode 100644 tests/tcg/ppc64le/mtfsf.c create mode 100644 target/ppc/translate/branch-impl.c.inc