Lines Matching defs:args

2071 static int kvm_s390_get_skeys(struct kvm *kvm, struct kvm_s390_skeys *args)
2077 if (args->flags != 0)
2085 if (args->count < 1 || args->count > KVM_S390_SKEYS_MAX)
2088 keys = kvmalloc_array(args->count, sizeof(uint8_t), GFP_KERNEL_ACCOUNT);
2094 for (i = 0; i < args->count; i++) {
2095 hva = gfn_to_hva(kvm, args->start_gfn + i);
2109 r = copy_to_user((uint8_t __user *)args->skeydata_addr, keys,
2110 sizeof(uint8_t) * args->count);
2119 static int kvm_s390_set_skeys(struct kvm *kvm, struct kvm_s390_skeys *args)
2126 if (args->flags != 0)
2130 if (args->count < 1 || args->count > KVM_S390_SKEYS_MAX)
2133 keys = kvmalloc_array(args->count, sizeof(uint8_t), GFP_KERNEL_ACCOUNT);
2137 r = copy_from_user(keys, (uint8_t __user *)args->skeydata_addr,
2138 sizeof(uint8_t) * args->count);
2152 while (i < args->count) {
2154 hva = gfn_to_hva(kvm, args->start_gfn + i);
2192 static int kvm_s390_peek_cmma(struct kvm *kvm, struct kvm_s390_cmma_log *args,
2195 unsigned long pgstev, hva, cur_gfn = args->start_gfn;
2197 args->count = 0;
2198 while (args->count < bufsize) {
2205 return args->count ? 0 : -EFAULT;
2208 res[args->count++] = (pgstev >> 24) & 0x43;
2249 static int kvm_s390_get_cmma(struct kvm *kvm, struct kvm_s390_cmma_log *args,
2259 cur_gfn = kvm_s390_next_dirty_cmma(slots, args->start_gfn);
2261 args->count = 0;
2262 args->start_gfn = cur_gfn;
2268 while (args->count < bufsize) {
2278 res[args->count++] = (pgstev >> 24) & 0x43;
2287 (next_gfn - args->start_gfn >= bufsize))
2309 struct kvm_s390_cmma_log *args)
2318 if (args->flags & ~KVM_S390_CMMA_PEEK)
2321 peek = !!(args->flags & KVM_S390_CMMA_PEEK);
2325 bufsize = min(args->count, KVM_S390_CMMA_SIZE_MAX);
2327 memset(args, 0, sizeof(*args));
2332 memset(args, 0, sizeof(*args));
2343 ret = kvm_s390_peek_cmma(kvm, args, values, bufsize);
2345 ret = kvm_s390_get_cmma(kvm, args, values, bufsize);
2350 args->remaining = atomic64_read(&kvm->arch.cmma_dirty_pages);
2352 args->remaining = 0;
2354 if (copy_to_user((void __user *)args->values, values, args->count))
2367 const struct kvm_s390_cmma_log *args)
2373 mask = args->mask;
2378 if (args->flags != 0)
2381 if (args->count > KVM_S390_CMMA_SIZE_MAX)
2384 if (args->count == 0)
2387 bits = vmalloc(array_size(sizeof(*bits), args->count));
2391 r = copy_from_user(bits, (void __user *)args->values, args->count);
2399 for (i = 0; i < args->count; i++) {
2400 hva = gfn_to_hva(kvm, args->start_gfn + i);
3034 struct kvm_s390_skeys args;
3037 if (copy_from_user(&args, argp,
3040 r = kvm_s390_get_skeys(kvm, &args);
3044 struct kvm_s390_skeys args;
3047 if (copy_from_user(&args, argp,
3050 r = kvm_s390_set_skeys(kvm, &args);
3054 struct kvm_s390_cmma_log args;
3057 if (copy_from_user(&args, argp, sizeof(args)))
3060 r = kvm_s390_get_cmma_bits(kvm, &args);
3063 r = copy_to_user(argp, &args, sizeof(args));
3070 struct kvm_s390_cmma_log args;
3073 if (copy_from_user(&args, argp, sizeof(args)))
3076 r = kvm_s390_set_cmma_bits(kvm, &args);
3081 struct kvm_pv_cmd args;
3090 if (copy_from_user(&args, argp, sizeof(args))) {
3094 if (args.flags) {
3099 r = kvm_s390_handle_pv(kvm, &args);
3100 if (copy_to_user(argp, &args, sizeof(args))) {
3116 struct kvm_s390_zpci_op args;
3121 if (copy_from_user(&args, argp, sizeof(args))) {
3125 r = kvm_s390_pci_zpci_op(kvm, &args);