diff --git a/inc/vm.h b/inc/vm.h
index eb5fd2a..cd9dd32 100644
--- a/inc/vm.h
+++ b/inc/vm.h
@@ -20,15 +20,14 @@
 
 struct vm {
 	struct spinlock lock;
-	struct rpc rpc;
-	struct mm_ptable ptable;
 	uint32_t vcpu_count;
 	struct vcpu vcpus[MAX_CPUS];
+	struct mm_ptable ptable;
+	struct rpc rpc;
 };
 
 bool vm_init(struct vm *vm, uint32_t id, uint32_t vcpu_count);
-void vm_start_vcpu(struct vm *vm, size_t index, ipaddr_t entry, size_t arg,
-		   bool is_primary);
+void vm_start_vcpu(struct vm *vm, size_t index, ipaddr_t entry, size_t arg);
 void vm_set_current(struct vm *vm);
 
 #endif /* _VM_H */
diff --git a/src/arch/aarch64/inc/arch_cpu.h b/src/arch/aarch64/inc/arch_cpu.h
index 681f981..9aa96ef 100644
--- a/src/arch/aarch64/inc/arch_cpu.h
+++ b/src/arch/aarch64/inc/arch_cpu.h
@@ -93,8 +93,7 @@
 	__asm__ volatile("msr cnthctl_el2, %0" ::"r"(cnthctl));
 }
 
-static inline void arch_regs_init(struct arch_regs *r, ipaddr_t pc, size_t arg,
-				  bool is_primary)
+static inline void arch_regs_init(struct arch_regs *r, ipaddr_t pc, size_t arg)
 {
 	/* TODO: Use constant here. */
 	r->spsr = 5 |	 /* M bits, set to EL1h. */
diff --git a/src/arch/aarch64/inc/psci.h b/src/arch/aarch64/inc/psci.h
index 22f859f..87555e1 100644
--- a/src/arch/aarch64/inc/psci.h
+++ b/src/arch/aarch64/inc/psci.h
@@ -30,15 +30,15 @@
 
 /* The following are return codes for PSCI. */
 #define PSCI_RETURN_SUCCESS            0
-#define PSCI_RETURN_NOT_SUPPORTED      -1
-#define PSCI_RETURN_INVALID_PARAMETERS -2
-#define PSCI_RETURN_DENIED             -3
-#define PSCI_RETURN_ALREADY_ON         -4
-#define PSCI_RETURN_ON_PENDING         -5
-#define PSCI_RETURN_INTERNAL_FAILURE   -6
-#define PSCI_NOT_PRESENT               -7
-#define PSCI_DISABLE                   -8
-#define PSCI_INVALID_ADDRESS           -9
+#define PSCI_RETURN_NOT_SUPPORTED      (-1)
+#define PSCI_RETURN_INVALID_PARAMETERS (-2)
+#define PSCI_RETURN_DENIED             (-3)
+#define PSCI_RETURN_ALREADY_ON         (-4)
+#define PSCI_RETURN_ON_PENDING         (-5)
+#define PSCI_RETURN_INTERNAL_FAILURE   (-6)
+#define PSCI_NOT_PRESENT               (-7)
+#define PSCI_DISABLE                   (-8)
+#define PSCI_INVALID_ADDRESS           (-9)
 
 /* clang-format on */
 
diff --git a/src/cpu.c b/src/cpu.c
index d4e7900..5e179dd 100644
--- a/src/cpu.c
+++ b/src/cpu.c
@@ -72,7 +72,7 @@
 
 	if (!prev) {
 		struct vcpu *vcpu = primary_vm.vcpus + cpu_index(c);
-		arch_regs_init(&vcpu->regs, entry, arg, true);
+		arch_regs_init(&vcpu->regs, entry, arg);
 		vcpu_on(vcpu);
 	}
 
diff --git a/src/load.c b/src/load.c
index 16675ee..17dfc57 100644
--- a/src/load.c
+++ b/src/load.c
@@ -137,7 +137,7 @@
 			return false;
 		}
 
-		vm_start_vcpu(&primary_vm, 0, ipa_init(tmp), kernel_arg, true);
+		vm_start_vcpu(&primary_vm, 0, ipa_init(tmp), kernel_arg);
 	}
 
 	return true;
@@ -233,8 +233,7 @@
 		dlog("Loaded VM%u with %u vcpus, entry at 0x%x\n", count, cpu,
 		     pa_addr(*mem_end));
 
-		vm_start_vcpu(secondary_vm + count, 0, secondary_mem_begin, 0,
-			      false);
+		vm_start_vcpu(secondary_vm + count, 0, secondary_mem_begin, 0);
 	}
 
 	secondary_vm_count = count;
diff --git a/src/vm.c b/src/vm.c
index d2da22e..1eafb63 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -22,12 +22,11 @@
 }
 
 /* TODO: Shall we use index or id here? */
-void vm_start_vcpu(struct vm *vm, size_t index, ipaddr_t entry, size_t arg,
-		   bool is_primary)
+void vm_start_vcpu(struct vm *vm, size_t index, ipaddr_t entry, size_t arg)
 {
 	struct vcpu *vcpu = vm->vcpus + index;
 	if (index < vm->vcpu_count) {
-		arch_regs_init(&vcpu->regs, entry, arg, is_primary);
+		arch_regs_init(&vcpu->regs, entry, arg);
 		vcpu_on(vcpu);
 	}
 }
