Re: [PATCH v2 0/4] Introduce and use absolute_pointer macro
From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2021-09-18 17:04:48
Also in:
linux-alpha, lkml
On Sat, Sep 18, 2021 at 6:11 AM Ulrich Teichert [off-list ref] wrote:
Hi,quoted
On Thu, Sep 16, 2021 at 11:35:36AM -0700, Linus Torvalds wrote:quoted
Naah. I think the Jensen actually had an ISA slot. Came with a whopping 8MB too, so the ISA DMA should work just fine. Or maybe it was EISA only? I really don't remember.It's EISA only. I've made some pictures of a somewhat dusty inside of a Jensen with 4 EISA cards (from bottom to top: SCSI, video, 2x network):
Ok. Looking around the config options, there _are_ systems with ISA slots, but it's not the old Jensen one. It's apparently some evaluation boards but also the "AlphaPC64" one. So we do want CONFIG_ISA for alpha, even if not Jensen. (I forget which alpha I had. For some reason I want to think I had an EISA machine and probably Jensen. Maybe upgraded to a 164 later?)
I could not get a recent kernel to boot, but it's booting ancient kernels just fine: Linux version 2.4.27-2-generic (tretkowski@bastille) (gcc version 3.3.5 (Debian 1:3.3.5-12)) #1 Sun May 29 18:40:58 UTC 2005
Ouch. Without having some kind of bisection, I guess we'll never know. And I assume it's not really been tested since, so it could be multiple reasons, including compiler updates causing dodgy code to not work etc etc.
While we're at it, during my vain attempts to get new kernels to boot, I tried to disable PCI support to make the kernels smaller (after all, the Jensen has only EISA, so what good would PCI support for?) and got it to compile with the attached patch (which fixes some warnings, too).
Can you send me your Jensen config?
I do not see why you should be using that horrible __EXERN_INLINE. It
will cause gcc to sometimes not inline at all, and not generate the
out-of-line body either.
Sometimes that is what you want: you want to generate one single body
of the function, and particularly one that is _different_ from the
inlining case (ie for inlining you want to do the simple thing, for
out-of-line you do something fancier).
But that isn't the case here, so this looks like a workaround for
something else. But this code does end up using preprocessor
concatenation etc, so I might be missing some case.
Linus