Revision 1c90ef26 target-i386/kvm.c
b/target-i386/kvm.c | ||
---|---|---|
1230 | 1230 |
env->msr_global_ctrl); |
1231 | 1231 |
} |
1232 | 1232 |
if (has_msr_hv_hypercall) { |
1233 |
kvm_msr_entry_set(&msrs[n++], HV_X64_MSR_GUEST_OS_ID, 0); |
|
1234 |
kvm_msr_entry_set(&msrs[n++], HV_X64_MSR_HYPERCALL, 0); |
|
1233 |
kvm_msr_entry_set(&msrs[n++], HV_X64_MSR_GUEST_OS_ID, |
|
1234 |
env->msr_hv_guest_os_id); |
|
1235 |
kvm_msr_entry_set(&msrs[n++], HV_X64_MSR_HYPERCALL, |
|
1236 |
env->msr_hv_hypercall); |
|
1235 | 1237 |
} |
1236 | 1238 |
if (has_msr_hv_vapic) { |
1237 | 1239 |
kvm_msr_entry_set(&msrs[n++], HV_X64_MSR_APIC_ASSIST_PAGE, 0); |
... | ... | |
1520 | 1522 |
} |
1521 | 1523 |
} |
1522 | 1524 |
|
1525 |
if (has_msr_hv_hypercall) { |
|
1526 |
msrs[n++].index = HV_X64_MSR_HYPERCALL; |
|
1527 |
msrs[n++].index = HV_X64_MSR_GUEST_OS_ID; |
|
1528 |
} |
|
1523 | 1529 |
msr_data.info.nmsrs = n; |
1524 | 1530 |
ret = kvm_vcpu_ioctl(CPU(cpu), KVM_GET_MSRS, &msr_data); |
1525 | 1531 |
if (ret < 0) { |
... | ... | |
1627 | 1633 |
case MSR_P6_EVNTSEL0 ... MSR_P6_EVNTSEL0 + MAX_GP_COUNTERS - 1: |
1628 | 1634 |
env->msr_gp_evtsel[index - MSR_P6_EVNTSEL0] = msrs[i].data; |
1629 | 1635 |
break; |
1636 |
case HV_X64_MSR_HYPERCALL: |
|
1637 |
env->msr_hv_hypercall = msrs[i].data; |
|
1638 |
break; |
|
1639 |
case HV_X64_MSR_GUEST_OS_ID: |
|
1640 |
env->msr_hv_guest_os_id = msrs[i].data; |
|
1641 |
break; |
|
1630 | 1642 |
} |
1631 | 1643 |
} |
1632 | 1644 |
|
Also available in: Unified diff