[REFACTOR] Move vCPU code to separate file

This is to facilitate having a better framework for controlling access to CPU
features and registers.

Bug: 144898870
Change-Id: I68d7f08a4cce8e6b0bf2aa0325254a8a26fbf7fc
diff --git a/src/main.c b/src/main.c
index 8896b77..b12032e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -24,16 +24,14 @@
 struct vcpu *cpu_main(struct cpu *c)
 {
 	struct vcpu *vcpu;
-	struct vm *vm;
 
 	vcpu = vm_get_vcpu(vm_find(HF_PRIMARY_VM_ID), cpu_index(c));
-	vm = vcpu->vm;
 	vcpu->cpu = c;
 
 	arch_cpu_init();
 
 	/* Reset the registers to give a clean start for the primary's vCPU. */
-	arch_regs_reset(&vcpu->regs, true, vm->id, c->id, vm->ptable.root);
+	arch_regs_reset(vcpu);
 
 	return vcpu;
 }