From: Hollis Blanchard <hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
To: avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org
Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: [PATCH] [RESEND] Move libkvm (v2)
Date: Mon, 29 Oct 2007 23:43:53 -0500 [thread overview]
Message-ID: <45227892356863ce29e9.1193719433@basalt> (raw)
Move libkvm into its own directory. No functional changes.
Signed-off-by: Hollis Blanchard <hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
---
I've build-tested this pretty thoroughly on x86(32).
Changes from v1: update libkvm.h #include guard macro.
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -5,16 +5,17 @@ DESTDIR=
rpmrelease = devel
-.PHONY: kernel user qemu bios clean
+.PHONY: kernel user libkvm qemu bios clean
-all: $(if $(WANT_MODULE), kernel) user qemu
+all: $(if $(WANT_MODULE), kernel) user libkvm qemu
kcmd = $(if $(WANT_MODULE),,@\#)
-qemu kernel user:
+qemu kernel user libkvm:
$(MAKE) -C $@
-qemu: user
+qemu: libkvm
+user: libkvm
bios:
$(MAKE) -C $@
@@ -41,7 +42,7 @@ install-rpm:
install:
$(kcmd)make -C kernel DESTDIR="$(DESTDIR)" install
- make -C user DESTDIR="$(DESTDIR)" install
+ make -C libkvm DESTDIR="$(DESTDIR)" install
make -C qemu DESTDIR="$(DESTDIR)" install
tmpspec = .tmp.kvm.spec
@@ -59,6 +60,7 @@ srpm:
sed 's/^Release:.*/Release: $(rpmrelease)/' kvm.spec > $(tmpspec)
tar czf SOURCES/kvm.tar.gz qemu
tar czf SOURCES/user.tar.gz user
+ tar czf SOURCES/libkvm.tar.gz libkvm
tar czf SOURCES/kernel.tar.gz kernel
tar czf SOURCES/scripts.tar.gz scripts
cp Makefile configure kvm_stat SOURCES
@@ -66,7 +68,7 @@ srpm:
$(RM) $(tmpspec)
clean:
- for i in $(if $(WANT_MODULE), kernel) user qemu; do \
+ for i in $(if $(WANT_MODULE), kernel) user libkvm qemu; do \
make -C $$i clean; \
done
rm -f config.mak user/config.mak
diff --git a/configure b/configure
--- a/configure
+++ b/configure
@@ -108,8 +108,8 @@ fi
#configure qemu
(cd qemu; ./configure --target-list=$target_exec \
- --disable-kqemu --extra-cflags="-I $PWD/../user $qemu_cflags" \
- --extra-ldflags="-L $PWD/../user $qemu_ldflags" \
+ --disable-kqemu --extra-cflags="-I $PWD/../libkvm $qemu_cflags" \
+ --extra-ldflags="-L $PWD/../libkvm $qemu_ldflags" \
--enable-kvm --kernel-path="$libkvm_kerneldir" \
${enable_alsa:+"--enable-alsa"} \
${disable_vnc_tls:+"--disable-vnc-tls"} \
diff --git a/libkvm/Makefile b/libkvm/Makefile
new file mode 100644
--- /dev/null
+++ b/libkvm/Makefile
@@ -0,0 +1,37 @@
+include ../config.mak
+include config-$(ARCH).mak
+
+# cc-option
+# Usage: OP_CFLAGS+=$(call cc-option, -falign-functions=0, -malign-functions=0)
+cc-option = $(shell if $(CC) $(1) -S -o /dev/null -xc /dev/null \
+ > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;)
+
+CFLAGS += $(autodepend-flags) -g -fomit-frame-pointer -Wall
+CFLAGS += $(call cc-option, -fno-stack-protector, "")
+CFLAGS += $(call cc-option, -fno-stack-protector-all, "")
+CFLAGS += -I $(KERNELDIR)/include
+
+LDFLAGS += $(CFLAGS)
+
+CXXFLAGS = $(autodepend-flags)
+
+autodepend-flags = -MMD -MF $(dir $*).$(notdir $*).d
+
+
+all: libkvm.a
+
+libkvm.a: libkvm.o
+ $(AR) rcs $@ $^
+
+install:
+ install -D libkvm.h $(DESTDIR)/$(PREFIX)/include/libkvm.h
+ install -D $(KERNELDIR)/include/linux/kvm.h \
+ $(DESTDIR)/$(PREFIX)/include/linux/kvm.h
+ install -D $(KERNELDIR)/include/linux/kvm_para.h \
+ $(DESTDIR)/$(PREFIX)/include/linux/kvm_para.h
+ install -D libkvm.a $(DESTDIR)/$(PREFIX)/$(LIBDIR)/libkvm.a
+
+-include .*.d
+
+clean:
+ $(RM) *.o *.a .*.d
diff --git a/libkvm/config-i386.mak b/libkvm/config-i386.mak
new file mode 100644
--- /dev/null
+++ b/libkvm/config-i386.mak
@@ -0,0 +1,2 @@
+
+LIBDIR := /lib
diff --git a/libkvm/config-x86_64.mak b/libkvm/config-x86_64.mak
new file mode 100644
--- /dev/null
+++ b/libkvm/config-x86_64.mak
@@ -0,0 +1,2 @@
+
+LIBDIR := /lib64
diff --git a/user/kvm-abi-10.h b/libkvm/kvm-abi-10.h
rename from user/kvm-abi-10.h
rename to libkvm/kvm-abi-10.h
diff --git a/user/kvmctl.c b/libkvm/libkvm.c
rename from user/kvmctl.c
rename to libkvm/libkvm.c
--- a/libkvm/libkvm.c
+++ b/libkvm/libkvm.c
@@ -34,7 +34,7 @@
#include <string.h>
#include <errno.h>
#include <sys/ioctl.h>
-#include "kvmctl.h"
+#include "libkvm.h"
#include "kvm-abi-10.h"
static int kvm_abi = EXPECTED_KVM_API_VERSION;
diff --git a/user/kvmctl.h b/libkvm/libkvm.h
rename from user/kvmctl.h
rename to libkvm/libkvm.h
--- a/libkvm/libkvm.h
+++ b/libkvm/libkvm.h
@@ -2,8 +2,8 @@
* libkvm API
*/
-#ifndef KVMCTL_H
-#define KVMCTL_H
+#ifndef LIBKVM_H
+#define LIBKVM_H
#include <stdint.h>
diff --git a/qemu/Makefile.target b/qemu/Makefile.target
--- a/qemu/Makefile.target
+++ b/qemu/Makefile.target
@@ -419,7 +419,7 @@ ifdef CONFIG_KVM_KERNEL_INC
ifdef CONFIG_KVM_KERNEL_INC
CFLAGS += -I $(CONFIG_KVM_KERNEL_INC)
LIBS += -lkvm
-DEPLIBS += ../user/libkvm.a
+DEPLIBS += ../libkvm/libkvm.a
endif
ifdef CONFIG_VNC_TLS
diff --git a/qemu/hw/vga.c b/qemu/hw/vga.c
--- a/qemu/hw/vga.c
+++ b/qemu/hw/vga.c
@@ -1413,7 +1413,7 @@ void vga_invalidate_scanlines(VGAState *
#ifdef USE_KVM
-#include "kvmctl.h"
+#include "libkvm.h"
extern kvm_context_t kvm_context;
static int bitmap_get_dirty(unsigned long *bitmap, unsigned nr)
diff --git a/qemu/hw/vmport.c b/qemu/hw/vmport.c
--- a/qemu/hw/vmport.c
+++ b/qemu/hw/vmport.c
@@ -23,7 +23,7 @@
*/
#include "vl.h"
#include "cpu-all.h"
-#include "kvmctl.h"
+#include "libkvm.h"
#define VMPORT_CMD_GETVERSION 0x0a
#define VMPORT_CMD_GETRAMSIZE 0x14
diff --git a/qemu/qemu-kvm.c b/qemu/qemu-kvm.c
--- a/qemu/qemu-kvm.c
+++ b/qemu/qemu-kvm.c
@@ -18,7 +18,7 @@ int kvm_irqchip = 1;
#include "vl.h"
#include "qemu-kvm.h"
-#include <kvmctl.h>
+#include <libkvm.h>
#include <pthread.h>
#include <sys/utsname.h>
diff --git a/qemu/qemu-kvm.h b/qemu/qemu-kvm.h
--- a/qemu/qemu-kvm.h
+++ b/qemu/qemu-kvm.h
@@ -2,7 +2,7 @@
#define QEMU_KVM_H
#include "cpu.h"
-#include "kvmctl.h"
+#include "libkvm.h"
int kvm_main_loop(void);
int kvm_qemu_init(void);
diff --git a/user/Makefile b/user/Makefile
--- a/user/Makefile
+++ b/user/Makefile
@@ -20,8 +20,9 @@ CFLAGS += $(autodepend-flags) -g -fomit-
CFLAGS += $(autodepend-flags) -g -fomit-frame-pointer -Wall
CFLAGS += $(call cc-option, -fno-stack-protector, "")
CFLAGS += $(call cc-option, -fno-stack-protector-all, "")
+CFLAGS += -I ../libkvm
-LDFLAGS += $(CFLAGS)
+LDFLAGS += $(CFLAGS) -L ../libkvm
CXXFLAGS = $(autodepend-flags)
@@ -30,17 +31,6 @@ kvmctl: LDFLAGS += -pthread -lrt
kvmctl: LDFLAGS += -pthread -lrt
kvmctl: $(kvmctl_objs)
-
-libkvm.a: $(libkvm_objs)
- $(AR) rcs $@ $^
-
-install:
- install -D kvmctl.h $(DESTDIR)/$(PREFIX)/include/kvmctl.h
- install -D $(KERNELDIR)/include/linux/kvm.h \
- $(DESTDIR)/$(PREFIX)/include/linux/kvm.h
- install -D $(KERNELDIR)/include/linux/kvm_para.h \
- $(DESTDIR)/$(PREFIX)/include/linux/kvm_para.h
- install -D libkvm.a $(DESTDIR)/$(PREFIX)/$(LIBDIR)/libkvm.a
%.flat: %.o
$(CC) $(CFLAGS) -nostdlib -o $@ -Wl,-T,flat.lds $^
diff --git a/user/config-i386.mak b/user/config-i386.mak
--- a/user/config-i386.mak
+++ b/user/config-i386.mak
@@ -1,4 +1,3 @@ LIBDIR = /lib
-LIBDIR = /lib
TEST_DIR=test/x86
cstart.o = $(TEST_DIR)/cstart.o
bits = 32
diff --git a/user/config-x86-common.mak b/user/config-x86-common.mak
--- a/user/config-x86-common.mak
+++ b/user/config-x86-common.mak
@@ -1,10 +1,8 @@
#This is a make file with common rules for both x86 & x86-64
-all: kvmctl libkvm.a test_cases
+all: kvmctl test_cases
-kvmctl_objs=kvmctl.o main.o
-
-libkvm_objs=kvmctl.o
+kvmctl_objs=../libkvm/libkvm.a main.o
balloon_ctl: balloon_ctl.o
diff --git a/user/config-x86_64.mak b/user/config-x86_64.mak
--- a/user/config-x86_64.mak
+++ b/user/config-x86_64.mak
@@ -1,4 +1,3 @@ LIBDIR = /lib64
-LIBDIR = /lib64
TEST_DIR=test/x86
cstart.o = $(TEST_DIR)/cstart64.o
bits = 64
diff --git a/user/main.c b/user/main.c
--- a/user/main.c
+++ b/user/main.c
@@ -16,7 +16,7 @@
#define _GNU_SOURCE
-#include "kvmctl.h"
+#include <libkvm.h>
#include "test/x86/apic.h"
#include <stdio.h>
-------------------------------------------------------------------------
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 reply other threads:[~2007-10-30 4:43 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-30 4:43 Hollis Blanchard [this message]
2007-10-30 11:19 ` [PATCH] [RESEND] Move libkvm (v2) Avi Kivity
2007-10-31 16:09 ` Cam Macdonell
[not found] ` <4728A8C0.6030807-edFDblaTWIyXbbII50Afww@public.gmane.org>
2007-10-31 16:56 ` Hollis Blanchard
2007-10-31 17:10 ` Cam Macdonell
2007-10-31 22:13 ` Avi Kivity
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=45227892356863ce29e9.1193719433@basalt \
--to=hollisb-r/jw6+rmf7hqt0dzr+alfa@public.gmane.org \
--cc=avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org \
--cc=kvm-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.