Lines Matching refs:gtod
1095 static void __kvm_s390_set_tod_clock(struct kvm *kvm, const struct kvm_s390_vm_tod_clock *gtod);
1099 struct kvm_s390_vm_tod_clock gtod; in kvm_s390_set_tod_ext() local
1101 if (copy_from_user(>od, (void __user *)attr->addr, sizeof(gtod))) in kvm_s390_set_tod_ext()
1104 if (!test_kvm_facility(kvm, 139) && gtod.epoch_idx) in kvm_s390_set_tod_ext()
1106 __kvm_s390_set_tod_clock(kvm, >od); in kvm_s390_set_tod_ext()
1109 gtod.epoch_idx, gtod.tod); in kvm_s390_set_tod_ext()
1131 struct kvm_s390_vm_tod_clock gtod = { 0 }; in kvm_s390_set_tod_low() local
1133 if (copy_from_user(>od.tod, (void __user *)attr->addr, in kvm_s390_set_tod_low()
1134 sizeof(gtod.tod))) in kvm_s390_set_tod_low()
1137 __kvm_s390_set_tod_clock(kvm, >od); in kvm_s390_set_tod_low()
1138 VM_EVENT(kvm, 3, "SET: TOD base: 0x%llx", gtod.tod); in kvm_s390_set_tod_low()
1180 struct kvm_s390_vm_tod_clock *gtod) in kvm_s390_get_tod_clock() argument
1188 gtod->tod = htod.tod + kvm->arch.epoch; in kvm_s390_get_tod_clock()
1189 gtod->epoch_idx = 0; in kvm_s390_get_tod_clock()
1191 gtod->epoch_idx = htod.epoch_idx + kvm->arch.epdx; in kvm_s390_get_tod_clock()
1192 if (gtod->tod < htod.tod) in kvm_s390_get_tod_clock()
1193 gtod->epoch_idx += 1; in kvm_s390_get_tod_clock()
1201 struct kvm_s390_vm_tod_clock gtod; in kvm_s390_get_tod_ext() local
1203 memset(>od, 0, sizeof(gtod)); in kvm_s390_get_tod_ext()
1204 kvm_s390_get_tod_clock(kvm, >od); in kvm_s390_get_tod_ext()
1205 if (copy_to_user((void __user *)attr->addr, >od, sizeof(gtod))) in kvm_s390_get_tod_ext()
1209 gtod.epoch_idx, gtod.tod); in kvm_s390_get_tod_ext()
1227 u64 gtod; in kvm_s390_get_tod_low() local
1229 gtod = kvm_s390_get_tod_clock_fast(kvm); in kvm_s390_get_tod_low()
1230 if (copy_to_user((void __user *)attr->addr, >od, sizeof(gtod))) in kvm_s390_get_tod_low()
1232 VM_EVENT(kvm, 3, "QUERY: TOD base: 0x%llx", gtod); in kvm_s390_get_tod_low()
3880 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
3890 kvm->arch.epoch = gtod->tod - htod.tod; in __kvm_s390_set_tod_clock()
3893 kvm->arch.epdx = gtod->epoch_idx - htod.epoch_idx; in __kvm_s390_set_tod_clock()
3894 if (kvm->arch.epoch > gtod->tod) in __kvm_s390_set_tod_clock()
3908 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
3912 __kvm_s390_set_tod_clock(kvm, gtod); in kvm_s390_try_set_tod_clock()