Consistently use spci_vm_id_t for VM ID.
Before we had a mix of spci_vm_id_t, uint32_t and uint64_t.
Change-Id: I7b51e48490f0f54064e1121242052873bddad2b5
diff --git a/src/abi_test.cc b/src/abi_test.cc
index ed060e8..204472d 100644
--- a/src/abi_test.cc
+++ b/src/abi_test.cc
@@ -151,9 +151,9 @@
{
struct hf_vcpu_run_return res = dirty_vcpu_run_return();
res.code = HF_VCPU_RUN_WAKE_UP;
- res.wake_up.vm_id = 0x12345678;
+ res.wake_up.vm_id = 0x1234;
res.wake_up.vcpu = 0xabcd;
- EXPECT_THAT(hf_vcpu_run_return_encode(res), Eq(0x12345678abcd0004));
+ EXPECT_THAT(hf_vcpu_run_return_encode(res), Eq(0x1234abcd0004));
}
/**
@@ -162,9 +162,9 @@
TEST(abi, hf_vcpu_run_return_decode_wake_up)
{
struct hf_vcpu_run_return res =
- hf_vcpu_run_return_decode(0xbeefd00df00daf04);
+ hf_vcpu_run_return_decode(0xbeeff00daf04);
EXPECT_THAT(res.code, Eq(HF_VCPU_RUN_WAKE_UP));
- EXPECT_THAT(res.wake_up.vm_id, Eq(0xbeefd00d));
+ EXPECT_THAT(res.wake_up.vm_id, Eq(0xbeef));
EXPECT_THAT(res.wake_up.vcpu, Eq(0xf00d));
}
diff --git a/src/arch/aarch64/cpu.c b/src/arch/aarch64/cpu.c
index bfe9c42..dae0fd8 100644
--- a/src/arch/aarch64/cpu.c
+++ b/src/arch/aarch64/cpu.c
@@ -47,7 +47,7 @@
#endif
}
-void arch_regs_reset(struct arch_regs *r, bool is_primary, uint64_t vm_id,
+void arch_regs_reset(struct arch_regs *r, bool is_primary, spci_vm_id_t vm_id,
uint64_t vcpu_id, paddr_t table)
{
uintreg_t pc = r->pc;
@@ -90,7 +90,7 @@
r->lazy.hcr_el2 = hcr;
r->lazy.cptr_el2 = cptr;
r->lazy.cnthctl_el2 = cnthctl;
- r->lazy.vttbr_el2 = pa_addr(table) | (vm_id << 48);
+ r->lazy.vttbr_el2 = pa_addr(table) | ((uint64_t)vm_id << 48);
r->lazy.vmpidr_el2 = vcpu_id;
/* TODO: Use constant here. */
r->spsr = 5 | /* M bits, set to EL1h. */
diff --git a/src/arch/fake/hypervisor/cpu.c b/src/arch/fake/hypervisor/cpu.c
index 0f206fc..8542dbc 100644
--- a/src/arch/fake/hypervisor/cpu.c
+++ b/src/arch/fake/hypervisor/cpu.c
@@ -26,7 +26,7 @@
/* TODO */
}
-void arch_regs_reset(struct arch_regs *r, bool is_primary, uint64_t vm_id,
+void arch_regs_reset(struct arch_regs *r, bool is_primary, spci_vm_id_t vm_id,
uint64_t vcpu_id, paddr_t table)
{
/* TODO */