# HG changeset patch
# User Jerone Young <[EMAIL PROTECTED]>
# Date 1193849564 18000
# Node ID 278fbab64f4b40dd4c40a7b07cb92e9b19aedd71
# Parent  a694904630e6805dfe51f4eed16e18b7ac2ed504
Move kvm_run_abi10 to kvmctl-x86.c

Signed-off-by: Jerone Young <[EMAIL PROTECTED]>

diff --git a/libkvm/libkvm-x86.c b/libkvm/libkvm-x86.c
--- a/libkvm/libkvm-x86.c
+++ b/libkvm/libkvm-x86.c
@@ -510,3 +510,79 @@ static int handle_mmio_abi10(kvm_context
        return r;
 }
 
+int kvm_run_abi10(kvm_context_t kvm, int vcpu)
+{
+       int r;
+       int fd = kvm->vcpu_fd[vcpu];
+       struct kvm_run_abi10 *run = (struct kvm_run_abi10 *)kvm->run[vcpu];
+
+again:
+       run->request_interrupt_window = try_push_interrupts(kvm);
+       r = pre_kvm_run(kvm, vcpu);
+       if (r)
+           return r;
+       r = ioctl(fd, KVM_RUN, 0);
+       post_kvm_run(kvm, vcpu);
+
+       run->io_completed = 0;
+       if (r == -1 && errno != EINTR) {
+               r = -errno;
+               printf("kvm_run: %m\n");
+               return r;
+       }
+       if (r == -1) {
+               r = handle_io_window(kvm);
+               goto more;
+       }
+       if (1) {
+               switch (run->exit_reason) {
+               case KVM_EXIT_UNKNOWN:
+                       fprintf(stderr, "unhandled vm exit: 0x%x vcpu_id %d\n",
+                               (unsigned)run->hw.hardware_exit_reason, vcpu);
+                       kvm_show_regs(kvm, vcpu);
+                       abort();
+                       break;
+               case KVM_EXIT_FAIL_ENTRY:
+                       fprintf(stderr, "kvm_run: failed entry, reason %u\n", 
+                               
(unsigned)run->fail_entry.hardware_entry_failure_reason & 0xffff);
+                       return -ENOEXEC;
+                       break;
+               case KVM_EXIT_EXCEPTION:
+                       fprintf(stderr, "exception %d (%x)\n", 
+                              run->ex.exception,
+                              run->ex.error_code);
+                       kvm_show_regs(kvm, vcpu);
+                       kvm_show_code(kvm, vcpu);
+                       abort();
+                       break;
+               case KVM_EXIT_IO:
+                       r = handle_io_abi10(kvm, run, vcpu);
+                       break;
+               case KVM_EXIT_DEBUG:
+                       r = handle_debug(kvm, vcpu);
+                       break;
+               case KVM_EXIT_MMIO:
+                       r = handle_mmio_abi10(kvm, run);
+                       break;
+               case KVM_EXIT_HLT:
+                       r = handle_halt(kvm, vcpu);
+                       break;
+               case KVM_EXIT_IRQ_WINDOW_OPEN:
+                       break;
+               case KVM_EXIT_SHUTDOWN:
+                       r = handle_shutdown(kvm, vcpu);
+                       break;
+               default:
+                       fprintf(stderr, "unhandled vm exit: 0x%x\n", 
run->exit_reason);
+                       kvm_show_regs(kvm, vcpu);
+                       abort();
+                       break;
+               }
+       }
+more:
+       if (!r)
+               goto again;
+       return r;
+}
+
+
diff --git a/libkvm/libkvm-x86.h b/libkvm/libkvm-x86.h
--- a/libkvm/libkvm-x86.h
+++ b/libkvm/libkvm-x86.h
@@ -56,4 +56,6 @@ int kvm_set_lapic(kvm_context_t kvm, int
 int kvm_set_lapic(kvm_context_t kvm, int vcpu, struct kvm_lapic_state *s);
 #endif
 
+int kvm_run_abi10(kvm_context_t kvm, int vcpu);
+
 #endif
diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c
--- a/libkvm/libkvm.c
+++ b/libkvm/libkvm.c
@@ -911,81 +911,6 @@ __u64 kvm_get_cr8(kvm_context_t kvm, int
        return kvm->run[vcpu]->cr8;
 }
 
-static int kvm_run_abi10(kvm_context_t kvm, int vcpu)
-{
-       int r;
-       int fd = kvm->vcpu_fd[vcpu];
-       struct kvm_run_abi10 *run = (struct kvm_run_abi10 *)kvm->run[vcpu];
-
-again:
-       run->request_interrupt_window = try_push_interrupts(kvm);
-       r = pre_kvm_run(kvm, vcpu);
-       if (r)
-           return r;
-       r = ioctl(fd, KVM_RUN, 0);
-       post_kvm_run(kvm, vcpu);
-
-       run->io_completed = 0;
-       if (r == -1 && errno != EINTR) {
-               r = -errno;
-               printf("kvm_run: %m\n");
-               return r;
-       }
-       if (r == -1) {
-               r = handle_io_window(kvm);
-               goto more;
-       }
-       if (1) {
-               switch (run->exit_reason) {
-               case KVM_EXIT_UNKNOWN:
-                       fprintf(stderr, "unhandled vm exit: 0x%x vcpu_id %d\n",
-                               (unsigned)run->hw.hardware_exit_reason, vcpu);
-                       kvm_show_regs(kvm, vcpu);
-                       abort();
-                       break;
-               case KVM_EXIT_FAIL_ENTRY:
-                       fprintf(stderr, "kvm_run: failed entry, reason %u\n", 
-                               
(unsigned)run->fail_entry.hardware_entry_failure_reason & 0xffff);
-                       return -ENOEXEC;
-                       break;
-               case KVM_EXIT_EXCEPTION:
-                       fprintf(stderr, "exception %d (%x)\n", 
-                              run->ex.exception,
-                              run->ex.error_code);
-                       kvm_show_regs(kvm, vcpu);
-                       kvm_show_code(kvm, vcpu);
-                       abort();
-                       break;
-               case KVM_EXIT_IO:
-                       r = handle_io_abi10(kvm, run, vcpu);
-                       break;
-               case KVM_EXIT_DEBUG:
-                       r = handle_debug(kvm, vcpu);
-                       break;
-               case KVM_EXIT_MMIO:
-                       r = handle_mmio_abi10(kvm, run);
-                       break;
-               case KVM_EXIT_HLT:
-                       r = handle_halt(kvm, vcpu);
-                       break;
-               case KVM_EXIT_IRQ_WINDOW_OPEN:
-                       break;
-               case KVM_EXIT_SHUTDOWN:
-                       r = handle_shutdown(kvm, vcpu);
-                       break;
-               default:
-                       fprintf(stderr, "unhandled vm exit: 0x%x\n", 
run->exit_reason);
-                       kvm_show_regs(kvm, vcpu);
-                       abort();
-                       break;
-               }
-       }
-more:
-       if (!r)
-               goto again;
-       return r;
-}
-
 int kvm_run(kvm_context_t kvm, int vcpu)
 {
        int r;

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to