qemu/target-i386/kvm_i386.h
<<
>>
Prefs
   1/*
   2 * QEMU KVM support -- x86 specific functions.
   3 *
   4 * Copyright (c) 2012 Linaro Limited
   5 *
   6 * This work is licensed under the terms of the GNU GPL, version 2 or later.
   7 * See the COPYING file in the top-level directory.
   8 *
   9 */
  10
  11#ifndef QEMU_KVM_I386_H
  12#define QEMU_KVM_I386_H
  13
  14#include "sysemu/kvm.h"
  15
  16#define kvm_apic_in_kernel() (kvm_irqchip_in_kernel())
  17
  18bool kvm_allows_irq0_override(void);
  19bool kvm_has_smm(void);
  20void kvm_synchronize_all_tsc(void);
  21void kvm_arch_reset_vcpu(X86CPU *cs);
  22void kvm_arch_do_init_vcpu(X86CPU *cs);
  23
  24int kvm_device_pci_assign(KVMState *s, PCIHostDeviceAddress *dev_addr,
  25                          uint32_t flags, uint32_t *dev_id);
  26int kvm_device_pci_deassign(KVMState *s, uint32_t dev_id);
  27
  28int kvm_device_intx_assign(KVMState *s, uint32_t dev_id,
  29                           bool use_host_msi, uint32_t guest_irq);
  30int kvm_device_intx_set_mask(KVMState *s, uint32_t dev_id, bool masked);
  31int kvm_device_intx_deassign(KVMState *s, uint32_t dev_id, bool use_host_msi);
  32
  33int kvm_device_msi_assign(KVMState *s, uint32_t dev_id, int virq);
  34int kvm_device_msi_deassign(KVMState *s, uint32_t dev_id);
  35
  36bool kvm_device_msix_supported(KVMState *s);
  37int kvm_device_msix_init_vectors(KVMState *s, uint32_t dev_id,
  38                                 uint32_t nr_vectors);
  39int kvm_device_msix_set_vector(KVMState *s, uint32_t dev_id, uint32_t vector,
  40                               int virq);
  41int kvm_device_msix_assign(KVMState *s, uint32_t dev_id);
  42int kvm_device_msix_deassign(KVMState *s, uint32_t dev_id);
  43
  44#endif
  45