s64 uv_bios_call_reentrant(enum uv_bios_cmd which, u64 a1, u64 a2, u64 a3, u64 a4, u64 a5) { s64 ret; preempt_disable(); ret = uv_bios_call(which, a1, a2, a3, a4, a5); preempt_enable(); return ret; }
s64 uv_bios_call_irqsave(enum uv_bios_cmd which, u64 a1, u64 a2, u64 a3, u64 a4, u64 a5) { unsigned long bios_flags; s64 ret; local_irq_save(bios_flags); ret = uv_bios_call(which, a1, a2, a3, a4, a5); local_irq_restore(bios_flags); return ret; }
/* * uv_bios_set_legacy_vga_target - Set Legacy VGA I/O Target * @decode: true to enable target, false to disable target * @domain: PCI domain number * @bus: PCI bus number * * Returns: * 0: Success * -EINVAL: Invalid domain or bus number * -ENOSYS: Capability not available * -EBUSY: Legacy VGA I/O cannot be retargeted at this time */ int uv_bios_set_legacy_vga_target(bool decode, int domain, int bus) { return uv_bios_call(UV_BIOS_SET_LEGACY_VGA_TARGET, (u64)decode, (u64)domain, (u64)bus, 0, 0); }
s64 uv_bios_freq_base(u64 clock_type, u64 *ticks_per_second) { return uv_bios_call(UV_BIOS_FREQ_BASE, clock_type, (u64)ticks_per_second, 0, 0, 0); }