kvm-stub.c 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. /*
  2. * QEMU KVM stub
  3. *
  4. * Copyright Red Hat, Inc. 2010
  5. *
  6. * Author: Paolo Bonzini <pbonzini@redhat.com>
  7. *
  8. * This work is licensed under the terms of the GNU GPL, version 2 or later.
  9. * See the COPYING file in the top-level directory.
  10. *
  11. */
  12. #include "qemu/osdep.h"
  13. #include "system/kvm.h"
  14. #include "hw/pci/msi.h"
  15. KVMState *kvm_state;
  16. bool kvm_kernel_irqchip;
  17. bool kvm_async_interrupts_allowed;
  18. bool kvm_resamplefds_allowed;
  19. bool kvm_msi_via_irqfd_allowed;
  20. bool kvm_gsi_routing_allowed;
  21. bool kvm_gsi_direct_mapping;
  22. bool kvm_allowed;
  23. bool kvm_readonly_mem_allowed;
  24. bool kvm_msi_use_devid;
  25. void kvm_flush_coalesced_mmio_buffer(void)
  26. {
  27. }
  28. void kvm_cpu_synchronize_state(CPUState *cpu)
  29. {
  30. }
  31. bool kvm_has_sync_mmu(void)
  32. {
  33. return false;
  34. }
  35. int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr)
  36. {
  37. return 1;
  38. }
  39. int kvm_on_sigbus(int code, void *addr)
  40. {
  41. return 1;
  42. }
  43. int kvm_irqchip_add_msi_route(KVMRouteChange *c, int vector, PCIDevice *dev)
  44. {
  45. return -ENOSYS;
  46. }
  47. void kvm_init_irq_routing(KVMState *s)
  48. {
  49. }
  50. void kvm_irqchip_release_virq(KVMState *s, int virq)
  51. {
  52. }
  53. int kvm_irqchip_update_msi_route(KVMState *s, int virq, MSIMessage msg,
  54. PCIDevice *dev)
  55. {
  56. return -ENOSYS;
  57. }
  58. void kvm_irqchip_commit_routes(KVMState *s)
  59. {
  60. }
  61. void kvm_irqchip_add_change_notifier(Notifier *n)
  62. {
  63. }
  64. void kvm_irqchip_remove_change_notifier(Notifier *n)
  65. {
  66. }
  67. void kvm_irqchip_change_notify(void)
  68. {
  69. }
  70. int kvm_irqchip_add_irqfd_notifier_gsi(KVMState *s, EventNotifier *n,
  71. EventNotifier *rn, int virq)
  72. {
  73. return -ENOSYS;
  74. }
  75. int kvm_irqchip_remove_irqfd_notifier_gsi(KVMState *s, EventNotifier *n,
  76. int virq)
  77. {
  78. return -ENOSYS;
  79. }
  80. unsigned int kvm_get_max_memslots(void)
  81. {
  82. return 0;
  83. }
  84. unsigned int kvm_get_free_memslots(void)
  85. {
  86. return 0;
  87. }
  88. void kvm_init_cpu_signals(CPUState *cpu)
  89. {
  90. abort();
  91. }
  92. bool kvm_arm_supports_user_irq(void)
  93. {
  94. return false;
  95. }
  96. bool kvm_dirty_ring_enabled(void)
  97. {
  98. return false;
  99. }
  100. uint32_t kvm_dirty_ring_size(void)
  101. {
  102. return 0;
  103. }
  104. bool kvm_hwpoisoned_mem(void)
  105. {
  106. return false;
  107. }
  108. int kvm_create_guest_memfd(uint64_t size, uint64_t flags, Error **errp)
  109. {
  110. return -ENOSYS;
  111. }