Bug fix: Primary vm should be given the physical core IDs.
Previously for primary vm also passing mapped cpu_index rather than the
physcial core ID.
Signed-off-by: Mahesh Bireddy <mahesh.reddybireddy@arm.com>
Change-Id: I7c26e4da2a532cc1ea5b318e5ee503532b51671c
diff --git a/src/arch/aarch64/hypervisor/cpu.c b/src/arch/aarch64/hypervisor/cpu.c
index eadca3b..adb5b12 100644
--- a/src/arch/aarch64/hypervisor/cpu.c
+++ b/src/arch/aarch64/hypervisor/cpu.c
@@ -69,7 +69,7 @@
{
spci_vm_id_t vm_id = vcpu->vm->id;
bool is_primary = vm_id == HF_PRIMARY_VM_ID;
- cpu_id_t vcpu_id = vcpu_index(vcpu);
+ cpu_id_t vcpu_id = is_primary ? vcpu->cpu->id : vcpu_index(vcpu);
paddr_t table = vcpu->vm->ptable.root;
struct arch_regs *r = &vcpu->regs;
uintreg_t pc = r->pc;