From: Len Brown <len.brown@intel.com>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Arnaldo Carvalho de Melo <acme@conectiva.com.br>,
Kernel Mailing List <linux-kernel@vger.kernel.org>,
Natalie Protasevich <Natalie.Protasevich@UNISYS.com>
Subject: Re: [PATCH] fix platform_rename_gsi related ia32 build breakage
Date: 11 Nov 2004 17:22:29 -0500 [thread overview]
Message-ID: <1100211749.5510.753.camel@d845pe> (raw)
In-Reply-To: <Pine.LNX.4.58.0411101621020.2301@ppc970.osdl.org>
On Wed, 2004-11-10 at 19:24, Linus Torvalds wrote:
> Quite frankly, I think the whole thing is broken. #ifdef's inside code
> is _evil_, and "platform_rename_gsi()" doesn't make sense as a name.
> I'll apply your patch, but quite frankly, I think the ACPI layer is
> doing crap.
>
> Len, can you please use a more descriptive name, and have it be always
> defined (make it an inline function that just becomes a no-op or
> something).
This is already fixed in the latest ACPI patch, included in the current
-mm tree. So I've gone ahead and excluded the two csets you applied
adding the #ifdefs.
I used a function pointer here because the same kernel binary must be
able to run on an ES7000 or a non-ES7000, so the compile-time inline
idiom doesn't work. Originally we called it es7000-something, but since
the mechanism is general it could be used just as well by any non-ES7000
system, so we settled on a more generic name -- platform_rename_gsi().
What this routine does is accomodate exotic hardware. On the ES7000 the
hardware designers decided to connect their legacy devices to interrupt
pins > 15. Getting Linux to handle this was goodness because it forced
me to go through and clean up some old interrupt-source-override code
that basically worked by accident. But on the ES7000, the problem
remained for what to do about the PCI devices connected to interrupt
pins < 16, including pin0. Without platform_rename_gsi, these pins are
given identity-mapped IRQ#'s below 16, and Linux lives with lots of
legacy code that assumes that IRQ's below 16 are special. So
platform_rename_gsi() on the ES7000 simply gives these pins new IRQ#'s
starting above what would normally be the highest GSI in the system.
These number are not subject to any legacy special cases and MSI etc.
work fine.
Finally, there were two places this technicaue is used. ACPI-mode has
been in for a while. The one that broke the !ACPI MPS+IOAPIC build
yesterday was new -- it replaced a hack in the MPS code that that was
downright scary because it could potentially break any non-ES7000
system.
If you read this far and have suggestions for a more descriptive name
than platform_rename_gsi(), just let me know.
thanks,
-Len
next prev parent reply other threads:[~2004-11-11 22:23 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-10 23:50 [PATCH] fix platform_rename_gsi related ia32 build breakage Arnaldo Carvalho de Melo
2004-11-10 23:52 ` Arnaldo Carvalho de Melo
2004-11-11 0:10 ` Arnaldo Carvalho de Melo
2004-11-11 0:18 ` Arnaldo Carvalho de Melo
2004-11-11 0:24 ` Linus Torvalds
2004-11-11 0:29 ` Arnaldo Carvalho de Melo
2004-11-11 22:22 ` Len Brown [this message]
2004-11-11 22:30 ` Linus Torvalds
2004-11-11 23:25 ` Len Brown
2004-11-12 0:01 ` Linus Torvalds
2004-11-12 2:50 ` Len Brown
2004-11-12 3:08 ` Linus Torvalds
2004-11-11 0:20 ` Linus Torvalds
2004-11-11 0:23 ` Arnaldo Carvalho de Melo
2004-11-11 0:38 ` Andrew Morton
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=1100211749.5510.753.camel@d845pe \
--to=len.brown@intel.com \
--cc=Natalie.Protasevich@UNISYS.com \
--cc=acme@conectiva.com.br \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox