Get the cpu IDs from the FDT.
These are the IDs used to identify cores in PSCI.
Change-Id: I9e88a6c69f963864591e39f0191cdd5ce824ce6d
diff --git a/inc/hf/cpu.h b/inc/hf/cpu.h
index 7155fde..61e1edb 100644
--- a/inc/hf/cpu.h
+++ b/inc/hf/cpu.h
@@ -103,7 +103,7 @@
/* TODO: Update alignment such that cpus are in different cache lines. */
struct cpu {
/** CPU identifier. Doesn't have to be contiguous. */
- size_t id;
+ uint64_t id;
/** Pointer to bottom of the stack. */
void *stack_bottom;
@@ -121,15 +121,14 @@
bool is_on;
};
-void cpu_module_init(void);
+void cpu_module_init(const uint64_t *cpu_ids, size_t count);
-void cpu_init(struct cpu *c);
size_t cpu_index(struct cpu *c);
void cpu_irq_enable(struct cpu *c);
void cpu_irq_disable(struct cpu *c);
bool cpu_on(struct cpu *c, ipaddr_t entry, uintreg_t arg);
void cpu_off(struct cpu *c);
-struct cpu *cpu_find(size_t id);
+struct cpu *cpu_find(uint64_t id);
void vcpu_init(struct vcpu *vcpu, struct vm *vm);
void vcpu_on(struct vcpu *vcpu, ipaddr_t entry, uintreg_t arg);