Lines Matching refs:gtod

1219 static void __kvm_s390_set_tod_clock(struct kvm *kvm, const struct kvm_s390_vm_tod_clock *gtod);
1223 struct kvm_s390_vm_tod_clock gtod; in kvm_s390_set_tod_ext() local
1225 if (copy_from_user(&gtod, (void __user *)attr->addr, sizeof(gtod))) in kvm_s390_set_tod_ext()
1228 if (!test_kvm_facility(kvm, 139) && gtod.epoch_idx) in kvm_s390_set_tod_ext()
1230 __kvm_s390_set_tod_clock(kvm, &gtod); in kvm_s390_set_tod_ext()
1233 gtod.epoch_idx, gtod.tod); in kvm_s390_set_tod_ext()
1255 struct kvm_s390_vm_tod_clock gtod = { 0 }; in kvm_s390_set_tod_low() local
1257 if (copy_from_user(&gtod.tod, (void __user *)attr->addr, in kvm_s390_set_tod_low()
1258 sizeof(gtod.tod))) in kvm_s390_set_tod_low()
1261 __kvm_s390_set_tod_clock(kvm, &gtod); in kvm_s390_set_tod_low()
1262 VM_EVENT(kvm, 3, "SET: TOD base: 0x%llx", gtod.tod); in kvm_s390_set_tod_low()
1304 struct kvm_s390_vm_tod_clock *gtod) in kvm_s390_get_tod_clock() argument
1312 gtod->tod = clk.tod + kvm->arch.epoch; in kvm_s390_get_tod_clock()
1313 gtod->epoch_idx = 0; in kvm_s390_get_tod_clock()
1315 gtod->epoch_idx = clk.ei + kvm->arch.epdx; in kvm_s390_get_tod_clock()
1316 if (gtod->tod < clk.tod) in kvm_s390_get_tod_clock()
1317 gtod->epoch_idx += 1; in kvm_s390_get_tod_clock()
1325 struct kvm_s390_vm_tod_clock gtod; in kvm_s390_get_tod_ext() local
1327 memset(&gtod, 0, sizeof(gtod)); in kvm_s390_get_tod_ext()
1328 kvm_s390_get_tod_clock(kvm, &gtod); in kvm_s390_get_tod_ext()
1329 if (copy_to_user((void __user *)attr->addr, &gtod, sizeof(gtod))) in kvm_s390_get_tod_ext()
1333 gtod.epoch_idx, gtod.tod); in kvm_s390_get_tod_ext()
1351 u64 gtod; in kvm_s390_get_tod_low() local
1353 gtod = kvm_s390_get_tod_clock_fast(kvm); in kvm_s390_get_tod_low()
1354 if (copy_to_user((void __user *)attr->addr, &gtod, sizeof(gtod))) in kvm_s390_get_tod_low()
1356 VM_EVENT(kvm, 3, "QUERY: TOD base: 0x%llx", gtod); in kvm_s390_get_tod_low()
4535 static void __kvm_s390_set_tod_clock(struct kvm *kvm, const struct kvm_s390_vm_tod_clock *gtod) in __kvm_s390_set_tod_clock() argument
4545 kvm->arch.epoch = gtod->tod - clk.tod; in __kvm_s390_set_tod_clock()
4548 kvm->arch.epdx = gtod->epoch_idx - clk.ei; in __kvm_s390_set_tod_clock()
4549 if (kvm->arch.epoch > gtod->tod) in __kvm_s390_set_tod_clock()
4563 int kvm_s390_try_set_tod_clock(struct kvm *kvm, const struct kvm_s390_vm_tod_clock *gtod) in kvm_s390_try_set_tod_clock() argument
4567 __kvm_s390_set_tod_clock(kvm, gtod); in kvm_s390_try_set_tod_clock()