repository: /home/avi/kvm
branch: (no branch)
commit f6b04d8fbbd8e1bd8d6ef80c868d817ff4929af2
Author: Jerone Young <[EMAIL PROTECTED]>
Date:   Tue Nov 6 10:48:53 2007 -0600

    kvm: libkvm: move print_seg & Move kvm_show_regs to libkvm-x86.c
    
    This patch moves functions print_seg, kvm_show_regs, & print_dt
    to libkvm-x86.c. Since kvm_show_regs really has little
    to no shared code (besides an ioctl call and variable
    declarations), it is best that this be moved into
    arch specific code.
    
    Signed-off-by: Jerone Young <[EMAIL PROTECTED]>
    Signed-off-by: Avi Kivity <[EMAIL PROTECTED]>

diff --git a/libkvm/libkvm-x86.c b/libkvm/libkvm-x86.c
index b9ff47d..29822b1 100644
--- a/libkvm/libkvm-x86.c
+++ b/libkvm/libkvm-x86.c
@@ -644,3 +644,63 @@ int kvm_set_msrs(kvm_context_t kvm, int vcpu, struct 
kvm_msr_entry *msrs,
     return r;
 }
 
+static void print_seg(FILE *file, const char *name, struct kvm_segment *seg)
+{
+       fprintf(stderr,
+               "%s %04x (%08llx/%08x p %d dpl %d db %d s %d type %x l %d"
+               " g %d avl %d)\n",
+               name, seg->selector, seg->base, seg->limit, seg->present,
+               seg->dpl, seg->db, seg->s, seg->type, seg->l, seg->g,
+               seg->avl);
+}
+
+static void print_dt(FILE *file, const char *name, struct kvm_dtable *dt)
+{
+       fprintf(stderr, "%s %llx/%x\n", name, dt->base, dt->limit);
+}
+
+void kvm_show_regs(kvm_context_t kvm, int vcpu)
+{
+       int fd = kvm->vcpu_fd[vcpu];
+       struct kvm_regs regs;
+       struct kvm_sregs sregs;
+       int r;
+
+       r = ioctl(fd, KVM_GET_REGS, &regs);
+       if (r == -1) {
+               perror("KVM_GET_REGS");
+               return;
+       }
+       fprintf(stderr,
+               "rax %016llx rbx %016llx rcx %016llx rdx %016llx\n"
+               "rsi %016llx rdi %016llx rsp %016llx rbp %016llx\n"
+               "r8  %016llx r9  %016llx r10 %016llx r11 %016llx\n"
+               "r12 %016llx r13 %016llx r14 %016llx r15 %016llx\n"
+               "rip %016llx rflags %08llx\n",
+               regs.rax, regs.rbx, regs.rcx, regs.rdx,
+               regs.rsi, regs.rdi, regs.rsp, regs.rbp,
+               regs.r8,  regs.r9,  regs.r10, regs.r11,
+               regs.r12, regs.r13, regs.r14, regs.r15,
+               regs.rip, regs.rflags);
+       r = ioctl(fd, KVM_GET_SREGS, &sregs);
+       if (r == -1) {
+               perror("KVM_GET_SREGS");
+               return;
+       }
+       print_seg(stderr, "cs", &sregs.cs);
+       print_seg(stderr, "ds", &sregs.ds);
+       print_seg(stderr, "es", &sregs.es);
+       print_seg(stderr, "ss", &sregs.ss);
+       print_seg(stderr, "fs", &sregs.fs);
+       print_seg(stderr, "gs", &sregs.gs);
+       print_seg(stderr, "tr", &sregs.tr);
+       print_seg(stderr, "ldt", &sregs.ldt);
+       print_dt(stderr, "gdt", &sregs.gdt);
+       print_dt(stderr, "idt", &sregs.idt);
+       fprintf(stderr, "cr0 %llx cr2 %llx cr3 %llx cr4 %llx cr8 %llx"
+               " efer %llx\n",
+               sregs.cr0, sregs.cr2, sregs.cr3, sregs.cr4, sregs.cr8,
+               sregs.efer);
+}
+
+
diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c
index e6a5f05..f79aedf 100644
--- a/libkvm/libkvm.c
+++ b/libkvm/libkvm.c
@@ -703,65 +703,6 @@ int kvm_set_sregs(kvm_context_t kvm, int vcpu, struct 
kvm_sregs *sregs)
     return ioctl(kvm->vcpu_fd[vcpu], KVM_SET_SREGS, sregs);
 }
 
-static void print_seg(FILE *file, const char *name, struct kvm_segment *seg)
-{
-       fprintf(stderr,
-               "%s %04x (%08llx/%08x p %d dpl %d db %d s %d type %x l %d"
-               " g %d avl %d)\n",
-               name, seg->selector, seg->base, seg->limit, seg->present,
-               seg->dpl, seg->db, seg->s, seg->type, seg->l, seg->g,
-               seg->avl);
-}
-
-static void print_dt(FILE *file, const char *name, struct kvm_dtable *dt)
-{
-       fprintf(stderr, "%s %llx/%x\n", name, dt->base, dt->limit);
-}
-
-void kvm_show_regs(kvm_context_t kvm, int vcpu)
-{
-       int fd = kvm->vcpu_fd[vcpu];
-       struct kvm_regs regs;
-       struct kvm_sregs sregs;
-       int r;
-
-       r = ioctl(fd, KVM_GET_REGS, &regs);
-       if (r == -1) {
-               perror("KVM_GET_REGS");
-               return;
-       }
-       fprintf(stderr,
-               "rax %016llx rbx %016llx rcx %016llx rdx %016llx\n"
-               "rsi %016llx rdi %016llx rsp %016llx rbp %016llx\n"
-               "r8  %016llx r9  %016llx r10 %016llx r11 %016llx\n"
-               "r12 %016llx r13 %016llx r14 %016llx r15 %016llx\n"
-               "rip %016llx rflags %08llx\n",
-               regs.rax, regs.rbx, regs.rcx, regs.rdx,
-               regs.rsi, regs.rdi, regs.rsp, regs.rbp,
-               regs.r8,  regs.r9,  regs.r10, regs.r11,
-               regs.r12, regs.r13, regs.r14, regs.r15,
-               regs.rip, regs.rflags);
-       r = ioctl(fd, KVM_GET_SREGS, &sregs);
-       if (r == -1) {
-               perror("KVM_GET_SREGS");
-               return;
-       }
-       print_seg(stderr, "cs", &sregs.cs);
-       print_seg(stderr, "ds", &sregs.ds);
-       print_seg(stderr, "es", &sregs.es);
-       print_seg(stderr, "ss", &sregs.ss);
-       print_seg(stderr, "fs", &sregs.fs);
-       print_seg(stderr, "gs", &sregs.gs);
-       print_seg(stderr, "tr", &sregs.tr);
-       print_seg(stderr, "ldt", &sregs.ldt);
-       print_dt(stderr, "gdt", &sregs.gdt);
-       print_dt(stderr, "idt", &sregs.idt);
-       fprintf(stderr, "cr0 %llx cr2 %llx cr3 %llx cr4 %llx cr8 %llx"
-               " efer %llx\n",
-               sregs.cr0, sregs.cr2, sregs.cr3, sregs.cr4, sregs.cr8,
-               sregs.efer);
-}
-
 static int handle_mmio(kvm_context_t kvm, struct kvm_run *kvm_run)
 {
        unsigned long addr = kvm_run->mmio.phys_addr;

-------------------------------------------------------------------------
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-commits mailing list
kvm-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-commits

Reply via email to