Lines Matching +defs:val +defs:bitmap
589 u64 val;
593 ret = rdmsrl_safe(msr, &val);
596 ret = wrmsrl_safe(msr, val);
1513 int kvm_set_dr(struct kvm_vcpu *vcpu, int dr, unsigned long val)
1519 vcpu->arch.db[array_index_nospec(dr, size)] = val;
1521 vcpu->arch.eff_db[dr] = val;
1525 if (!kvm_dr6_valid(val))
1527 vcpu->arch.dr6 = (val & DR6_VOLATILE) | kvm_dr6_fixed(vcpu);
1531 if (!kvm_dr7_valid(val))
1533 vcpu->arch.dr7 = (val & DR7_VOLATILE) | DR7_FIXED_1;
1783 unsigned long *bitmap = ranges[i].bitmap;
1786 allowed = test_bit(index - start, bitmap);
2189 u64 val;
2199 (do_get_msr(vcpu, index, &val) || *data != val))
4788 static int __kvm_x86_dev_get_attr(struct kvm_device_attr *attr, u64 *val)
4792 return kvm_x86_call(dev_get_attr)(attr->group, attr->attr, val);
4798 *val = kvm_caps.supported_xcr0;
4809 u64 val;
4811 r = __kvm_x86_dev_get_attr(attr, &val);
4815 if (put_user(val, uaddr))
4823 u64 val;
4825 return __kvm_x86_dev_get_attr(attr, &val);
6769 kfree(msr_filter->ranges[i].bitmap);
6777 unsigned long *bitmap;
6793 bitmap = memdup_user((__user u8*)user_range->bitmap, bitmap_size);
6794 if (IS_ERR(bitmap))
6795 return PTR_ERR(bitmap);
6801 .bitmap = bitmap,
6858 __u32 bitmap;
6895 .bitmap = (__u8 *)(ulong)cr->bitmap,
7583 static int kvm_read_guest_virt_helper(gva_t addr, void *val, unsigned int bytes,
7588 void *data = val;
7616 gva_t addr, void *val, unsigned int bytes,
7634 ret = kvm_vcpu_read_guest_page(vcpu, gpa >> PAGE_SHIFT, val,
7643 gva_t addr, void *val, unsigned int bytes,
7655 return kvm_read_guest_virt_helper(addr, val, bytes, vcpu, access,
7661 gva_t addr, void *val, unsigned int bytes,
7672 return kvm_read_guest_virt_helper(addr, val, bytes, vcpu, access, exception);
7675 static int kvm_write_guest_virt_helper(gva_t addr, void *val, unsigned int bytes,
7680 void *data = val;
7705 static int emulator_write_std(struct x86_emulate_ctxt *ctxt, gva_t addr, void *val,
7717 return kvm_write_guest_virt_helper(addr, val, bytes, vcpu,
7721 int kvm_write_guest_virt_system(struct kvm_vcpu *vcpu, gva_t addr, void *val,
7727 return kvm_write_guest_virt_helper(addr, val, bytes, vcpu,
7812 const void *val, int bytes)
7816 ret = kvm_vcpu_write_guest(vcpu, gpa, val, bytes);
7819 kvm_page_track_write(vcpu, gpa, val, bytes);
7824 int (*read_write_prepare)(struct kvm_vcpu *vcpu, void *val,
7827 void *val, int bytes);
7829 int bytes, void *val);
7831 void *val, int bytes);
7835 static int read_prepare(struct kvm_vcpu *vcpu, void *val, int bytes)
7839 vcpu->mmio_fragments[0].gpa, val);
7848 void *val, int bytes)
7850 return !kvm_vcpu_read_guest(vcpu, gpa, val, bytes);
7854 void *val, int bytes)
7856 return emulator_write_phys(vcpu, gpa, val, bytes);
7859 static int write_mmio(struct kvm_vcpu *vcpu, gpa_t gpa, int bytes, void *val)
7861 trace_kvm_mmio(KVM_TRACE_MMIO_WRITE, bytes, gpa, val);
7862 return vcpu_mmio_write(vcpu, gpa, bytes, val);
7866 void *val, int bytes)
7873 void *val, int bytes)
7895 static int emulator_read_write_onepage(unsigned long addr, void *val,
7924 if (!ret && ops->read_write_emulate(vcpu, gpa, val, bytes))
7930 handled = ops->read_write_mmio(vcpu, gpa, bytes, val);
7936 val += handled;
7941 frag->data = val;
7948 void *val, unsigned int bytes,
7957 ops->read_write_prepare(vcpu, val, bytes))
7967 rc = emulator_read_write_onepage(addr, val, now, exception,
7975 val += now;
7979 rc = emulator_read_write_onepage(addr, val, bytes, exception,
7997 return ops->read_write_exit_mmio(vcpu, gpa, val, bytes);
8002 void *val,
8006 return emulator_read_write(ctxt, addr, val, bytes,
8012 const void *val,
8016 return emulator_read_write(ctxt, addr, (void *)val, bytes,
8158 unsigned short port, void *val, unsigned int count)
8160 int r = emulator_pio_in_out(vcpu, size, port, val, count, true);
8162 trace_kvm_pio(KVM_PIO_IN, port, size, count, val);
8167 static void complete_emulator_pio_in(struct kvm_vcpu *vcpu, void *val)
8171 memcpy(val, vcpu->arch.pio_data, size * count);
8177 int size, unsigned short port, void *val,
8189 complete_emulator_pio_in(vcpu, val);
8193 return emulator_pio_in(vcpu, size, port, val, count);
8197 unsigned short port, const void *val,
8200 trace_kvm_pio(KVM_PIO_OUT, port, size, count, val);
8201 return emulator_pio_in_out(vcpu, size, port, (void *)val, count, false);
8206 const void *val, unsigned int count)
8208 return emulator_pio_out(emul_to_vcpu(ctxt), size, port, val, count);
8299 static int emulator_set_cr(struct x86_emulate_ctxt *ctxt, int cr, ulong val)
8306 res = kvm_set_cr0(vcpu, mk_cr_64(kvm_read_cr0(vcpu), val));
8309 vcpu->arch.cr2 = val;
8312 res = kvm_set_cr3(vcpu, val);
8315 res = kvm_set_cr4(vcpu, mk_cr_64(kvm_read_cr4(vcpu), val));
8318 res = kvm_set_cr8(vcpu, val);
8533 static void emulator_write_gpr(struct x86_emulate_ctxt *ctxt, unsigned reg, ulong val)
8535 kvm_register_write_raw(emul_to_vcpu(ctxt), reg, val);
9332 unsigned long val = kvm_rax_read(vcpu);
9333 int ret = emulator_pio_out(vcpu, size, port, &val, 1);
9356 unsigned long val;
9367 val = (vcpu->arch.pio.size < 4) ? kvm_rax_read(vcpu) : 0;
9369 complete_emulator_pio_in(vcpu, &val);
9370 kvm_rax_write(vcpu, val);
9378 unsigned long val;
9382 val = (size < 4) ? kvm_rax_read(vcpu) : 0;
9384 ret = emulator_pio_in(vcpu, size, port, &val, 1);
9386 kvm_rax_write(vcpu, val);
9537 static int kvmclock_cpufreq_notifier(struct notifier_block *nb, unsigned long val,
9543 if (val == CPUFREQ_PRECHANGE && freq->old > freq->new)
9545 if (val == CPUFREQ_POSTCHANGE && freq->old < freq->new)
13382 u32 val;
13385 &val, offset, sizeof(val)))
13388 return !val;