Beim Stöbern in Foren und Websites habe ich die folgenden Antworten auf meine Zweifel gefunden. Ich bin nicht ganz zufrieden, aber es hat geholfen, mehr zu verstehen.
Die Energieverwaltung jedes Geräts hängt von einigen suspend
/ resume
Richtlinien ab, die in der Firmware implementiert sind, die das jeweilige Gerät steuert.
Dies ist sehr geräteabhängig: Wie und wann sich jedes Gerät ausschaltet (anhält) und aufwacht (wieder aufnimmt), hängt von den HW-Spezifikationen ab. Sie müssen die Datenblätter lesen, um zu verstehen, welche bestimmten Register manipuliert werden müssen, um es anzuhalten / fortzusetzen.
Sie können dieses Material über eine Software in den Treibern der Geräte im Quellcode des Kernels steuern, indem Sie auf einige Funktionen im Formular <something>_suspend
und zugreifen <something>_resume
.
ZB aus dem Quellcode des Kernels des Emulators "Goldfisch":
in Datei drivers/video/goldfishfb.c
(der Treiber, der für den Bildspeicher verantwortlich ist)
#ifdef CONFIG_ANDROID_POWER
static void goldfish_fb_early_suspend(android_early_suspend_t *h)
{
struct goldfish_fb *fb = container_of(h, struct goldfish_fb, early_suspend);
writel(1, fb->reg_base + FB_SET_BLANK);
}
static void goldfish_fb_late_resume(android_early_suspend_t *h)
{
struct goldfish_fb *fb = container_of(h, struct goldfish_fb, early_suspend);
writel(0, fb->reg_base + FB_SET_BLANK);
}
#endif
Das early_suspend
schreibt also eine 1 in das Register FB_SET_BLANK
, um den Bildschirm auszuschalten, oder eine 0, um ihn wieder einzuschalten.
Daher scheint es mir, dass ein Prozess in der Anwendungsausführungsumgebung auf die Gerätetreiber zugreifen und diese beschädigen muss, um die böswillige Energieverwaltung eines Geräts zu manipulieren.
If you have root access you can change the governor and the allowed CPU clock speeds
: Sie sagen also, dass ein einfacher Prozess mit Root-Rechten entscheiden kann, die CPU zu verlangsamen und die DSP-Spannungen zu ändern? Wenn Sie Zeit haben, können Sie bitte eine etwas strukturiertere Antwort geben? Vielen Dank im Voraus, ich brauche wirklich Ihre Hilfe!