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 01 of 27] Move kvm_context to kvmctl.h
Date: Wed, 31 Oct 2007 12:05:06 -0500 [thread overview]
Message-ID: <19a7c6d2ddfd1383aeb8.1193850306@thinkpad> (raw)
In-Reply-To: <patchbomb.1193850305@thinkpad>
# HG changeset patch
# User Jerone Young <jyoung5-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
# Date 1193849563 18000
# Node ID 19a7c6d2ddfd1383aeb8a9bc09d9fe0673e7f9cc
# Parent c3d6e1e2b8a0368485badcde0e55a82d9b1897d1
Move kvm_context to kvmctl.h
This patch moves kvm_context from kvmctl.c to kvmctl.h. This is so
other files are able to see members of kvm_context. Also you should
allways declare stuff like this in a header anyway. Also moved are
delcrations MAX_VCPU & KVM_MAX_NUM_MEM_REGIONS to kvmctl-x86.h. As these
are closely associated with the architecture.
Signed-off-by: Jerone Young <jyoung5-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
diff --git a/libkvm/Makefile b/libkvm/Makefile
--- a/libkvm/Makefile
+++ b/libkvm/Makefile
@@ -21,7 +21,7 @@ autodepend-flags = -MMD -MF $(dir $*).$(
all: libkvm.a
-libkvm.a: libkvm.o
+libkvm.a: libkvm.o $(libkvm-$(ARCH)-objs)
$(AR) rcs $@ $^
install:
diff --git a/libkvm/config-i386.mak b/libkvm/config-i386.mak
--- a/libkvm/config-i386.mak
+++ b/libkvm/config-i386.mak
@@ -1,2 +1,3 @@
+libkvm-$(ARCH)-objs := libkvm-x86.o
LIBDIR := /lib
diff --git a/libkvm/libkvm-x86.h b/libkvm/libkvm-x86.h
new file mode 100644
--- /dev/null
+++ b/libkvm/libkvm-x86.h
@@ -0,0 +1,7 @@
+#ifndef KVMCTL_X86_H
+#define KVMCTL_X86_H
+
+#define KVM_MAX_NUM_MEM_REGIONS 8u
+#define MAX_VCPUS 4
+
+#endif
diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c
--- a/libkvm/libkvm.c
+++ b/libkvm/libkvm.c
@@ -44,36 +44,8 @@ static int kvm_abi = EXPECTED_KVM_API_VE
/* FIXME: share this number with kvm */
/* FIXME: or dynamically alloc/realloc regions */
-#define KVM_MAX_NUM_MEM_REGIONS 8u
int free_slots[KVM_MAX_NUM_MEM_REGIONS];
unsigned long phys_addr_slots[KVM_MAX_NUM_MEM_REGIONS];
-#define MAX_VCPUS 4
-
-/**
- * \brief The KVM context
- *
- * The verbose KVM context
- */
-struct kvm_context {
- /// Filedescriptor to /dev/kvm
- int fd;
- int vm_fd;
- int vcpu_fd[MAX_VCPUS];
- struct kvm_run *run[MAX_VCPUS];
- /// Callbacks that KVM uses to emulate various unvirtualizable functionality
- struct kvm_callbacks *callbacks;
- void *opaque;
- /// A pointer to the memory used as the physical memory for the guest
- void *physical_memory;
- /// is dirty pages logging enabled for all regions or not
- int dirty_pages_log_all;
- /// memory regions parameters
- struct kvm_memory_region mem_regions[KVM_MAX_NUM_MEM_REGIONS];
- /// do not create in-kernel irqchip if set
- int no_irqchip_creation;
- /// in-kernel irqchip status
- int irqchip_in_kernel;
-};
static void init_slots()
{
diff --git a/libkvm/libkvm.h b/libkvm/libkvm.h
--- a/libkvm/libkvm.h
+++ b/libkvm/libkvm.h
@@ -1,4 +1,4 @@
-/** \file kvmctl.h
+/** \file libkvm.h
* libkvm API
*/
@@ -26,6 +26,40 @@ struct kvm_context;
struct kvm_context;
typedef struct kvm_context *kvm_context_t;
+
+/* Add info from arch specific header */
+#if defined(__x86_64__) || defined(__i386__)
+#include "libkvm-x86.h"
+#endif
+
+
+/**
+ * \brief The KVM context
+ *
+ * The verbose KVM context
+ */
+
+struct kvm_context {
+ /// Filedescriptor to /dev/kvm
+ int fd;
+ int vm_fd;
+ int vcpu_fd[MAX_VCPUS];
+ struct kvm_run *run[MAX_VCPUS];
+ /// Callbacks that KVM uses to emulate various unvirtualizable functionality
+ struct kvm_callbacks *callbacks;
+ void *opaque;
+ /// A pointer to the memory used as the physical memory for the guest
+ void *physical_memory;
+ /// is dirty pages logging enabled for all regions or not
+ int dirty_pages_log_all;
+ /// memory regions parameters
+ struct kvm_memory_region mem_regions[KVM_MAX_NUM_MEM_REGIONS];
+ /// do not create in-kernel irqchip if set
+ int no_irqchip_creation;
+ /// in-kernel irqchip status
+ int irqchip_in_kernel;
+};
+
/*!
* \brief KVM callbacks structure
-------------------------------------------------------------------------
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-10-31 17:05 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-31 17:05 [PATCH 00 of 27] Refactor libkvm code Phase 1 Jerone Young
2007-10-31 17:05 ` Jerone Young [this message]
2007-10-31 17:37 ` [PATCH 01 of 27] Move kvm_context to kvmctl.h Hollis Blanchard
2007-10-31 18:48 ` Jerone Young
2007-10-31 22:33 ` Avi Kivity
2007-10-31 17:05 ` [PATCH 02 of 27] Make static slot & kvm_memory region funcions public Jerone Young
2007-11-01 12:41 ` Avi Kivity
2007-10-31 17:05 ` [PATCH 03 of 27] Move fuction kvm_alloc_kernel_memory to kvmctl-x86.c Jerone Young
2007-10-31 17:05 ` [PATCH 04 of 27] Move kvm_alloc_userspace_memory " Jerone Young
2007-10-31 17:05 ` [PATCH 05 of 27] Move kvm_set_tss_addr " Jerone Young
2007-10-31 17:05 ` [PATCH 06 of 27] imported patch move_kvm_set_init_tss Jerone Young
2007-10-31 17:05 ` [PATCH 07 of 27] Move function kvm_create_default_phys_mem to kvmctl-x86 and rename Jerone Young
2007-11-01 12:44 ` Avi Kivity
2007-10-31 17:05 ` [PATCH 08 of 27] Modify out arch specific code from kvm_create function Jerone Young
2007-11-01 12:45 ` Avi Kivity
2007-10-31 17:05 ` [PATCH 09 of 27] Move kvm_create_kernel_phys_mem to kvmctl-x86.c Jerone Young
2007-10-31 17:05 ` [PATCH 10 of 27] Move kvm_create_phys_mem " Jerone Young
2007-10-31 17:05 ` [PATCH 11 of 27] Move kvm_destroy_phys_mem " Jerone Young
2007-10-31 21:11 ` Izik Eidus
2007-10-31 17:05 ` [PATCH 12 of 27] Move kvm_create_memory_alias & kvm_destroy_memory_alias " Jerone Young
2007-10-31 17:05 ` [PATCH 13 of 27] Move kvm_get & kmv_set_lapci functions " Jerone Young
2007-10-31 17:05 ` [PATCH 14 of 27] Make functions in kvmctl.c nonstatic Jerone Young
2007-10-31 17:05 ` [PATCH 15 of 27] Move handle_io_abi_10 to kvmctl-x86.c Jerone Young
2007-10-31 17:05 ` [PATCH 16 of 27] Move handle_mmio_abi10 " Jerone Young
2007-10-31 17:05 ` [PATCH 17 of 27] Move kvm_run_abi10 " Jerone Young
2007-10-31 17:05 ` [PATCH 18 of 27] Change name of post_kvm_run & pre_kvm_run in kvmctl.c Jerone Young
2007-10-31 17:05 ` [PATCH 19 of 27] Move msrs functions to kvmctl-x86.c Jerone Young
2007-10-31 17:05 ` [PATCH 20 of 27] Move print_seg " Jerone Young
2007-10-31 17:05 ` [PATCH 21 of 27] Move kvm_show_regs " Jerone Young
2007-10-31 17:05 ` [PATCH 22 of 27] Declare kvm_abi as a global variable in kvmctl.h Jerone Young
2007-10-31 17:05 ` [PATCH 23 of 27] Move kvm_get_apic to kvmctl-x86.c Jerone Young
2007-10-31 17:05 ` [PATCH 24 of 27] Move cr8 functions " Jerone Young
2007-10-31 17:05 ` [PATCH 25 of 27] Move kvm_setup_cpuid " Jerone Young
2007-10-31 17:05 ` [PATCH 26 of 27] Move kvm_show_code " Jerone Young
2007-10-31 17:05 ` [PATCH 27 of 27] Remove unsued inclusion of linux/kvm_parah.h in userspace kvmctl.h Jerone Young
2007-11-01 12:52 ` [PATCH 00 of 27] Refactor libkvm code Phase 1 Avi Kivity
2007-11-02 5:26 ` Zhang, Xiantao
[not found] ` <42DFA526FC41B1429CE7279EF83C6BDC9040D8-wq7ZOvIWXbMAbVU2wMM1CrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-11-02 7:49 ` Jerone Young
2007-11-02 19:41 ` [kvm-ppc-devel] " Hollis Blanchard
2007-11-04 7:40 ` Avi Kivity
[not found] ` <472D7772.9070907-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-11-05 1:13 ` Zhang, Xiantao
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=19a7c6d2ddfd1383aeb8.1193850306@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