struct kvm_vcpu_init init = { .target = -1, };
int new_regs = 0, missing_regs = 0, i, n;
int failed_get = 0, failed_set = 0, failed_reject = 0;
+ struct kvm_vcpu *vcpu;
struct kvm_vm *vm;
struct reg_sublist *s;
vm = vm_create_barebones();
prepare_vcpu_init(c, &init);
- __vm_vcpu_add(vm, 0);
- aarch64_vcpu_setup(vm, 0, &init);
- finalize_vcpu(vm, 0, c);
+ vcpu = __vm_vcpu_add(vm, 0);
+ aarch64_vcpu_setup(vm, vcpu->id, &init);
+ finalize_vcpu(vm, vcpu->id, c);
- reg_list = vcpu_get_reg_list(vm, 0);
+ reg_list = vcpu_get_reg_list(vm, vcpu->id);
if (fixup_core_regs)
core_reg_fixup();
bool reject_reg = false;
int ret;
- ret = __vcpu_get_reg(vm, 0, reg_list->reg[i], &addr);
+ ret = __vcpu_get_reg(vm, vcpu->id, reg_list->reg[i], &addr);
if (ret) {
printf("%s: Failed to get ", config_name(c));
print_reg(c, reg.id);
for_each_sublist(c, s) {
if (s->rejects_set && find_reg(s->rejects_set, s->rejects_set_n, reg.id)) {
reject_reg = true;
- ret = __vcpu_ioctl(vm, 0, KVM_SET_ONE_REG, ®);
+ ret = __vcpu_ioctl(vm, vcpu->id, KVM_SET_ONE_REG, ®);
if (ret != -1 || errno != EPERM) {
printf("%s: Failed to reject (ret=%d, errno=%d) ", config_name(c), ret, errno);
print_reg(c, reg.id);
}
if (!reject_reg) {
- ret = __vcpu_ioctl(vm, 0, KVM_SET_ONE_REG, ®);
+ ret = __vcpu_ioctl(vm, vcpu->id, KVM_SET_ONE_REG, ®);
if (ret) {
printf("%s: Failed to set ", config_name(c));
print_reg(c, reg.id);