| 
         
xen-devel
[Xen-devel] [PATCH] xen: drop anti-dependency on X86_VISWS (Was: Re: [PA
 
| 
To:  | 
David Miller <davem@xxxxxxxxxxxxx> | 
 
| 
Subject:  | 
[Xen-devel] [PATCH] xen: drop anti-dependency on X86_VISWS (Was: Re: [PATCH] xen: netfront: fix declaration order) | 
 
| 
From:  | 
Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx> | 
 
| 
Date:  | 
Mon, 4 Apr 2011 10:55:55 +0100 | 
 
| 
Cc:  | 
Randy Dunlap <randy.dunlap@xxxxxxxxxx>,	Jeremy Fitzhardinge <Jeremy.Fitzhardinge@xxxxxxxxxx>,	"eric.dumazet@xxxxxxxxx" <eric.dumazet@xxxxxxxxx>,	"konrad.wilk@xxxxxxxxxx" <konrad.wilk@xxxxxxxxxx>,	"netdev@xxxxxxxxxxxxxxx" <netdev@xxxxxxxxxxxxxxx>,	"mirq-linux@xxxxxxxxxxxx" <mirq-linux@xxxxxxxxxxxx>, Ingo,	"xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>,	"H. Peter Anvin" <hpa@xxxxxxxxx>, linux-visws-devel@xxxxxxxxxxxx,	Thomas Gleixner <tglx@xxxxxxxxxxxxx>,	"virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx"	<virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx>,	AndreyPanin <pazke@xxxxxxxxx>, Molnar <mingo@xxxxxxxxxx> | 
 
| 
Delivery-date:  | 
Mon, 04 Apr 2011 02:56:34 -0700 | 
 
| 
Envelope-to:  | 
www-data@xxxxxxxxxxxxxxxxxxx | 
 
| 
In-reply-to:  | 
<20110403.172407.91341067.davem@xxxxxxxxxxxxx> | 
 
| 
List-help:  | 
<mailto:xen-devel-request@lists.xensource.com?subject=help> | 
 
| 
List-id:  | 
Xen developer discussion <xen-devel.lists.xensource.com> | 
 
| 
List-post:  | 
<mailto:xen-devel@lists.xensource.com> | 
 
| 
List-subscribe:  | 
<http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=subscribe> | 
 
| 
List-unsubscribe:  | 
<http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> | 
 
| 
Organization:  | 
Citrix Systems, Inc. | 
 
| 
References:  | 
<20110331110136.03A1A13A6A@xxxxxxxxxxxx>	<20110401.205455.70198735.davem@xxxxxxxxxxxxx>	<1301828839.2837.143.camel@edumazet-laptop>	<20110403.172407.91341067.davem@xxxxxxxxxxxxx> | 
 
| 
Sender:  | 
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx | 
 
 
 
On Mon, 2011-04-04 at 01:24 +0100, David Miller wrote:
> From: Eric Dumazet <eric.dumazet@xxxxxxxxx>
> Date: Sun, 03 Apr 2011 13:07:19 +0200
> 
> > [PATCH] xen: netfront: fix declaration order
> > 
> > Must declare xennet_fix_features() and xennet_set_features() before
> > using them.
> > 
> > Signed-off-by: Eric Dumazet <eric.dumazet@xxxxxxxxx>
> > Cc: Michał Mirosław <mirq-linux@xxxxxxxxxxxx>
> 
> Ugh, it makes no sense that XEN won't make it into the x86_32
> allmodconfig build.  Those dependencies in arch/x86/xen/Kconfig
> are terrible.
You mean the "!X86_VISWS" I presume? It doesn't make sense to me either.
Or at least I'm not sure why this single X86_32_NON_STANDARD machine is
more special than the others to require an anti-dependency like this.
It seems to have originally appeared from f0f32fccbffa on
CONFIG_PARAVIRT due to a conflict around ARCH_SETUP() and subsequently
got pushed down to CONFIG_XEN. However ARCH_SETUP doesn't exist any more
and I think the subarch stuff has been much improved since then so there
should be no conflict any more.
I dropped the dependency and, with a bit of fiddling, was able to build
a kernel with both CONFIG_X86_VISWS and CONFIG_XEN which booted as a Xen
domU.
tglx, Andrey, to get VISWS to build I had to comment out some code in
arch/x86/platform/visws/visws_quirks.c which seems to have been missed
during some irq_chip update or something?
          CC      arch/x86/platform/visws/visws_quirks.o
        arch/x86/platform/visws/visws_quirks.c: In function 
'startup_piix4_master_irq':
        arch/x86/platform/visws/visws_quirks.c:474: warning: no return 
statement in function returning non-void
        arch/x86/platform/visws/visws_quirks.c: At top level:
        arch/x86/platform/visws/visws_quirks.c:495: error: unknown field 'mask' 
specified in initializer
        arch/x86/platform/visws/visws_quirks.c:495: warning: initialization 
from incompatible pointer type
        arch/x86/platform/visws/visws_quirks.c: In function 
'set_piix4_virtual_irq_type':
        arch/x86/platform/visws/visws_quirks.c:583: error: 'struct irq_chip' 
has no member named 'enable'
        arch/x86/platform/visws/visws_quirks.c:583: error: 'struct irq_chip' 
has no member named 'unmask'
        arch/x86/platform/visws/visws_quirks.c:584: error: 'struct irq_chip' 
has no member named 'disable'
        arch/x86/platform/visws/visws_quirks.c:584: error: 'struct irq_chip' 
has no member named 'mask'
        arch/x86/platform/visws/visws_quirks.c:585: error: 'struct irq_chip' 
has no member named 'unmask'
        arch/x86/platform/visws/visws_quirks.c:585: error: 'struct irq_chip' 
has no member named 'unmask'
        arch/x86/platform/visws/visws_quirks.c: In function 
'visws_pre_intr_init':
        arch/x86/platform/visws/visws_quirks.c:602: error: expected expression 
before '>' token
        make[4]: *** [arch/x86/platform/visws/visws_quirks.o] Error 1
Ian
8<--------
>From db0ae26f479306ee8ebcfe2a08aa56a6dfe63987 Mon Sep 17 00:00:00 2001
From: Ian Campbell <ian.campbell@xxxxxxxxxx>
Date: Mon, 4 Apr 2011 10:27:47 +0100
Subject: [PATCH] xen: drop anti-dependency on X86_VISWS
This seems to have been added in f0f32fccbffa to avoid a conflict arising from
the long deceased ARCH_SETUP() macro and subsequently pushed down to the XEN
option.
As far as I can tell the conflict is no longer present and by dropping the
dependency I was able to build a kernel which has both CONFIG_XEN and
CONFIG_X86_VISWS enabled and boot it on Xen. I didn't try it on the VISWS
platform.
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Cc: konrad.wilk@xxxxxxxxxx
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Cc: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
Cc: Andrey Panin <pazke@xxxxxxxxx>
Cc: linux-visws-devel@xxxxxxxxxxxx
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: "H. Peter Anvin" <hpa@xxxxxxxxx>
Cc: x86@xxxxxxxxxx
---
 arch/x86/xen/Kconfig |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/xen/Kconfig b/arch/x86/xen/Kconfig
index 1c7121b..65d7b13 100644
--- a/arch/x86/xen/Kconfig
+++ b/arch/x86/xen/Kconfig
@@ -6,7 +6,7 @@ config XEN
        bool "Xen guest support"
        select PARAVIRT
        select PARAVIRT_CLOCK
-       depends on X86_64 || (X86_32 && X86_PAE && !X86_VISWS)
+       depends on X86_64 || (X86_32 && X86_PAE)
        depends on X86_CMPXCHG && X86_TSC
        help
          This is the Linux Xen port.  Enabling this will allow the
-- 
1.7.2.5
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 |   
 
 | 
    |