Lines Matching refs:op

186     struct xen_platform_op curop, *op = &curop;  in do_platform_op()  local
188 if ( copy_from_guest(op, u_xenpf_op, 1) ) in do_platform_op()
191 if ( op->interface_version != XENPF_INTERFACE_VERSION ) in do_platform_op()
194 ret = xsm_platform_op(XSM_PRIV, op->cmd); in do_platform_op()
208 switch ( op->cmd ) in do_platform_op()
211 do_settime(op->u.settime32.secs, in do_platform_op()
212 op->u.settime32.nsecs, in do_platform_op()
213 op->u.settime32.system_time); in do_platform_op()
217 if ( likely(!op->u.settime64.mbz) ) in do_platform_op()
218 do_settime(op->u.settime64.secs, in do_platform_op()
219 op->u.settime64.nsecs, in do_platform_op()
220 op->u.settime64.system_time); in do_platform_op()
228 op->u.add_memtype.mfn, in do_platform_op()
229 op->u.add_memtype.nr_mfns, in do_platform_op()
230 op->u.add_memtype.type, in do_platform_op()
234 op->u.add_memtype.handle = 0; in do_platform_op()
235 op->u.add_memtype.reg = ret; in do_platform_op()
236 ret = __copy_field_to_guest(u_xenpf_op, op, u.add_memtype) ? in do_platform_op()
246 if (op->u.del_memtype.handle == 0 in do_platform_op()
248 && (int)op->u.del_memtype.reg >= 0) in do_platform_op()
250 ret = mtrr_del_page(op->u.del_memtype.reg, 0, 0); in do_platform_op()
265 if ( op->u.read_memtype.reg < num_var_ranges ) in do_platform_op()
267 mtrr_if->get(op->u.read_memtype.reg, &mfn, &nr_mfns, &type); in do_platform_op()
268 op->u.read_memtype.mfn = mfn; in do_platform_op()
269 op->u.read_memtype.nr_mfns = nr_mfns; in do_platform_op()
270 op->u.read_memtype.type = type; in do_platform_op()
271 ret = __copy_field_to_guest(u_xenpf_op, op, u.read_memtype) in do_platform_op()
281 guest_from_compat_handle(data, op->u.microcode.data); in do_platform_op()
299 op->u.microcode.length); in do_platform_op()
306 int quirk_id = op->u.platform_quirk.quirk_id; in do_platform_op()
329 switch ( op->u.firmware_info.type ) in do_platform_op()
336 if ( op->u.firmware_info.index >= bootsym(boot_edd_info_nr) ) in do_platform_op()
339 info = bootsym(boot_edd_info) + op->u.firmware_info.index; in do_platform_op()
343 if ( copy_from_compat(&length, op->u.firmware_info.u. in do_platform_op()
348 if ( copy_to_compat(op->u.firmware_info.u.disk_info.edd_params, in do_platform_op()
352 if ( copy_to_compat(op->u.firmware_info.u.disk_info.edd_params, in do_platform_op()
357 #define C(x) op->u.firmware_info.u.disk_info.x = info->x in do_platform_op()
366 ret = (__copy_field_to_guest(u_xenpf_op, op, in do_platform_op()
375 if ( op->u.firmware_info.index >= bootsym(boot_mbr_signature_nr) ) in do_platform_op()
378 sig = bootsym(boot_mbr_signature) + op->u.firmware_info.index; in do_platform_op()
380 op->u.firmware_info.u.disk_mbr_signature.device = sig->device; in do_platform_op()
381 op->u.firmware_info.u.disk_mbr_signature.mbr_signature = in do_platform_op()
384 ret = (__copy_field_to_guest(u_xenpf_op, op, in do_platform_op()
392 if ( op->u.firmware_info.index != 0 ) in do_platform_op()
397 op->u.firmware_info.u.vbeddc_info.capabilities = in do_platform_op()
399 op->u.firmware_info.u.vbeddc_info.edid_transfer_time = in do_platform_op()
403 if ( __copy_field_to_guest(u_xenpf_op, op, u.firmware_info. in do_platform_op()
405 __copy_field_to_guest(u_xenpf_op, op, u.firmware_info. in do_platform_op()
407 copy_to_compat(op->u.firmware_info.u.vbeddc_info.edid, in do_platform_op()
413 ret = efi_get_info(op->u.firmware_info.index, in do_platform_op()
414 &op->u.firmware_info.u.efi_info); in do_platform_op()
416 __copy_field_to_guest(u_xenpf_op, op, in do_platform_op()
422 if ( op->u.firmware_info.index != 0 ) in do_platform_op()
425 op->u.firmware_info.u.kbd_shift_flags = bootsym(kbd_shift_flags); in do_platform_op()
428 if ( __copy_field_to_guest(u_xenpf_op, op, in do_platform_op()
439 ret = efi_runtime_call(&op->u.efi_runtime_call); in do_platform_op()
441 __copy_field_to_guest(u_xenpf_op, op, u.efi_runtime_call) ) in do_platform_op()
446 ret = acpi_enter_sleep(&op->u.enter_acpi_sleep); in do_platform_op()
454 if ( op->u.change_freq.flags || !cpu_online(op->u.change_freq.cpu) ) in do_platform_op()
456 ret = continue_hypercall_on_cpu(op->u.change_freq.cpu, in do_platform_op()
458 (void *)op->u.change_freq.freq); in do_platform_op()
474 ctlmap.nr_bits = op->u.getidletime.cpumap_nr_cpus; in do_platform_op()
476 op->u.getidletime.cpumap_bitmap); in do_platform_op()
480 guest_from_compat_handle(idletimes, op->u.getidletime.idletime); in do_platform_op()
499 op->u.getidletime.now = now; in do_platform_op()
504 if ( ret == 0 && __copy_field_to_guest(u_xenpf_op, op, u.getidletime) ) in do_platform_op()
510 switch ( op->u.set_pminfo.type ) in do_platform_op()
518 ret = set_px_pminfo(op->u.set_pminfo.id, &op->u.set_pminfo.u.perf); in do_platform_op()
527 ret = set_cx_pminfo(op->u.set_pminfo.id, &op->u.set_pminfo.u.power); in do_platform_op()
543 guest_from_compat_handle(pdc, op->u.set_pminfo.u.pdc); in do_platform_op()
545 op->u.set_pminfo.id, in do_platform_op()
560 g_info = &op->u.pcpu_info; in do_platform_op()
587 ret = __copy_field_to_guest(u_xenpf_op, op, u.pcpu_info) ? -EFAULT : 0; in do_platform_op()
593 struct xenpf_pcpu_version *ver = &op->u.pcpu_version; in do_platform_op()
622 if ( __copy_field_to_guest(u_xenpf_op, op, u.pcpu_version) ) in do_platform_op()
629 int cpu = op->u.cpu_ol.cpuid; in do_platform_op()
655 int cpu = op->u.cpu_ol.cpuid; in do_platform_op()
690 ret = cpu_add(op->u.cpu_add.apic_id, in do_platform_op()
691 op->u.cpu_add.acpi_id, in do_platform_op()
692 op->u.cpu_add.pxm); in do_platform_op()
700 ret = memory_add(op->u.mem_add.spfn, in do_platform_op()
701 op->u.mem_add.epfn, in do_platform_op()
702 op->u.mem_add.pxm); in do_platform_op()
709 switch(op->u.core_parking.type) in do_platform_op()
713 op->u.core_parking.idle_nums, num_present_cpus() - 1); in do_platform_op()
719 op->u.core_parking.idle_nums = get_cur_idle_nums(); in do_platform_op()
720 ret = __copy_field_to_guest(u_xenpf_op, op, u.core_parking) ? in do_platform_op()
737 ra.nr_entries = op->u.resource_op.nr_entries; in do_platform_op()
753 guest_from_compat_handle(guest_entries, op->u.resource_op.entries); in do_platform_op()
774 cpu = op->u.resource_op.cpu; in do_platform_op()
805 guest_from_compat_handle(nameh, op->u.symdata.name); in do_platform_op()
807 ret = xensyms_read(&op->u.symdata.symnum, &op->u.symdata.type, in do_platform_op()
809 op->u.symdata.address = addr; in do_platform_op()
812 if ( namelen > op->u.symdata.namelen ) in do_platform_op()
813 copylen = op->u.symdata.namelen; in do_platform_op()
817 op->u.symdata.namelen = namelen; in do_platform_op()
821 if ( !ret && __copy_field_to_guest(u_xenpf_op, op, u.symdata) ) in do_platform_op()