From: Jerone Young <jyoung5-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
To: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Cc: kvm-ppc-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: [PATCH 13 of 19] Move msrs functions to libkvm-x86.c
Date: Fri, 02 Nov 2007 13:25:02 -0500 [thread overview]
Message-ID: <5bb5ef1b7faa8c11677b.1194027902@thinkpad> (raw)
In-Reply-To: <patchbomb.1194027889@thinkpad>
# HG changeset patch
# User Jerone Young <jyoung5-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
# Date 1194027873 18000
# Node ID 5bb5ef1b7faa8c11677b73fedbe089d0926ca4e9
# Parent 0ade452df6c708a2b44696a23e733d59c8906aea
Move msrs functions to libkvm-x86.c
This patch moves functions:
kvm_msr_list
move kvm_get_msrs
move kvm_set_msrs
Signed-off-by: Jerone Young <jyoung5-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
diff --git a/libkvm/kvm-x86.h b/libkvm/kvm-x86.h
--- a/libkvm/kvm-x86.h
+++ b/libkvm/kvm-x86.h
@@ -42,4 +42,8 @@ int kvm_run_abi10(kvm_context_t kvm, int
void kvm_show_code(kvm_context_t kvm, int vcpu);
+struct kvm_msr_list *kvm_get_msr_list(kvm_context_t);
+int kvm_get_msrs(kvm_context_t, int vcpu, struct kvm_msr_entry *msrs, int n);
+int kvm_set_msrs(kvm_context_t, int vcpu, struct kvm_msr_entry *msrs, int n);
+
#endif
diff --git a/libkvm/libkvm-x86.c b/libkvm/libkvm-x86.c
--- a/libkvm/libkvm-x86.c
+++ b/libkvm/libkvm-x86.c
@@ -630,3 +630,71 @@ void kvm_show_code(kvm_context_t kvm, in
fprintf(stderr, "code:%s\n", code_str);
}
+
+/*
+ * Returns available msr list. User must free.
+ */
+struct kvm_msr_list *kvm_get_msr_list(kvm_context_t kvm)
+{
+ struct kvm_msr_list sizer, *msrs;
+ int r, e;
+
+ sizer.nmsrs = 0;
+ r = ioctl(kvm->fd, KVM_GET_MSR_INDEX_LIST, &sizer);
+ if (r == -1 && errno != E2BIG)
+ return NULL;
+ msrs = malloc(sizeof *msrs + sizer.nmsrs * sizeof *msrs->indices);
+ if (!msrs) {
+ errno = ENOMEM;
+ return NULL;
+ }
+ msrs->nmsrs = sizer.nmsrs;
+ r = ioctl(kvm->fd, KVM_GET_MSR_INDEX_LIST, msrs);
+ if (r == -1) {
+ e = errno;
+ free(msrs);
+ errno = e;
+ return NULL;
+ }
+ return msrs;
+}
+
+int kvm_get_msrs(kvm_context_t kvm, int vcpu, struct kvm_msr_entry *msrs,
+ int n)
+{
+ struct kvm_msrs *kmsrs = malloc(sizeof *kmsrs + n * sizeof *msrs);
+ int r, e;
+
+ if (!kmsrs) {
+ errno = ENOMEM;
+ return -1;
+ }
+ kmsrs->nmsrs = n;
+ memcpy(kmsrs->entries, msrs, n * sizeof *msrs);
+ r = ioctl(kvm->vcpu_fd[vcpu], KVM_GET_MSRS, kmsrs);
+ e = errno;
+ memcpy(msrs, kmsrs->entries, n * sizeof *msrs);
+ free(kmsrs);
+ errno = e;
+ return r;
+}
+
+int kvm_set_msrs(kvm_context_t kvm, int vcpu, struct kvm_msr_entry *msrs,
+ int n)
+{
+ struct kvm_msrs *kmsrs = malloc(sizeof *kmsrs + n * sizeof *msrs);
+ int r, e;
+
+ if (!kmsrs) {
+ errno = ENOMEM;
+ return -1;
+ }
+ kmsrs->nmsrs = n;
+ memcpy(kmsrs->entries, msrs, n * sizeof *msrs);
+ r = ioctl(kvm->vcpu_fd[vcpu], KVM_SET_MSRS, kmsrs);
+ e = errno;
+ free(kmsrs);
+ errno = e;
+ return r;
+}
+
diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c
--- a/libkvm/libkvm.c
+++ b/libkvm/libkvm.c
@@ -635,73 +635,6 @@ int kvm_set_sregs(kvm_context_t kvm, int
return ioctl(kvm->vcpu_fd[vcpu], KVM_SET_SREGS, sregs);
}
-/*
- * Returns available msr list. User must free.
- */
-struct kvm_msr_list *kvm_get_msr_list(kvm_context_t kvm)
-{
- struct kvm_msr_list sizer, *msrs;
- int r, e;
-
- sizer.nmsrs = 0;
- r = ioctl(kvm->fd, KVM_GET_MSR_INDEX_LIST, &sizer);
- if (r == -1 && errno != E2BIG)
- return NULL;
- msrs = malloc(sizeof *msrs + sizer.nmsrs * sizeof *msrs->indices);
- if (!msrs) {
- errno = ENOMEM;
- return NULL;
- }
- msrs->nmsrs = sizer.nmsrs;
- r = ioctl(kvm->fd, KVM_GET_MSR_INDEX_LIST, msrs);
- if (r == -1) {
- e = errno;
- free(msrs);
- errno = e;
- return NULL;
- }
- return msrs;
-}
-
-int kvm_get_msrs(kvm_context_t kvm, int vcpu, struct kvm_msr_entry *msrs,
- int n)
-{
- struct kvm_msrs *kmsrs = malloc(sizeof *kmsrs + n * sizeof *msrs);
- int r, e;
-
- if (!kmsrs) {
- errno = ENOMEM;
- return -1;
- }
- kmsrs->nmsrs = n;
- memcpy(kmsrs->entries, msrs, n * sizeof *msrs);
- r = ioctl(kvm->vcpu_fd[vcpu], KVM_GET_MSRS, kmsrs);
- e = errno;
- memcpy(msrs, kmsrs->entries, n * sizeof *msrs);
- free(kmsrs);
- errno = e;
- return r;
-}
-
-int kvm_set_msrs(kvm_context_t kvm, int vcpu, struct kvm_msr_entry *msrs,
- int n)
-{
- struct kvm_msrs *kmsrs = malloc(sizeof *kmsrs + n * sizeof *msrs);
- int r, e;
-
- if (!kmsrs) {
- errno = ENOMEM;
- return -1;
- }
- kmsrs->nmsrs = n;
- memcpy(kmsrs->entries, msrs, n * sizeof *msrs);
- r = ioctl(kvm->vcpu_fd[vcpu], KVM_SET_MSRS, kmsrs);
- e = errno;
- free(kmsrs);
- errno = e;
- return r;
-}
-
static void print_seg(FILE *file, const char *name, struct kvm_segment *seg)
{
fprintf(stderr,
diff --git a/libkvm/libkvm.h b/libkvm/libkvm.h
--- a/libkvm/libkvm.h
+++ b/libkvm/libkvm.h
@@ -340,10 +340,6 @@ int kvm_get_sregs(kvm_context_t kvm, int
*/
int kvm_set_sregs(kvm_context_t kvm, int vcpu, struct kvm_sregs *regs);
-struct kvm_msr_list *kvm_get_msr_list(kvm_context_t);
-int kvm_get_msrs(kvm_context_t, int vcpu, struct kvm_msr_entry *msrs, int n);
-int kvm_set_msrs(kvm_context_t, int vcpu, struct kvm_msr_entry *msrs, int n);
-
/*!
* \brief Simulate an external vectored interrupt
*
-------------------------------------------------------------------------
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/
next prev parent reply other threads:[~2007-11-02 18:25 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-02 18:24 [PATCH 00 of 19] [v3] Refactor libkvm Jerone Young
2007-11-02 18:24 ` [PATCH 01 of 19] Move kvm_context to kvmctl.h Jerone Young
2007-11-02 19:34 ` [kvm-ppc-devel] " Hollis Blanchard
2007-11-02 19:48 ` Jerone Young
2007-11-04 7:20 ` Avi Kivity
[not found] ` <472D72D8.5010704-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-05 20:24 ` Jerone Young
2007-11-04 7:22 ` Avi Kivity
2007-11-02 18:24 ` [PATCH 02 of 19] Make static slot & kvm_memory region funcions public Jerone Young
2007-11-02 19:36 ` [kvm-ppc-devel] " Hollis Blanchard
2007-11-02 18:24 ` [PATCH 03 of 19] Move fuction kvm_alloc_kernel_memory to libkvm-x86.c Jerone Young
2007-11-02 18:24 ` [PATCH 04 of 19] Move kvm_alloc_userspace_memory " Jerone Young
2007-11-02 18:24 ` [PATCH 05 of 19] Modify out arch specific code from kvm_create function Jerone Young
2007-11-02 18:24 ` [PATCH 06 of 19] Move kvm_create_kernel_phys_mem to libkvm-x86.c Jerone Young
2007-11-02 18:24 ` [PATCH 07 of 19] Move kvm_create_phys_mem " Jerone Young
2007-11-04 7:29 ` Avi Kivity
[not found] ` <472D74CB.8050602-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-05 21:15 ` Jerone Young
2007-11-06 1:06 ` [PATCH 07 of 19] Movekvm_create_phys_mem " Zhang, Xiantao
2007-11-06 9:10 ` [PATCH 07 of 19] Move kvm_create_phys_mem " Avi Kivity
2007-11-02 18:24 ` [PATCH 08 of 19] Move kvm_destroy_phys_mem " Jerone Young
2007-11-04 7:30 ` Avi Kivity
2007-11-02 18:24 ` [PATCH 09 of 19] Move kvm_create_memory_alias & kvm_destroy_memory_alias " Jerone Young
2007-11-02 18:24 ` [PATCH 10 of 19] Move kvm_get & kmv_set_lapci functions " Jerone Young
2007-11-02 18:25 ` [PATCH 11 of 19] Make functions in libkvm.c nonstatic Jerone Young
2007-11-04 7:32 ` Avi Kivity
2007-11-02 18:25 ` [PATCH 12 of 19] Move abi 10 functions to libkvm-x86.c Jerone Young
2007-11-02 18:25 ` Jerone Young [this message]
2007-11-02 18:25 ` [PATCH 14 of 19] Move print_seg & Move kvm_show_regs to kvmctl-x86.c Jerone Young
2007-11-02 18:25 ` [PATCH 15 of 19] Declare kvm_abi as a global variable in libkvm.h Jerone Young
2007-11-04 7:34 ` Avi Kivity
[not found] ` <472D75E9.6010409-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-05 22:10 ` Jerone Young
2007-11-06 9:11 ` Avi Kivity
2007-11-02 18:25 ` [PATCH 16 of 19] Move kvm_get_apic to libkvm-x86.c Jerone Young
2007-11-02 18:25 ` [PATCH 17 of 19] Move cr8 functions " Jerone Young
2007-11-02 19:46 ` [kvm-ppc-devel] " Hollis Blanchard
2007-11-02 18:25 ` [PATCH 18 of 19] Move kvm_setup_cpuid " Jerone Young
2007-11-02 19:47 ` [kvm-ppc-devel] " Hollis Blanchard
2007-11-02 18:25 ` [PATCH 19 of 19] Remove unsued inclusion of linux/kvm_parah.h in userspace libkvm.h Jerone Young
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5bb5ef1b7faa8c11677b.1194027902@thinkpad \
--to=jyoung5-r/jw6+rmf7hqt0dzr+alfa@public.gmane.org \
--cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=kvm-ppc-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox