public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* 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