Lines Matching refs:msrs
344 struct kvm_user_return_msrs *msrs
354 if (msrs->registered) {
355 msrs->registered = false;
360 values = &msrs->values[slot];
410 struct kvm_user_return_msrs *msrs = per_cpu_ptr(user_return_msrs, cpu);
416 msrs->values[i].host = value;
417 msrs->values[i].curr = value;
424 struct kvm_user_return_msrs *msrs = per_cpu_ptr(user_return_msrs, cpu);
427 value = (value & mask) | (msrs->values[slot].host & ~mask);
428 if (value == msrs->values[slot].curr)
434 msrs->values[slot].curr = value;
435 if (!msrs->registered) {
436 msrs->urn.on_user_return = kvm_on_user_return;
437 user_return_notifier_register(&msrs->urn);
438 msrs->registered = true;
447 struct kvm_user_return_msrs *msrs = per_cpu_ptr(user_return_msrs, cpu);
449 if (msrs->registered)
450 kvm_on_user_return(&msrs->urn);
4002 * Read or write a bunch of msrs. All parameters are kernel addresses.
4004 * @return number of msrs set successfully.
4006 static int __msr_io(struct kvm_vcpu *vcpu, struct kvm_msrs *msrs,
4013 for (i = 0; i < msrs->nmsrs; ++i)
4021 * Read or write a bunch of msrs. Parameters are user addresses.
4023 * @return number of msrs set successfully.
4030 struct kvm_msrs msrs;
4036 if (copy_from_user(&msrs, user_msrs, sizeof(msrs)))
4040 if (msrs.nmsrs >= MAX_IO_MSRS)
4043 size = sizeof(struct kvm_msr_entry) * msrs.nmsrs;
4050 r = n = __msr_io(vcpu, &msrs, entries, do_msr);