lkml.org 
[lkml]   [2010]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: linux-next: build failure after merge of the final tree (xen tree related)
On Mon, 26 Jul 2010, Jeremy Fitzhardinge wrote:
> On 07/26/2010 03:43 AM, Stefano Stabellini wrote:
> > On Mon, 26 Jul 2010, Stephen Rothwell wrote:
> >> Hi all,
> >>
> >> After merging the final tree, today's linux-next build (i386 defconfig)
> >> failed like this:
> >>
> >> arch/x86/built-in.o: In function `init_hypervisor_platform':
> >> (.init.text+0x3ca4): undefined reference to `x86_hyper_xen_hvm'
> >> arch/x86/built-in.o: In function `init_hypervisor_platform':
> >> (.init.text+0x3cad): undefined reference to `x86_hyper_xen_hvm'
> >>
> >> Caused by commit bee6ab53e652a414af20392899879b58cd80d033 ("x86: early PV
> >> on HVM features initialization").
> >>
> >> I reverted commit 4b9100d12d15c0eaf23d9edc86228e1bdf452dc2 ("Merge branch
> >> 'upstream/pvhvm' into upstream/xen") for today (since there were
> >> dependencies on the above commit).
> > The problem is that x86_hyper_xen_hvm is in arch/x86/xen/enlighten.c,
> > that is compiled only when CONFIG_XEN is enabled.
> > The appended patch fixes the issue moving x86_hyper_xen_hvm to
> > arch/x86/kernel/cpu/xen.c that is always compiled.
> >
> > An shorter alternative solution would be just to ifdef CONFIG_XEN
> > x86_hyper_xen_hvm in arch/x86/kernel/cpu/hypervisor.c.
>
> Seems like the most sensible thing to do. What's the point in detecting
> Xen if we don't have CONFIG_XEN enabled?

There isn't much point in doing so apart from avoiding an ifdef.
This is the alternative:

---


Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

diff --git a/arch/x86/kernel/cpu/hypervisor.c b/arch/x86/kernel/cpu/hypervisor.c
index bffd47c..5bccedc 100644
--- a/arch/x86/kernel/cpu/hypervisor.c
+++ b/arch/x86/kernel/cpu/hypervisor.c
@@ -34,7 +34,9 @@ static const __initconst struct hypervisor_x86 * const hypervisors[] =
{
&x86_hyper_vmware,
&x86_hyper_ms_hyperv,
+#ifdef CONFIG_XEN
&x86_hyper_xen_hvm,
+#endif
};

const struct hypervisor_x86 *x86_hyper;

\
 
 \ /
  Last update: 2010-07-26 19:59    [W:0.042 / U:1.292 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site