// SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2002 ARM Ltd. * All Rights Reserved * * This hotplug implementation is _specific_ to the situation found on * ARM development platforms where there is _no_ possibility of actually * taking a CPU offline, resetting it, or otherwise. Real platforms must * NOT copy this code.
*/ #include <linux/kernel.h> #include <linux/errno.h> #include <linux/smp.h>
staticinlinevoid versatile_immitation_do_lowpower(unsignedint cpu, int *spurious)
{ /* * there is no power-control hardware on this platform, so all * we can do is put the core into WFI; this is safe as the calling * code will have already disabled interrupts. * * This code should not be used outside Versatile platforms.
*/ for (;;) {
wfi();
/* * Getting here, means that we have come out of WFI without * having been woken up - this shouldn't happen * * Just note it happening - when we're woken, we can report * its occurrence.
*/
(*spurious)++;
}
}
/* * platform-specific code to shutdown a CPU. * This code supports immitation-style CPU hotplug for Versatile/Realview/ * Versatile Express platforms that are unable to do real CPU hotplug.
*/ void versatile_immitation_cpu_die(unsignedint cpu, unsignedint actrl_mask)
{ int spurious = 0;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.