I forgot to mention that the title of most of the patch gives the
impression you fixes hotplug for both Arm32 and Arm64. After a deeper
look, it is only arm64. Please make clear over commit message and cover
On 11/04/18 14:19, Mirela Simonovic wrote:
This patch set contains fixes required to enable CPU hotplug for secondary CPUs.
CPU hotplug of secondary CPUs will be used for suspend to RAM support for ARM.
With these patches calling disable_nonboot_cpus() from the boot CPU will cause
all secondary CPUs to be stopped. When a CPU is stopped it will issue the PSCI
CPU_OFF call to the EL3. The calling CPU will be powered down if the underlying
firmware allows so. If the CPU_OFF is not supported by the underlying firmware
the calling CPU will stay in infinite WFI loop. When secondary CPUs are stopped
all interrupts targeted to them are migrated to the boot CPU.
Calling enable_nonboot_cpus() from the boot CPU will cause all secondary CPUs
to be hotplugged. When a CPU is hotplugged the interrupts' affinity is restored.
Calls to enable/disable_nonboot_cpus() functions currently don't exist in
Xen ARM code. This will be added with the suspend to RAM support for ARM.
The code is tested on Xilinx Zynq UltraScale+ MPSoC/ZCU102 board (includes
physical power down/up of secondary CPUs).
Mirela Simonovic (7):
xen/arm: Added handling of the trapped access to OSLSR register
xen/arm/vgic-v2: Ignore write to GICD_ISACTIVERn registers
xen/arm/psci: Implement CPU_OFF PSCI call (physical interface)
xen/arm: When CPU dies, free percpu area immediatelly
xen/arm: Remove __initdata and __init to enable CPU hotplug
xen/arm: Setup virtual paging for secondary CPUs in non-boot scenario
xen/arm: Restore IRQ affinity after hotplugging a CPU
xen/arch/arm/arm64/smpboot.c | 2 +-
xen/arch/arm/arm64/vsysreg.c | 3 ++-
xen/arch/arm/irq.c | 2 +-
xen/arch/arm/p2m.c | 10 ++++++++--
xen/arch/arm/percpu.c | 2 +-
xen/arch/arm/processor.c | 2 +-
xen/arch/arm/psci.c | 5 +++++
xen/arch/arm/smpboot.c | 14 ++++++++++++--
xen/arch/arm/vgic-v2.c | 3 +--
xen/common/schedule.c | 4 ++++
xen/include/asm-arm/p2m.h | 3 +++
xen/include/asm-arm/procinfo.h | 4 ++--
xen/include/asm-arm/psci.h | 1 +
13 files changed, 42 insertions(+), 13 deletions(-)
Xen-devel mailing list