Skip to content

Reset and Halting modifications + Zynq SMP

Peter Crosthwaite qemu-devel 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v5 Latest5 patches 9 repliesIn review
  2. v43 patches 6 repliesSuperseded
  3. v1 RFC7 patches 5 repliesSuperseded

Changes in v5 from the cover letter

Convert to GPIO scheme
Implemented custom secondary cpu reset
OCM Macro cleanup

Patches in v5 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5arm: zynq: Macroify OCM Base and Sizehw/arm/xilinx_zynq.c+5 -31 reply
2/5arm: zynq: added SMP supporthw/arm/xilinx_zynq.c+59 -161 reply
3/5zynq_slcr: Implement CPU resethw/misc/zynq_slcr.c+16 -01 reply
4/5arm: Implement reset GPIO.target-arm/cpu.c target-arm/cpu.h+28 -35 replies
5/5arm: zynq: Connect CPU resets to SLCRhw/arm/xilinx_zynq.c+4 -00 replies

Reviews trailers per patch

2 of 5 patches have a Reviewed-by or Acked-by.

PatchPeter Maydell
1/5
2/5R-b
3/5R-b
4/5
5/5

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v5 thread

Cover letter [Qemu-devel] [PATCH target-arm v5 0/5] Reset and Halting modifications + Zynq SMP

Hi All,

The clock controller module in the Zynq platform has the ability to halt and reset arbitrary devices, including the CPU. We use this feature to implement SMP Linux - the kernel halts CPU1 then rewrites the vector table to the secondary entry point and the resets+unhalts.

This series adds SMP support to the Zynq machine, and patches the Zynq SLCR (the clock controller) to have GPIOs connected to the CPUs. The GPIOs cause and ARM CPU reset.

Only the reset side is implemented (which is good enough for SMP linux as it stands). Future work is to implement the halting behaviour as well.

changed since v4 (PMM review):
Convert to GPIO scheme
Implemented custom secondary cpu reset
OCM Macro cleanup
changed since v3:
Removed halting patches
Reduced to minimal change needed for SMP Zynq

Peter Crosthwaite (5):
arm: zynq: Macroify OCM Base and Size
arm: zynq: added SMP support
zynq_slcr: Implement CPU reset
arm: Implement reset GPIO.
arm: zynq: Connect CPU resets to SLCR

 hw/arm/xilinx_zynq.c | 87 ++++++++++++++++++++++++++++++++++++++++------------
 hw/misc/zynq_slcr.c  | 16 ++++++++++
 target-arm/cpu.c     | 23 ++++++++++++++
 target-arm/cpu.h     |  8 +++--
 4 files changed, 112 insertions(+), 22 deletions(-)
Signature · 1 line
1.8.5.3