I'll wait awhile before sending another super patch bomb to the list.
Perhaps I can add these changes afterward if need be.

Actually do need the conf-*.mak changes. Otherwise if you compile libkvm
on it's own you don't get the CFLAGS. Now the way it really should be is
that those config-*.mak files shouldn't be there and the ones used
should be those in the "user" directory. I was planning to send a patch
for this after these patches got in.


On Fri, 2007-11-02 at 14:34 -0500, Hollis Blanchard wrote:
> * Remove the config-*.mak changes
>       * Update the patch description
>       * Supply a copyright notice in all new files
> 
> -- 
> Hollis Blanchard
> IBM Linux Technology Center
> 
> On Fri, 2007-11-02 at 13:24 -0500, Jerone Young wrote:
> > # HG changeset patch
> > # User Jerone Young <[EMAIL PROTECTED]>
> > # Date 1194027872 18000
> > # Node ID 72c2d9f9786aea122419208189291808d56b8053
> > # Parent  6ce27ddeb45df182e923060ae3abe699ce704ca3
> > Move kvm_context to kvmctl.h
> > 
> > This patch moves kvm_context from libkvm.c to kvm-context.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, PAGE_SIZE & PAGE_MASK
> > to kvm-x86.h.
> > 
> > The idea here is kvm-$(ARCH).h will be headers for interal use by
> > libkvm. Headers name libkvm-$(ARCH) will be functions that are
> > arch specific that will be exposed to a user.
> > 
> > Signed-off-by: Jerone Young <[EMAIL PROTECTED]>
> > 
> > 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,4 @@
> > 
> >  LIBDIR := /lib
> > +CFLAGS += -m32
> > +CFLAGS += -D__i386__
> > diff --git a/libkvm/config-x86_64.mak b/libkvm/config-x86_64.mak
> > --- a/libkvm/config-x86_64.mak
> > +++ b/libkvm/config-x86_64.mak
> > @@ -1,2 +1,4 @@
> > 
> >  LIBDIR := /lib64
> > +CFLAGS += -m64
> > +CFLAGS += -D__x86_64__
> > diff --git a/libkvm/kvm-common.h b/libkvm/kvm-common.h
> > new file mode 100644
> > --- /dev/null
> > +++ b/libkvm/kvm-common.h
> > @@ -0,0 +1,37 @@
> > +#ifndef KVM_COMMON_H
> > +#define KVM_COMMON_H
> > +
> > +/* FIXME: share this number with kvm */
> > +/* FIXME: or dynamically alloc/realloc regions */
> > +#define KVM_MAX_NUM_MEM_REGIONS 8u
> > +#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;
> > +};
> > +
> > +#endif
> > diff --git a/libkvm/kvm-x86.h b/libkvm/kvm-x86.h
> > new file mode 100644
> > --- /dev/null
> > +++ b/libkvm/kvm-x86.h
> > @@ -0,0 +1,14 @@
> > +/* This header is for functions & variables that will ONLY be
> > + * used inside libkvm for x86. 
> > + * THESE ARE NOT EXPOSED TO THE USER AND ARE ONLY FOR USE 
> > + * WITHIN LIBKVM.
> > + */
> > +#ifndef KVM_X86_H
> > +#define KVM_X86_H
> > +
> > +#include "kvm-common.h"
> > +
> > +#define PAGE_SIZE 4096ul
> > +#define PAGE_MASK (~(PAGE_SIZE - 1))
> > +
> > +#endif
> > diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c
> > --- a/libkvm/libkvm.c
> > +++ b/libkvm/libkvm.c
> > @@ -37,43 +37,14 @@
> >  #include "libkvm.h"
> >  #include "kvm-abi-10.h"
> > 
> > +#if defined(__x86_64__) || defined(__i386__)
> > +#include "kvm-x86.h"
> > +#endif
> > +
> >  static int kvm_abi = EXPECTED_KVM_API_VERSION;
> > 
> > -#define PAGE_SIZE 4096ul
> > -#define PAGE_MASK (~(PAGE_SIZE - 1))
> > -
> > -/* 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
> >   */
> > 
> > 
> > -------------------------------------------------------------------------
> > 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-ppc-devel mailing list
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/kvm-ppc-devel
> 
> 
> -------------------------------------------------------------------------
> 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


-------------------------------------------------------------------------
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