Introduce vcpu_reset and refactor arch_cpu_init

Introduce vcpu_reset calling arch_cpu_init and arch_regs_reset.
vcpu_reset is called from main on cold boot or resume from CPU off.
arch_cpu_init gets a cpu and entry point parameter passed to
PSCI resume function.

Change-Id: I809b453c32b418237b7334d13d8e55916d593b09
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
diff --git a/inc/hf/arch/cpu.h b/inc/hf/arch/cpu.h
index 3d18b41..0400133 100644
--- a/inc/hf/arch/cpu.h
+++ b/inc/hf/arch/cpu.h
@@ -53,4 +53,4 @@
 /**
  * Initialize and reset CPU-wide register values.
  */
-void arch_cpu_init(void);
+void arch_cpu_init(struct cpu *c, ipaddr_t entry_point);
diff --git a/inc/hf/vcpu.h b/inc/hf/vcpu.h
index 5439719..2f9ffb6 100644
--- a/inc/hf/vcpu.h
+++ b/inc/hf/vcpu.h
@@ -113,3 +113,4 @@
 			    struct vcpu_fault_info *f);
 
 struct vcpu *vcpu_get_other_world_counterpart(struct vcpu *current);
+void vcpu_reset(struct vcpu *vcpu);