All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@web.de>
To: Stefan Weil <weil@mail.berlios.de>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	kvm@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
	Alexander Graf <agraf@suse.de>,
	qemu-devel@nongnu.org, Avi Kivity <avi@redhat.com>
Subject: Re: [PATCH 03/12] Switch build system to accompanied kernel headers
Date: Wed, 22 Jun 2011 23:37:19 +0200	[thread overview]
Message-ID: <4E02608F.7010500@web.de> (raw)
In-Reply-To: <4E0255D7.9080202@mail.berlios.de>

[-- Attachment #1: Type: text/plain, Size: 3538 bytes --]

On 2011-06-22 22:51, Stefan Weil wrote:
> Am 08.06.2011 16:10, schrieb Jan Kiszka:
>> This helps reducing our build-time checks for feature support in the
>> available Linux kernel headers. And it helps users that do not have
>> sufficiently recent headers installed on their build machine.
>>
>> Consequently, the patch removes and build-time checks for kvm and vhost
>> in configure, the --kerneldir switch, and KVM_CFLAGS. Kernel headers are
>> supposed to be provided by QEMU only.
>>
>> s390 needs some extra love as it carries redefinitions from kernel
>> headers.
>>
>> CC: Alexander Graf <agraf@suse.de>
>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>> ---
>> Makefile.target | 4 +-
>> configure | 151 ++++++----------------------------------------
>> target-s390x/cpu.h | 10 ---
>> target-s390x/op_helper.c | 1 +
>> 4 files changed, 21 insertions(+), 145 deletions(-)
>>
>> diff --git a/Makefile.target b/Makefile.target
>> index 5c22df8..be9c0e8 100644
>> --- a/Makefile.target
>> +++ b/Makefile.target
>> @@ -14,7 +14,7 @@ endif
>>
>> TARGET_PATH=$(SRC_PATH)/target-$(TARGET_BASE_ARCH)
>> $(call set-vpath, $(SRC_PATH):$(TARGET_PATH):$(SRC_PATH)/hw)
>> -QEMU_CFLAGS+= -I.. -I$(TARGET_PATH) -DNEED_CPU_H
>> +QEMU_CFLAGS+= -I.. -I../linux-headers -I$(TARGET_PATH) -DNEED_CPU_H
>>
>> include $(SRC_PATH)/Makefile.objs
>>
>> @@ -37,8 +37,6 @@ ifndef CONFIG_HAIKU
>> LIBS+=-lm
>> endif
>>
>> -kvm.o kvm-all.o vhost.o vhost_net.o kvmclock.o:
>> QEMU_CFLAGS+=$(KVM_CFLAGS)
>> -
>> config-target.h: config-target.h-timestamp
>> config-target.h-timestamp: config-target.mak
>>
>> diff --git a/configure b/configure
>> index d38b952..0e1dc46 100755
>> --- a/configure
>> +++ b/configure
>> @@ -113,8 +113,7 @@ curl=""
>> curses=""
>> docs=""
>> fdt=""
>> -kvm=""
>> -kvm_para=""
>> +kvm="yes"
>> nptl=""
> 
> Are you planning to add kvm support for all platforms which don't
> support it today?

That would mean replacing all their kernels with Linux. Will take a bit
longer.

I simply overshot with my cleanups:

diff --git a/configure b/configure
index 3286e33..e6847c4 100755
--- a/configure
+++ b/configure
@@ -113,7 +113,7 @@ curl=""
 curses=""
 docs=""
 fdt=""
-kvm="yes"
+kvm=""
 nptl=""
 sdl=""
 vnc="yes"
@@ -129,7 +129,7 @@ xen=""
 xen_ctrl_version=""
 linux_aio=""
 attr=""
-vhost_net="yes"
+vhost_net=""
 xfs=""

 gprof="no"
@@ -457,6 +457,8 @@ Haiku)
   linux="yes"
   linux_user="yes"
   usb="linux"
+  kvm="yes"
+  vhost_net="yes"
   if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
     audio_possible_drivers="$audio_possible_drivers fmod"
   fi

Will post this as a patch tomorrow.

> If not, kvm="yes" should be restricted to platforms with kvm support.
> 
> Otherwise, QEMU builds will fail very early:
> 
>  ERROR: Host kernel lacks signalfd() support,
>  but KVM depends on it when the IO thread is disabled.
> 
> Of course, users of those non-kvm platforms can set --disable-kvm,
> but I don't think that is the correct solution.
> 
> Even with kvm disabled, builds still fail for non-kvm systems:
> 
>  In file included from /qemu/hw/kvmclock.c:21:
>  /qemu/linux-headers/linux/kvm_para.h:26:26: warning: asm/kvm_para.h: No
> such file or directory

That indicates symlink emulation under Windows does not support
directories. Can you confirm this (check what
<builddir>/linux-headers/asm became)? Then we would have to link all
files in the arch header dir individually.

Jan



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: Jan Kiszka <jan.kiszka@web.de>
To: Stefan Weil <weil@mail.berlios.de>
Cc: Anthony Liguori <aliguori@us.ibm.com>,
	kvm@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
	Alexander Graf <agraf@suse.de>,
	qemu-devel@nongnu.org, Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 03/12] Switch build system to accompanied kernel headers
Date: Wed, 22 Jun 2011 23:37:19 +0200	[thread overview]
Message-ID: <4E02608F.7010500@web.de> (raw)
In-Reply-To: <4E0255D7.9080202@mail.berlios.de>

[-- Attachment #1: Type: text/plain, Size: 3538 bytes --]

On 2011-06-22 22:51, Stefan Weil wrote:
> Am 08.06.2011 16:10, schrieb Jan Kiszka:
>> This helps reducing our build-time checks for feature support in the
>> available Linux kernel headers. And it helps users that do not have
>> sufficiently recent headers installed on their build machine.
>>
>> Consequently, the patch removes and build-time checks for kvm and vhost
>> in configure, the --kerneldir switch, and KVM_CFLAGS. Kernel headers are
>> supposed to be provided by QEMU only.
>>
>> s390 needs some extra love as it carries redefinitions from kernel
>> headers.
>>
>> CC: Alexander Graf <agraf@suse.de>
>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>> ---
>> Makefile.target | 4 +-
>> configure | 151 ++++++----------------------------------------
>> target-s390x/cpu.h | 10 ---
>> target-s390x/op_helper.c | 1 +
>> 4 files changed, 21 insertions(+), 145 deletions(-)
>>
>> diff --git a/Makefile.target b/Makefile.target
>> index 5c22df8..be9c0e8 100644
>> --- a/Makefile.target
>> +++ b/Makefile.target
>> @@ -14,7 +14,7 @@ endif
>>
>> TARGET_PATH=$(SRC_PATH)/target-$(TARGET_BASE_ARCH)
>> $(call set-vpath, $(SRC_PATH):$(TARGET_PATH):$(SRC_PATH)/hw)
>> -QEMU_CFLAGS+= -I.. -I$(TARGET_PATH) -DNEED_CPU_H
>> +QEMU_CFLAGS+= -I.. -I../linux-headers -I$(TARGET_PATH) -DNEED_CPU_H
>>
>> include $(SRC_PATH)/Makefile.objs
>>
>> @@ -37,8 +37,6 @@ ifndef CONFIG_HAIKU
>> LIBS+=-lm
>> endif
>>
>> -kvm.o kvm-all.o vhost.o vhost_net.o kvmclock.o:
>> QEMU_CFLAGS+=$(KVM_CFLAGS)
>> -
>> config-target.h: config-target.h-timestamp
>> config-target.h-timestamp: config-target.mak
>>
>> diff --git a/configure b/configure
>> index d38b952..0e1dc46 100755
>> --- a/configure
>> +++ b/configure
>> @@ -113,8 +113,7 @@ curl=""
>> curses=""
>> docs=""
>> fdt=""
>> -kvm=""
>> -kvm_para=""
>> +kvm="yes"
>> nptl=""
> 
> Are you planning to add kvm support for all platforms which don't
> support it today?

That would mean replacing all their kernels with Linux. Will take a bit
longer.

I simply overshot with my cleanups:

diff --git a/configure b/configure
index 3286e33..e6847c4 100755
--- a/configure
+++ b/configure
@@ -113,7 +113,7 @@ curl=""
 curses=""
 docs=""
 fdt=""
-kvm="yes"
+kvm=""
 nptl=""
 sdl=""
 vnc="yes"
@@ -129,7 +129,7 @@ xen=""
 xen_ctrl_version=""
 linux_aio=""
 attr=""
-vhost_net="yes"
+vhost_net=""
 xfs=""

 gprof="no"
@@ -457,6 +457,8 @@ Haiku)
   linux="yes"
   linux_user="yes"
   usb="linux"
+  kvm="yes"
+  vhost_net="yes"
   if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
     audio_possible_drivers="$audio_possible_drivers fmod"
   fi

Will post this as a patch tomorrow.

> If not, kvm="yes" should be restricted to platforms with kvm support.
> 
> Otherwise, QEMU builds will fail very early:
> 
>  ERROR: Host kernel lacks signalfd() support,
>  but KVM depends on it when the IO thread is disabled.
> 
> Of course, users of those non-kvm platforms can set --disable-kvm,
> but I don't think that is the correct solution.
> 
> Even with kvm disabled, builds still fail for non-kvm systems:
> 
>  In file included from /qemu/hw/kvmclock.c:21:
>  /qemu/linux-headers/linux/kvm_para.h:26:26: warning: asm/kvm_para.h: No
> such file or directory

That indicates symlink emulation under Windows does not support
directories. Can you confirm this (check what
<builddir>/linux-headers/asm became)? Then we would have to link all
files in the arch header dir individually.

Jan



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]

  reply	other threads:[~2011-06-22 21:37 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-08 14:10 [PATCH 00/12] [uq/master] Import linux headers and some cleanups Jan Kiszka
2011-06-08 14:10 ` [Qemu-devel] " Jan Kiszka
2011-06-08 14:10 ` [PATCH 01/12] Add kernel header update script Jan Kiszka
2011-06-08 14:10   ` [Qemu-devel] " Jan Kiszka
2011-06-08 14:33   ` Peter Maydell
2011-06-08 14:33     ` [Qemu-devel] " Peter Maydell
2011-06-08 14:39     ` Jan Kiszka
2011-06-08 14:39       ` [Qemu-devel] " Jan Kiszka
2011-06-08 14:51       ` Peter Maydell
2011-06-08 14:51         ` [Qemu-devel] " Peter Maydell
2011-06-08 15:06   ` [PATCH v2 " Jan Kiszka
2011-06-08 15:06     ` [Qemu-devel] " Jan Kiszka
2011-06-08 15:57     ` Peter Maydell
2011-06-08 15:57       ` [Qemu-devel] " Peter Maydell
2011-06-08 16:22   ` [PATCH v3 " Jan Kiszka
2011-06-08 16:22     ` [Qemu-devel] " Jan Kiszka
2011-06-08 17:30     ` Peter Maydell
2011-06-08 17:30       ` [Qemu-devel] " Peter Maydell
2011-06-08 14:10 ` [PATCH 02/12] Import kernel headers Jan Kiszka
2011-06-08 14:10   ` [Qemu-devel] " Jan Kiszka
2011-06-08 14:10 ` [PATCH 03/12] Switch build system to accompanied " Jan Kiszka
2011-06-08 14:10   ` [Qemu-devel] " Jan Kiszka
2011-06-14 11:11   ` Alexander Graf
2011-06-14 11:11     ` [Qemu-devel] " Alexander Graf
2011-06-14 11:21     ` Jan Kiszka
2011-06-14 11:21       ` [Qemu-devel] " Jan Kiszka
2011-06-14 11:28       ` Alexander Graf
2011-06-14 11:28         ` [Qemu-devel] " Alexander Graf
2011-06-14 11:32         ` Jan Kiszka
2011-06-14 11:32           ` [Qemu-devel] " Jan Kiszka
2011-06-22 20:51   ` Stefan Weil
2011-06-22 20:51     ` [Qemu-devel] " Stefan Weil
2011-06-22 21:37     ` Jan Kiszka [this message]
2011-06-22 21:37       ` Jan Kiszka
2011-06-23  5:37       ` Stefan Weil
2011-06-23  5:37         ` [Qemu-devel] " Stefan Weil
2011-06-23  7:18         ` Jan Kiszka
2011-06-23  7:18           ` [Qemu-devel] " Jan Kiszka
2011-06-23  8:05           ` [PATCH] Fix fallouts from Linux header inclusion Jan Kiszka
2011-06-23  8:05             ` [Qemu-devel] " Jan Kiszka
2011-06-23 10:59             ` Andreas Färber
2011-06-23 10:59               ` Andreas Färber
2011-06-23 15:14             ` Stefan Weil
2011-06-23 15:14               ` [Qemu-devel] " Stefan Weil
2011-06-26 18:01             ` Blue Swirl
2011-06-26 18:01               ` Blue Swirl
2011-06-08 14:10 ` [PATCH 04/12] kvm: Drop CONFIG_KVM_PARA Jan Kiszka
2011-06-08 14:10   ` [Qemu-devel] " Jan Kiszka
2011-06-08 14:10 ` [PATCH 05/12] kvm: ppc: Drop CONFIG_KVM_PPC_PVR Jan Kiszka
2011-06-08 14:10   ` [Qemu-devel] " Jan Kiszka
2011-06-14 11:06   ` Alexander Graf
2011-06-14 11:06     ` [Qemu-devel] " Alexander Graf
2011-06-08 14:11 ` [PATCH 06/12] kvm: Drop useless zero-initializations Jan Kiszka
2011-06-08 14:11   ` [Qemu-devel] " Jan Kiszka
2011-06-08 14:11 ` [PATCH 07/12] kvm: Drop KVM_CAP build dependencies Jan Kiszka
2011-06-08 14:11   ` [Qemu-devel] " Jan Kiszka
2011-06-14 11:05   ` Alexander Graf
2011-06-14 11:05     ` [Qemu-devel] " Alexander Graf
2011-06-14 11:07     ` Jan Kiszka
2011-06-14 11:07       ` [Qemu-devel] " Jan Kiszka
2011-06-14 11:17       ` Alexander Graf
2011-06-14 11:17         ` [Qemu-devel] " Alexander Graf
2011-06-14 11:19         ` Jan Kiszka
2011-06-14 11:19           ` [Qemu-devel] " Jan Kiszka
2011-06-14 11:25           ` Alexander Graf
2011-06-14 11:25             ` [Qemu-devel] " Alexander Graf
2011-06-08 14:11 ` [PATCH 08/12] kvm: x86: " Jan Kiszka
2011-06-08 14:11   ` [Qemu-devel] " Jan Kiszka
2011-06-08 14:11 ` [PATCH 09/12] kvm: ppc: " Jan Kiszka
2011-06-08 14:11   ` [Qemu-devel] " Jan Kiszka
2011-06-10 18:32   ` Eduardo Habkost
2011-06-10 18:32     ` Eduardo Habkost
2011-06-11  7:45     ` Jan Kiszka
2011-06-11  7:45       ` [Qemu-devel] " Jan Kiszka
2011-06-14 11:07   ` Alexander Graf
2011-06-14 11:07     ` [Qemu-devel] " Alexander Graf
2011-06-08 14:11 ` [PATCH 10/12] kvm: Clean up stubs Jan Kiszka
2011-06-08 14:11   ` [Qemu-devel] " Jan Kiszka
2011-06-08 14:11 ` [PATCH 11/12] kvm: x86: Pass KVMState to kvm_arch_get_supported_cpuid Jan Kiszka
2011-06-08 14:11   ` [Qemu-devel] " Jan Kiszka
2011-06-09 17:33   ` Eduardo Habkost
2011-06-09 17:33     ` Eduardo Habkost
2011-06-09 17:41     ` Jan Kiszka
2011-06-09 18:08       ` Eduardo Habkost
2011-06-09 18:08         ` Eduardo Habkost
2011-06-09 19:53         ` Jan Kiszka
2011-06-08 14:11 ` [PATCH 12/12] Remove unneeded kvm.h from cpu-exec.c Jan Kiszka
2011-06-08 14:11   ` [Qemu-devel] " Jan Kiszka
2011-06-20 18:24 ` [PATCH 00/12] [uq/master] Import linux headers and some cleanups Marcelo Tosatti
2011-06-20 18:24   ` [Qemu-devel] " Marcelo Tosatti

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=4E02608F.7010500@web.de \
    --to=jan.kiszka@web.de \
    --cc=agraf@suse.de \
    --cc=aliguori@us.ibm.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=weil@mail.berlios.de \
    /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.