Implement minimal PSCI 1.1.
Only the mandatory functions are supported. This required adding
PSCI_FEATURES which is used to discover which PSCI features are
available and PSCI_CPU_SUSPEND which can put CPUs into low power states.
The hypervisor acts as an adapter for lower version of PSCI running in
EL3.
When waking from a powered down suspend, the CPU needs to be reset to
the same state as when it is first turned on. Only the entry point and
context argument should be present.
Change-Id: I088f214258a1cdd429bee63f1846603057769217
diff --git a/inc/hf/arch/cpu.h b/inc/hf/arch/cpu.h
index aba76aa..bc3a583 100644
--- a/inc/hf/arch/cpu.h
+++ b/inc/hf/arch/cpu.h
@@ -35,10 +35,11 @@
void arch_irq_enable(void);
/**
- * Initializes the register state for a VM.
+ * Reset the register values other than the PC and argument which are set with
+ * `arch_regs_set_pc_arg()`.
*/
-void arch_regs_init(struct arch_regs *r, bool is_primary, uint64_t vmid,
- paddr_t table, uint32_t index);
+void arch_regs_reset(struct arch_regs *r, bool is_primary, uint64_t vmid,
+ paddr_t table, uint32_t index);
/**
* Updates the given registers so that when a vcpu runs, it starts off at the