refactor: boot ordered vcpu list
Refactor vm_update_boot and vm_get_first_boot to vcpu_update_boot and
vcpu_get_boot_vcpu. Moved the functions from vm to vcpu module and
adapted to use the vcpu interface functions.
Change from building a boot ordered VM list to a vCPU list.
Signed-off-by: Olivier Deprez <olivier.deprez@arm.com>
Change-Id: If29b785d76fef3a94e752705abc003acb5f3cc66
diff --git a/src/arch/aarch64/hypervisor/handler.c b/src/arch/aarch64/hypervisor/handler.c
index a6fe272..2b02f1b 100644
--- a/src/arch/aarch64/hypervisor/handler.c
+++ b/src/arch/aarch64/hypervisor/handler.c
@@ -348,12 +348,12 @@
switch (fwk_msg_func_id) {
case SPMD_FWK_MSG_PSCI: {
+ struct vcpu *boot_vcpu = vcpu_get_boot_vcpu();
+ struct vm *vm = boot_vcpu->vm;
+ struct vcpu *vcpu = vm_get_vcpu(vm, vcpu_index(current));
+
switch (args->arg3) {
case PSCI_CPU_OFF: {
- struct vm *vm = vm_get_first_boot();
- struct vcpu *vcpu =
- vm_get_vcpu(vm, vcpu_index(current));
-
/*
* TODO: the PM event reached the SPMC. In a later
* iteration, the PM event can be passed to the SP by