File:  [Qemu by Fabrice Bellard] / qemu / kvm-stub.c
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 18:33:09 2018 UTC (3 years, 1 month ago) by root
Branches: qemu, MAIN
CVS tags: qemu0150, qemu0141, qemu0140, HEAD
qemu 0.14.0

    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: 
   13: #include "qemu-common.h"
   14: #include "sysemu.h"
   15: #include "hw/hw.h"
   16: #include "exec-all.h"
   17: #include "gdbstub.h"
   18: #include "kvm.h"
   19: 
   20: int kvm_irqchip_in_kernel(void)
   21: {
   22:     return 0;
   23: }
   24: 
   25: int kvm_pit_in_kernel(void)
   26: {
   27:     return 0;
   28: }
   29: 
   30: 
   31: int kvm_init_vcpu(CPUState *env)
   32: {
   33:     return -ENOSYS;
   34: }
   35: 
   36: int kvm_log_start(target_phys_addr_t phys_addr, ram_addr_t size)
   37: {
   38:     return -ENOSYS;
   39: }
   40: 
   41: int kvm_log_stop(target_phys_addr_t phys_addr, ram_addr_t size)
   42: {
   43:     return -ENOSYS;
   44: }
   45: 
   46: int kvm_coalesce_mmio_region(target_phys_addr_t start, ram_addr_t size)
   47: {
   48:     return -ENOSYS;
   49: }
   50: 
   51: int kvm_uncoalesce_mmio_region(target_phys_addr_t start, ram_addr_t size)
   52: {
   53:     return -ENOSYS;
   54: }
   55: 
   56: int kvm_check_extension(KVMState *s, unsigned int extension)
   57: {
   58:     return 0;
   59: }
   60: 
   61: int kvm_init(void)
   62: {
   63:     return -ENOSYS;
   64: }
   65: 
   66: void kvm_flush_coalesced_mmio_buffer(void)
   67: {
   68: }
   69: 
   70: void kvm_cpu_synchronize_state(CPUState *env)
   71: {
   72: }
   73: 
   74: void kvm_cpu_synchronize_post_reset(CPUState *env)
   75: {
   76: }
   77: 
   78: void kvm_cpu_synchronize_post_init(CPUState *env)
   79: {
   80: }
   81: 
   82: int kvm_cpu_exec(CPUState *env)
   83: {
   84:     abort ();
   85: }
   86: 
   87: int kvm_has_sync_mmu(void)
   88: {
   89:     return 0;
   90: }
   91: 
   92: int kvm_has_vcpu_events(void)
   93: {
   94:     return 0;
   95: }
   96: 
   97: int kvm_has_robust_singlestep(void)
   98: {
   99:     return 0;
  100: }
  101: 
  102: int kvm_has_many_ioeventfds(void)
  103: {
  104:     return 0;
  105: }
  106: 
  107: void kvm_setup_guest_memory(void *start, size_t size)
  108: {
  109: }
  110: 
  111: int kvm_update_guest_debug(CPUState *env, unsigned long reinject_trap)
  112: {
  113:     tb_flush(env);
  114:     return 0;
  115: }
  116: 
  117: int kvm_insert_breakpoint(CPUState *current_env, target_ulong addr,
  118:                           target_ulong len, int type)
  119: {
  120:     return -EINVAL;
  121: }
  122: 
  123: int kvm_remove_breakpoint(CPUState *current_env, target_ulong addr,
  124:                           target_ulong len, int type)
  125: {
  126:     return -EINVAL;
  127: }
  128: 
  129: void kvm_remove_all_breakpoints(CPUState *current_env)
  130: {
  131: }
  132: 
  133: #ifndef _WIN32
  134: int kvm_set_signal_mask(CPUState *env, const sigset_t *sigset)
  135: {
  136:     abort();
  137: }
  138: #endif
  139: 
  140: int kvm_set_ioeventfd_pio_word(int fd, uint16_t addr, uint16_t val, bool assign)
  141: {
  142:     return -ENOSYS;
  143: }
  144: 
  145: int kvm_set_ioeventfd_mmio_long(int fd, uint32_t adr, uint32_t val, bool assign)
  146: {
  147:     return -ENOSYS;
  148: }
  149: 
  150: int kvm_on_sigbus(int code, void *addr)
  151: {
  152:     return 1;
  153: }

unix.superglobalmegacorp.com