All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@siemens.com>
To: Alexander Graf <agraf@suse.de>
Cc: Avi Kivity <avi@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [PATCH 03/12] Switch build system to accompanied kernel headers
Date: Tue, 14 Jun 2011 13:32:40 +0200	[thread overview]
Message-ID: <4DF746D8.1040106@siemens.com> (raw)
In-Reply-To: <C904D82E-4A50-476A-8C31-6B38D466A562@suse.de>

On 2011-06-14 13:28, Alexander Graf wrote:
> 
> On 14.06.2011, at 13:21, Jan Kiszka wrote:
> 
>> On 2011-06-14 13:11, Alexander Graf wrote:
>>>
>>> On 08.06.2011, at 16:10, Jan Kiszka wrote:
>>>
>>> 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.
>>>
>>> Yes. I was wondering if we should unconditionally include the kernel headers there. The problem I'm seeing there is that I don't know if that would work fine on non-Linux hosts, as that code definitely gets compiled there, while KVM code is not.
>>>
>>>
>>>
>>> [...]
>>>
>>> diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h
>>> index 4e5c391..b5e587f 100644
>>> --- a/target-s390x/cpu.h
>>> +++ b/target-s390x/cpu.h
>>> @@ -313,16 +313,6 @@ CPUState *s390_cpu_addr2state(uint16_t cpu_addr);
>>> /* from s390-virtio-bus */
>>> extern const target_phys_addr_t virtio_size;
>>>
>>> -#ifndef KVM_S390_SIGP_STOP
>>> -#define KVM_S390_SIGP_STOP              0
>>> -#define KVM_S390_PROGRAM_INT            0
>>> -#define KVM_S390_SIGP_SET_PREFIX        0
>>> -#define KVM_S390_RESTART                0
>>> -#define KVM_S390_INT_VIRTIO             0
>>> -#define KVM_S390_INT_SERVICE            0
>>> -#define KVM_S390_INT_EMERGENCY          0
>>> -#endif
>>> -
>>> #endif
>>> void cpu_lock(void);
>>> void cpu_unlock(void);
>>> diff --git a/target-s390x/op_helper.c b/target-s390x/op_helper.c
>>> index db03a79..9429698 100644
>>> --- a/target-s390x/op_helper.c
>>> +++ b/target-s390x/op_helper.c
>>> @@ -23,6 +23,7 @@
>>> #include "helpers.h"
>>> #include <string.h>
>>> #include "kvm.h"
>>> +#include <linux/kvm.h>
>>>
>>> Have you tried to compile this on non-Linux?
>>
>> Sorry, I don't have "non-Linux" around. :) Do you expect build problems
>> with that header? Why?
> 
> Do you have a git tree handy? I can give a Mac build a try then.

Try git://git.kiszka.org/qemu-kvm.git queues/kvm-upstream

> 
>> BTW, if you depend on KVM_* constants for non-KVM builds, that looks a
>> bit fishy to me. Why is that code built at all in that setup?
> 
> The reason for that is that I didn't want to clutter the emulation code with #ifdefs:
> 
> static void program_interrupt(CPUState *env, uint32_t code, int ilc)
> {
>     qemu_log("program interrupt at %#" PRIx64 "\n", env->psw.addr);
> 
>     if (kvm_enabled()) {
>         kvm_s390_interrupt(env, KVM_S390_PROGRAM_INT, code);
>     } else {
>         env->int_pgm_code = code;
>         env->int_pgm_ilc = ilc;
>         env->exception_index = EXCP_PGM;
>         cpu_loop_exit();
>     }
> }
> 
> This breaks compilation when KVM_S390_PROGRAM_INT is not defined. I'm very open to suggestions on how to improve this though :).

Callbacks? See cpu_interrupt_handler e.g.

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

WARNING: multiple messages have this Message-ID (diff)
From: Jan Kiszka <jan.kiszka@siemens.com>
To: Alexander Graf <agraf@suse.de>
Cc: Marcelo Tosatti <mtosatti@redhat.com>,
	Avi Kivity <avi@redhat.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH 03/12] Switch build system to accompanied kernel headers
Date: Tue, 14 Jun 2011 13:32:40 +0200	[thread overview]
Message-ID: <4DF746D8.1040106@siemens.com> (raw)
In-Reply-To: <C904D82E-4A50-476A-8C31-6B38D466A562@suse.de>

On 2011-06-14 13:28, Alexander Graf wrote:
> 
> On 14.06.2011, at 13:21, Jan Kiszka wrote:
> 
>> On 2011-06-14 13:11, Alexander Graf wrote:
>>>
>>> On 08.06.2011, at 16:10, Jan Kiszka wrote:
>>>
>>> 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.
>>>
>>> Yes. I was wondering if we should unconditionally include the kernel headers there. The problem I'm seeing there is that I don't know if that would work fine on non-Linux hosts, as that code definitely gets compiled there, while KVM code is not.
>>>
>>>
>>>
>>> [...]
>>>
>>> diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h
>>> index 4e5c391..b5e587f 100644
>>> --- a/target-s390x/cpu.h
>>> +++ b/target-s390x/cpu.h
>>> @@ -313,16 +313,6 @@ CPUState *s390_cpu_addr2state(uint16_t cpu_addr);
>>> /* from s390-virtio-bus */
>>> extern const target_phys_addr_t virtio_size;
>>>
>>> -#ifndef KVM_S390_SIGP_STOP
>>> -#define KVM_S390_SIGP_STOP              0
>>> -#define KVM_S390_PROGRAM_INT            0
>>> -#define KVM_S390_SIGP_SET_PREFIX        0
>>> -#define KVM_S390_RESTART                0
>>> -#define KVM_S390_INT_VIRTIO             0
>>> -#define KVM_S390_INT_SERVICE            0
>>> -#define KVM_S390_INT_EMERGENCY          0
>>> -#endif
>>> -
>>> #endif
>>> void cpu_lock(void);
>>> void cpu_unlock(void);
>>> diff --git a/target-s390x/op_helper.c b/target-s390x/op_helper.c
>>> index db03a79..9429698 100644
>>> --- a/target-s390x/op_helper.c
>>> +++ b/target-s390x/op_helper.c
>>> @@ -23,6 +23,7 @@
>>> #include "helpers.h"
>>> #include <string.h>
>>> #include "kvm.h"
>>> +#include <linux/kvm.h>
>>>
>>> Have you tried to compile this on non-Linux?
>>
>> Sorry, I don't have "non-Linux" around. :) Do you expect build problems
>> with that header? Why?
> 
> Do you have a git tree handy? I can give a Mac build a try then.

Try git://git.kiszka.org/qemu-kvm.git queues/kvm-upstream

> 
>> BTW, if you depend on KVM_* constants for non-KVM builds, that looks a
>> bit fishy to me. Why is that code built at all in that setup?
> 
> The reason for that is that I didn't want to clutter the emulation code with #ifdefs:
> 
> static void program_interrupt(CPUState *env, uint32_t code, int ilc)
> {
>     qemu_log("program interrupt at %#" PRIx64 "\n", env->psw.addr);
> 
>     if (kvm_enabled()) {
>         kvm_s390_interrupt(env, KVM_S390_PROGRAM_INT, code);
>     } else {
>         env->int_pgm_code = code;
>         env->int_pgm_ilc = ilc;
>         env->exception_index = EXCP_PGM;
>         cpu_loop_exit();
>     }
> }
> 
> This breaks compilation when KVM_S390_PROGRAM_INT is not defined. I'm very open to suggestions on how to improve this though :).

Callbacks? See cpu_interrupt_handler e.g.

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

  reply	other threads:[~2011-06-14 11:32 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 [this message]
2011-06-14 11:32           ` 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
2011-06-22 21:37       ` [Qemu-devel] " 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=4DF746D8.1040106@siemens.com \
    --to=jan.kiszka@siemens.com \
    --cc=agraf@suse.de \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=qemu-devel@nongnu.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.