2005-12-12 22:50:22

by Eric Sesterhenn

[permalink] [raw]
Subject: [Patch] es7000 broken without acpi

hi,

a make randconfig gave me a situation where es7000 was enabled, but acpi wasnt
( dont know if this makes sense ), gcc gave me some compiling errors, which the
following patch fixes. Please cc me as i am not on the list. Thanks.


Signed-off-by: Eric Sesterhenn <[email protected]>


diff -up linux-2.6.15-rc5-git2/arch/i386/mach-es7000.orig/es7000.h linux-2.6.15-rc5-git2/arch/i386/mach-es7000/es7000.h
--- linux-2.6.15-rc5-git2/arch/i386/mach-es7000.orig/es7000.h 2005-12-12 23:44:39.000000000 +0100
+++ linux-2.6.15-rc5-git2/arch/i386/mach-es7000/es7000.h 2005-12-12 23:43:51.000000000 +0100
@@ -83,6 +83,7 @@ struct es7000_oem_table {
struct psai psai;
};

+#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI)
struct acpi_table_sdt {
unsigned long pa;
unsigned long count;
@@ -98,6 +99,7 @@ struct oem_table {
u32 OEMTableAddr;
u32 OEMTableSize;
};
+#endif

struct mip_reg {
unsigned long long off_0;
diff -up linux-2.6.15-rc5-git2/arch/i386/mach-es7000.orig/es7000plat.c linux-2.6.15-rc5-git2/arch/i386/mach-es7000/es7000plat.c
--- linux-2.6.15-rc5-git2/arch/i386/mach-es7000.orig/es7000plat.c 2005-12-12 23:44:39.000000000 +0100
+++ linux-2.6.15-rc5-git2/arch/i386/mach-es7000/es7000plat.c 2005-12-12 23:43:20.000000000 +0100
@@ -92,7 +92,9 @@ setup_unisys(void)
es7000_plat = ES7000_ZORRO;
else
es7000_plat = ES7000_CLASSIC;
+#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI)
ioapic_renumber_irq = es7000_rename_gsi;
+#endif
}

/*
@@ -160,6 +162,7 @@ parse_unisys_oem (char *oemptr)
return es7000_plat;
}

+#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI)
int __init
find_unisys_acpi_oem_table(unsigned long *oem_addr)
{
@@ -212,6 +215,7 @@ find_unisys_acpi_oem_table(unsigned long
}
return -1;
}
+#endif

static void
es7000_spin(int n)



2006-01-03 23:49:30

by Andrew Morton

[permalink] [raw]
Subject: Re: [Patch] es7000 broken without acpi

Eric Sesterhenn / snakebyte <[email protected]> wrote:
>
> hi,
>
> a make randconfig gave me a situation where es7000 was enabled, but acpi wasnt
> ( dont know if this makes sense ), gcc gave me some compiling errors, which the
> following patch fixes. Please cc me as i am not on the list. Thanks.
>
>

I believe that es7000 requires ACPI, so a better fix would be to enforce
that within Kconfig.

Natalie, can you please comment?

>
>
> diff -up linux-2.6.15-rc5-git2/arch/i386/mach-es7000.orig/es7000.h linux-2.6.15-rc5-git2/arch/i386/mach-es7000/es7000.h
> --- linux-2.6.15-rc5-git2/arch/i386/mach-es7000.orig/es7000.h 2005-12-12 23:44:39.000000000 +0100
> +++ linux-2.6.15-rc5-git2/arch/i386/mach-es7000/es7000.h 2005-12-12 23:43:51.000000000 +0100
> @@ -83,6 +83,7 @@ struct es7000_oem_table {
> struct psai psai;
> };
>
> +#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI)
> struct acpi_table_sdt {
> unsigned long pa;
> unsigned long count;
> @@ -98,6 +99,7 @@ struct oem_table {
> u32 OEMTableAddr;
> u32 OEMTableSize;
> };
> +#endif
>
> struct mip_reg {
> unsigned long long off_0;
> diff -up linux-2.6.15-rc5-git2/arch/i386/mach-es7000.orig/es7000plat.c linux-2.6.15-rc5-git2/arch/i386/mach-es7000/es7000plat.c
> --- linux-2.6.15-rc5-git2/arch/i386/mach-es7000.orig/es7000plat.c 2005-12-12 23:44:39.000000000 +0100
> +++ linux-2.6.15-rc5-git2/arch/i386/mach-es7000/es7000plat.c 2005-12-12 23:43:20.000000000 +0100
> @@ -92,7 +92,9 @@ setup_unisys(void)
> es7000_plat = ES7000_ZORRO;
> else
> es7000_plat = ES7000_CLASSIC;
> +#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI)
> ioapic_renumber_irq = es7000_rename_gsi;
> +#endif
> }
>
> /*
> @@ -160,6 +162,7 @@ parse_unisys_oem (char *oemptr)
> return es7000_plat;
> }
>
> +#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI)
> int __init
> find_unisys_acpi_oem_table(unsigned long *oem_addr)
> {
> @@ -212,6 +215,7 @@ find_unisys_acpi_oem_table(unsigned long
> }
> return -1;
> }
> +#endif
>
> static void
> es7000_spin(int n)
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

2006-01-04 01:36:58

by Protasevich, Natalie

[permalink] [raw]
Subject: RE: [Patch] es7000 broken without acpi

> Eric Sesterhenn / snakebyte <[email protected]> wrote:
> >
> > hi,
> >
> > a make randconfig gave me a situation where es7000 was enabled, but
> > acpi wasnt ( dont know if this makes sense ), gcc gave me some
> > compiling errors, which the following patch fixes. Please
> cc me as i am not on the list. Thanks.
> >
> >
>
> I believe that es7000 requires ACPI, so a better fix would be
> to enforce that within Kconfig.
>
> Natalie, can you please comment?


You are correct, Andrew: ES7000 "preferred" mode is ACPI (although it
runs in MPS as well, which we use for debugging of intermittent ACPI and
platform problems).
I have done a similar patch (see
http://bugzilla.kernel.org/attachment.cgi?id=5771&action=view) against
2.6.13, but the one suggested later by Peter Hagervall
http://www.ussg.iu.edu/hypermail/linux/kernel/0510.3/1302.html was
actually taking care of the compile problem through Kconfig better,
since "acpi=off" option is available for our debug/testing purposes
anyway.
Thanks,
--Natalie

>
> >
> >
> > diff -up
> linux-2.6.15-rc5-git2/arch/i386/mach-es7000.orig/es7000.h
> linux-2.6.15-rc5-git2/arch/i386/mach-es7000/es7000.h
> > ---
> linux-2.6.15-rc5-git2/arch/i386/mach-es7000.orig/es7000.h
> 2005-12-12 23:44:39.000000000 +0100
> > +++ linux-2.6.15-rc5-git2/arch/i386/mach-es7000/es7000.h
> 2005-12-12 23:43:51.000000000 +0100
> > @@ -83,6 +83,7 @@ struct es7000_oem_table {
> > struct psai psai;
> > };
> >
> > +#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI)
> > struct acpi_table_sdt {
> > unsigned long pa;
> > unsigned long count;
> > @@ -98,6 +99,7 @@ struct oem_table {
> > u32 OEMTableAddr;
> > u32 OEMTableSize;
> > };
> > +#endif
> >
> > struct mip_reg {
> > unsigned long long off_0;
> > diff -up
> linux-2.6.15-rc5-git2/arch/i386/mach-es7000.orig/es7000plat.c
> linux-2.6.15-rc5-git2/arch/i386/mach-es7000/es7000plat.c
> > ---
> linux-2.6.15-rc5-git2/arch/i386/mach-es7000.orig/es7000plat.c
> 2005-12-12 23:44:39.000000000 +0100
> > +++
> linux-2.6.15-rc5-git2/arch/i386/mach-es7000/es7000plat.c
> 2005-12-12 23:43:20.000000000 +0100
> > @@ -92,7 +92,9 @@ setup_unisys(void)
> > es7000_plat = ES7000_ZORRO;
> > else
> > es7000_plat = ES7000_CLASSIC;
> > +#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI)
> > ioapic_renumber_irq = es7000_rename_gsi;
> > +#endif
> > }
> >
> > /*
> > @@ -160,6 +162,7 @@ parse_unisys_oem (char *oemptr)
> > return es7000_plat;
> > }
> >
> > +#if defined(CONFIG_X86_IO_APIC) && defined(CONFIG_ACPI)
> > int __init
> > find_unisys_acpi_oem_table(unsigned long *oem_addr) { @@ -212,6
> > +215,7 @@ find_unisys_acpi_oem_table(unsigned long
> > }
> > return -1;
> > }
> > +#endif
> >
> > static void
> > es7000_spin(int n)
> >
> >
> > -
> > To unsubscribe from this list: send the line "unsubscribe
> > linux-kernel" in the body of a message to [email protected]
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at http://www.tux.org/lkml/
>

2006-01-04 01:51:43

by Andrew Morton

[permalink] [raw]
Subject: Re: [Patch] es7000 broken without acpi

"Protasevich, Natalie" <[email protected]> wrote:
>
> > Eric Sesterhenn / snakebyte <[email protected]> wrote:
> > >
> > > hi,
> > >
> > > a make randconfig gave me a situation where es7000 was enabled, but
> > > acpi wasnt ( dont know if this makes sense ), gcc gave me some
> > > compiling errors, which the following patch fixes. Please
> > cc me as i am not on the list. Thanks.
> > >
> > >
> >
> > I believe that es7000 requires ACPI, so a better fix would be
> > to enforce that within Kconfig.
> >
> > Natalie, can you please comment?
>
>
> You are correct, Andrew: ES7000 "preferred" mode is ACPI (although it
> runs in MPS as well, which we use for debugging of intermittent ACPI and
> platform problems).
> I have done a similar patch (see
> http://bugzilla.kernel.org/attachment.cgi?id=5771&action=view) against
> 2.6.13, but the one suggested later by Peter Hagervall
> http://www.ussg.iu.edu/hypermail/linux/kernel/0510.3/1302.html was
> actually taking care of the compile problem through Kconfig better,
> since "acpi=off" option is available for our debug/testing purposes
> anyway.

hm, OK. I won't apply anything then - please send me your preferred fix if
you think there's something here which needs fixing. Either way, we should
attempt to make the kernel compile with all possible configs, if only to
keep `make randconfig' testers happy ;)

2006-01-04 02:47:10

by Protasevich, Natalie

[permalink] [raw]
Subject: RE: [Patch] es7000 broken without acpi

> "Protasevich, Natalie" <[email protected]> wrote:
> >
> > > Eric Sesterhenn / snakebyte <[email protected]> wrote:
> > > >
> > > > hi,
> > > >
> > > > a make randconfig gave me a situation where es7000 was
> enabled,
> > but > > acpi wasnt ( dont know if this makes sense ), gcc gave me
> > some > > compiling errors, which the following patch
> fixes. Please >
> > cc me as i am not on the list. Thanks.
> > > >
> > > >
> > >
> > > I believe that es7000 requires ACPI, so a better fix
> would be > to
> > enforce that within Kconfig.
> > >
> > > Natalie, can you please comment?
> >
> >
> > You are correct, Andrew: ES7000 "preferred" mode is ACPI
> (although it
> > runs in MPS as well, which we use for debugging of
> intermittent ACPI
> > and platform problems).
> > I have done a similar patch (see
> > http://bugzilla.kernel.org/attachment.cgi?id=5771&action=view)
> > against 2.6.13, but the one suggested later by Peter Hagervall
> > http://www.ussg.iu.edu/hypermail/linux/kernel/0510.3/1302.html was
> > actually taking care of the compile problem through Kconfig
> better,
> > since "acpi=off" option is available for our debug/testing
> purposes
> > anyway.
>
> hm, OK. I won't apply anything then - please send me your
> preferred fix if you think there's something here which needs
> fixing. Either way, we should attempt to make the kernel
> compile with all possible configs, if only to keep `make
> randconfig' testers happy ;)

Sure, I will go though the code and make sure to cover all of them :)
--Natalie

2006-01-04 10:05:35

by Peter Hagervall

[permalink] [raw]
Subject: Re: [Patch] es7000 broken without acpi

On Tue, Jan 03, 2006 at 03:48:08PM -0800, Andrew Morton wrote:
>
> I believe that es7000 requires ACPI, so a better fix would be to enforce
> that within Kconfig.
>
> Natalie, can you please comment?
>

This was discussed back in October [1], but nothing became of it. Should
I resend the patch perhaps?

Peter

[1] http://marc.theaimsgroup.com/?t=112928755800002&r=1&w=2

--
Peter Hagervall......................email: [email protected]
Department of Computing Science........tel: +46(0)90 786 7018
University of Ume?, SE-901 87 Ume?.....fax: +46(0)90 786 6126

2006-01-04 15:06:04

by Protasevich, Natalie

[permalink] [raw]
Subject: RE: [Patch] es7000 broken without acpi

> On Tue, Jan 03, 2006 at 03:48:08PM -0800, Andrew Morton wrote:
> >
> > I believe that es7000 requires ACPI, so a better fix would be to
> > enforce that within Kconfig.
> >
> > Natalie, can you please comment?
> >
>
> This was discussed back in October [1], but nothing became of
> it. Should I resend the patch perhaps?
>
> Peter
>
> [1] http://marc.theaimsgroup.com/?t=112928755800002&r=1&w=2
>

The only possible problem I see with that patch is making genapic
dependant on ACPI, which I'm not sure about (for example, if Summit
would want that, but nobody commented back then...Andi, what do you
think?) As for ES7000, it fixes build problem overall, however, maybe it
would be prudent to make it builldable even without its dependency on
ACPI, just for correctness sake, meaning properly #ifdef-ing ACPI parts,
this will make it more versatile (even though I cannot think of
situation it might be used...Andi, what do you think? :)
--Natalie

2006-01-04 15:51:18

by Andi Kleen

[permalink] [raw]
Subject: Re: [Patch] es7000 broken without acpi

On Wednesday 04 January 2006 16:05, Protasevich, Natalie wrote:

> The only possible problem I see with that patch is making genapic
> dependant on ACPI, which I'm not sure about (for example, if Summit
> would want that, but nobody commented back then...Andi, what do you
> think?) As for ES7000, it fixes build problem overall, however, maybe it
> would be prudent to make it builldable even without its dependency on
> ACPI, just for correctness sake, meaning properly #ifdef-ing ACPI parts,
> this will make it more versatile (even though I cannot think of
> situation it might be used...Andi, what do you think? :)

I haven't looked at it in detail, but likely it's better to
add the necessary ifdefs to es7000 to compile without ACPI
than making genapic dependent on ACPI. Not that it makes
that much difference in practice, but it would be cleaner this
way.

-Andi