qemu-e2k/include/hw/ppc
Nicholas Piggin cde2ba34a9 ppc/pnv: Implement the ChipTOD to Core transfer
One of the functions of the ChipTOD is to transfer TOD to the Core
(aka PC - Pervasive Core) timebase facility.

The ChipTOD can be programmed with a target address to send the TOD
value to. The hardware implementation seems to perform this by
sending the TOD value to a SCOM address.

This implementation grabs the core directly and manipulates the
timebase facility state in the core. This is a hack, but it works
enough for now. A better implementation would implement the transfer
to the PnvCore xscom register and drive the timebase state machine
from there.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
2024-02-23 23:24:43 +10:00
..
fdt.h hw/ppc: Clean up local variable shadowing in _FDT helper routine 2023-09-29 10:07:17 +02:00
mac_dbdma.h
openpic_kvm.h
openpic.h ppc: spelling fixes 2023-09-20 07:54:34 +03:00
pef.h
pnv_chip.h ppc/pnv: Wire ChipTOD model to powernv9 and powernv10 machines 2024-02-23 23:24:43 +10:00
pnv_chiptod.h ppc/pnv: Implement the ChipTOD to Core transfer 2024-02-23 23:24:43 +10:00
pnv_core.h ppc/pnv: Add QME region for P10 2023-07-07 06:32:53 -03:00
pnv_homer.h include/hw/ppc include/hw/pci-host: Drop extra typedefs 2023-01-20 07:25:22 +01:00
pnv_i2c.h ppc/pnv: Add an I2C controller model 2023-11-07 15:49:41 -03:00
pnv_lpc.h include/hw/ppc include/hw/pci-host: Drop extra typedefs 2023-01-20 07:25:22 +01:00
pnv_n1_chiplet.h hw/ppc: Add N1 chiplet model 2024-02-23 23:24:42 +10:00
pnv_nest_pervasive.h hw/ppc: Add pnv nest pervasive common chiplet model 2024-02-23 23:24:42 +10:00
pnv_occ.h include/hw/ppc: Supply a few missing includes 2023-01-20 07:25:14 +01:00
pnv_pnor.h include/hw/ppc: Supply a few missing includes 2023-01-20 07:25:14 +01:00
pnv_psi.h include: Include headers where needed 2023-01-08 01:54:22 -05:00
pnv_sbe.h include/hw/ppc: Supply a few missing includes 2023-01-20 07:25:14 +01:00
pnv_xive.h include/hw/ppc include/hw/pci-host: Drop extra typedefs 2023-01-20 07:25:22 +01:00
pnv_xscom.h ppc/pnv: Add POWER9/10 chiptod model 2024-02-23 23:24:43 +10:00
pnv.h ppc/pnv: Implement the ChipTOD to Core transfer 2024-02-23 23:24:43 +10:00
ppc4xx.h hw/ppc/ppc4xx_pci: Extract PCI host definitions to hw/pci-host/ppc4xx.h 2024-02-22 12:47:40 +01:00
ppc_e500.h
ppc.h target/ppc: Move PowerPCCPUClass definition to 'cpu.h' 2023-11-07 12:13:28 +01:00
spapr_cpu_core.h ppc/spapr: Add a nested state struct 2023-06-25 22:41:30 +02:00
spapr_drc.h
spapr_irq.h ppc/spapr: Introduce SPAPR_IRQ_NR_IPIS to refer IRQ range for CPU IPIs. 2024-02-23 23:24:42 +10:00
spapr_nested.h include: Clean up includes 2024-01-30 21:20:20 +03:00
spapr_numa.h
spapr_nvdimm.h spapr: nvdimm: Implement H_SCM_FLUSH hcall 2022-02-18 08:34:14 +01:00
spapr_ovec.h
spapr_tpm_proxy.h
spapr_vio.h
spapr_xive.h
spapr.h hw/ppc/spapr_hcall: Rename {softmmu -> vhyp_mmu}_resize_hpt_pr 2024-02-23 23:24:42 +10:00
vof.h hw/ppc/vof: Do not include the full "cpu.h" 2022-12-21 14:17:55 -03:00
xics_spapr.h
xics.h hw/pci-host/pnv_phb3_msi: Convert TYPE_PHB3_MSI to 3-phase reset 2022-12-16 15:59:07 +00:00
xive2_regs.h hw/ppc/xive2_regs: Remove unnecessary 'cpu.h' inclusion 2024-01-05 16:20:15 +01:00
xive2.h include/hw/ppc: Supply a few missing includes 2023-01-20 07:25:14 +01:00
xive_regs.h pnv/xive2: Introduce macros to manipulate TIMA addresses 2023-06-10 10:19:24 -03:00
xive.h ppc/xive: Introduce a new XiveRouter end_notify() handler 2023-09-06 11:19:33 +02:00