* building kvm-userspace with separate kernel object directory?
@ 2008-01-07 21:12 Hollis Blanchard
2008-01-07 21:29 ` Hollis Blanchard
2008-01-07 21:44 ` Jerone Young
0 siblings, 2 replies; 7+ messages in thread
From: Hollis Blanchard @ 2008-01-07 21:12 UTC (permalink / raw)
To: kvm-devel
I always build my kernels with the O= option, since it allows me to
build multiple architectures from the same sources.
However, it looks like the kvm-userspace configure script can't handle
this. It says --kerneldir should be the kernel *build* directory, but
when I do that I get
libkvm.c:21:23: warning: linux/kvm.h: No such file or directory
because the build directory does not contain an include/linux symlink.
When I specify the kernel *source* directory for --kerneldir, I get
/home/hollisb/source/kvmppc.hg/include/linux/kvm.h:12:21: warning: asm/kvm.h: No such file or directory
because the source directory doesn't contain an include/asm symlink.
How can this work?
--
Hollis Blanchard
IBM Linux Technology Center
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: building kvm-userspace with separate kernel object directory?
2008-01-07 21:12 building kvm-userspace with separate kernel object directory? Hollis Blanchard
@ 2008-01-07 21:29 ` Hollis Blanchard
2008-01-07 21:50 ` Jerone Young
2008-01-08 13:50 ` Avi Kivity
2008-01-07 21:44 ` Jerone Young
1 sibling, 2 replies; 7+ messages in thread
From: Hollis Blanchard @ 2008-01-07 21:29 UTC (permalink / raw)
To: kvm-devel
Create an "asm" symlink from libkvm into the kernel source directory.
This allows one to use kernel trees built with the O= option.
Signed-off-by: Hollis Blanchard <hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
---
This is all I can come up with... it should work by accident for user/
and qemu/ directories too, since they use "-I ../libkvm".
diff --git a/configure b/configure
--- a/configure
+++ b/configure
@@ -130,6 +130,8 @@ fi
--arch="$arch" \
${cross_prefix:+"--cross-prefix=$cross_prefix"})
+(cd libkvm; ln -sf "$kerneldir/include/asm-$arch" asm)
+
#configure qemu
(cd qemu; ./configure --target-list=$target_exec \
--disable-kqemu \
diff --git a/libkvm/Makefile b/libkvm/Makefile
--- a/libkvm/Makefile
+++ b/libkvm/Makefile
@@ -10,7 +10,7 @@ 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 $(KERNELDIR)/include
+CFLAGS += -I $(KERNELDIR)/include -I .
LDFLAGS += $(CFLAGS)
@@ -35,4 +35,4 @@ install:
-include .*.d
clean:
- $(RM) *.o *.a .*.d
+ $(RM) *.o *.a .*.d asm
--
Hollis Blanchard
IBM Linux Technology Center
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: building kvm-userspace with separate kernel object directory?
2008-01-07 21:12 building kvm-userspace with separate kernel object directory? Hollis Blanchard
2008-01-07 21:29 ` Hollis Blanchard
@ 2008-01-07 21:44 ` Jerone Young
1 sibling, 0 replies; 7+ messages in thread
From: Jerone Young @ 2008-01-07 21:44 UTC (permalink / raw)
To: Hollis Blanchard; +Cc: kvm-devel
oh your problem is you must first build your kernel that you are
pointing too. Or you can cheat and point "include/asm" where you need to
point it. That solves the issue. It's all that userspace including
kernel headers :-)
On Mon, 2008-01-07 at 15:12 -0600, Hollis Blanchard wrote:
> I always build my kernels with the O= option, since it allows me to
> build multiple architectures from the same sources.
>
> However, it looks like the kvm-userspace configure script can't handle
> this. It says --kerneldir should be the kernel *build* directory, but
> when I do that I get
> libkvm.c:21:23: warning: linux/kvm.h: No such file or directory
> because the build directory does not contain an include/linux symlink.
>
> When I specify the kernel *source* directory for --kerneldir, I get
> /home/hollisb/source/kvmppc.hg/include/linux/kvm.h:12:21: warning: asm/kvm.h: No such file or directory
> because the source directory doesn't contain an include/asm symlink.
>
> How can this work?
>
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: building kvm-userspace with separate kernel object directory?
2008-01-07 21:29 ` Hollis Blanchard
@ 2008-01-07 21:50 ` Jerone Young
2008-01-07 22:07 ` Hollis Blanchard
2008-01-08 13:50 ` Avi Kivity
1 sibling, 1 reply; 7+ messages in thread
From: Jerone Young @ 2008-01-07 21:50 UTC (permalink / raw)
To: Hollis Blanchard; +Cc: kvm-devel
Whoops should have replied to this one.
So this does not solve the issue. As it point it includes
<KERNELDIR>/includes .. just you have to compile the kernel directory so
that "include/asm" symlink in the kernel directory is made.
This creates a symlink to the symlink and that symlnk which is already
in include path -I $(KERNELDIR)/include
What would probably be better is to add a check to see if
<KERNEL_DIR>/include/asm is created. If it's not give the user an error
to compile there kernel source.
On Mon, 2008-01-07 at 15:29 -0600, Hollis Blanchard wrote:
> Create an "asm" symlink from libkvm into the kernel source directory.
> This allows one to use kernel trees built with the O= option.
>
> Signed-off-by: Hollis Blanchard <hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
>
> ---
> This is all I can come up with... it should work by accident for user/
> and qemu/ directories too, since they use "-I ../libkvm".
>
> diff --git a/configure b/configure
> --- a/configure
> +++ b/configure
> @@ -130,6 +130,8 @@ fi
> --arch="$arch" \
> ${cross_prefix:+"--cross-prefix=$cross_prefix"})
>
> +(cd libkvm; ln -sf "$kerneldir/include/asm-$arch" asm)
> +
> #configure qemu
> (cd qemu; ./configure --target-list=$target_exec \
> --disable-kqemu \
> diff --git a/libkvm/Makefile b/libkvm/Makefile
> --- a/libkvm/Makefile
> +++ b/libkvm/Makefile
> @@ -10,7 +10,7 @@ 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 $(KERNELDIR)/include
> +CFLAGS += -I $(KERNELDIR)/include -I .
>
> LDFLAGS += $(CFLAGS)
>
> @@ -35,4 +35,4 @@ install:
> -include .*.d
>
> clean:
> - $(RM) *.o *.a .*.d
> + $(RM) *.o *.a .*.d asm
>
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: building kvm-userspace with separate kernel object directory?
2008-01-07 21:50 ` Jerone Young
@ 2008-01-07 22:07 ` Hollis Blanchard
2008-01-07 22:52 ` Jerone Young
0 siblings, 1 reply; 7+ messages in thread
From: Hollis Blanchard @ 2008-01-07 22:07 UTC (permalink / raw)
To: jyoung5-r/Jw6+rmf7HQT0dZR+AlfA; +Cc: kvm-devel
I'm having a hard time parsing this.
Basically this patch is duplicating what Kbuild does: it is creating the
appropriate asm symlink. The original problem was that kvm-userspace
didn't have an asm symlink, so the patch does fix it.
--
Hollis Blanchard
IBM Linux Technology Center
On Mon, 2008-01-07 at 15:50 -0600, Jerone Young wrote:
> Whoops should have replied to this one.
>
> So this does not solve the issue. As it point it includes
> <KERNELDIR>/includes .. just you have to compile the kernel directory so
> that "include/asm" symlink in the kernel directory is made.
I have already done this. The asm symlink is located at
linux/objpowerpcsequoia/include/asm .
> This creates a symlink to the symlink and that symlnk which is already
> in include path -I $(KERNELDIR)/include
It does not create a symlink to a symlink: the link is asm ->
linux/include/asm-foo .
> What would probably be better is to add a check to see if
> <KERNEL_DIR>/include/asm is created. If it's not give the user an error
> to compile there kernel source.
The issue is not that I have not compiled the kernel tree. I HAVE
compiled it, but I used the O= option when doing so.
> On Mon, 2008-01-07 at 15:29 -0600, Hollis Blanchard wrote:
> > Create an "asm" symlink from libkvm into the kernel source directory.
> > This allows one to use kernel trees built with the O= option.
> >
> > Signed-off-by: Hollis Blanchard <hollisb-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
> >
> > ---
> > This is all I can come up with... it should work by accident for user/
> > and qemu/ directories too, since they use "-I ../libkvm".
> >
> > diff --git a/configure b/configure
> > --- a/configure
> > +++ b/configure
> > @@ -130,6 +130,8 @@ fi
> > --arch="$arch" \
> > ${cross_prefix:+"--cross-prefix=$cross_prefix"})
> >
> > +(cd libkvm; ln -sf "$kerneldir/include/asm-$arch" asm)
> > +
> > #configure qemu
> > (cd qemu; ./configure --target-list=$target_exec \
> > --disable-kqemu \
> > diff --git a/libkvm/Makefile b/libkvm/Makefile
> > --- a/libkvm/Makefile
> > +++ b/libkvm/Makefile
> > @@ -10,7 +10,7 @@ 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 $(KERNELDIR)/include
> > +CFLAGS += -I $(KERNELDIR)/include -I .
> >
> > LDFLAGS += $(CFLAGS)
> >
> > @@ -35,4 +35,4 @@ install:
> > -include .*.d
> >
> > clean:
> > - $(RM) *.o *.a .*.d
> > + $(RM) *.o *.a .*.d asm
> >
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: building kvm-userspace with separate kernel object directory?
2008-01-07 22:07 ` Hollis Blanchard
@ 2008-01-07 22:52 ` Jerone Young
0 siblings, 0 replies; 7+ messages in thread
From: Jerone Young @ 2008-01-07 22:52 UTC (permalink / raw)
To: Hollis Blanchard; +Cc: kvm-devel
Sorry for the cryptic language ;-o
No your right. I wasn't thinking about that.
On Mon, 2008-01-07 at 16:07 -0600, Hollis Blanchard wrote:
> I'm having a hard time parsing this.
>
> Basically this patch is duplicating what Kbuild does: it is creating the
> appropriate asm symlink. The original problem was that kvm-userspace
> didn't have an asm symlink, so the patch does fix it.
>
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: building kvm-userspace with separate kernel object directory?
2008-01-07 21:29 ` Hollis Blanchard
2008-01-07 21:50 ` Jerone Young
@ 2008-01-08 13:50 ` Avi Kivity
1 sibling, 0 replies; 7+ messages in thread
From: Avi Kivity @ 2008-01-08 13:50 UTC (permalink / raw)
To: Hollis Blanchard; +Cc: kvm-devel
Hollis Blanchard wrote:
> Create an "asm" symlink from libkvm into the kernel source directory.
> This allows one to use kernel trees built with the O= option.
>
>
Applied, thanks.
--
error compiling committee.c: too many arguments to function
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2008-01-08 13:50 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-07 21:12 building kvm-userspace with separate kernel object directory? Hollis Blanchard
2008-01-07 21:29 ` Hollis Blanchard
2008-01-07 21:50 ` Jerone Young
2008-01-07 22:07 ` Hollis Blanchard
2008-01-07 22:52 ` Jerone Young
2008-01-08 13:50 ` Avi Kivity
2008-01-07 21:44 ` Jerone Young
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox