[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.2106011918390.11113@angie.orcam.me.uk>
Date: Tue, 1 Jun 2021 19:44:58 +0200 (CEST)
From: "Maciej W. Rozycki" <macro@...am.me.uk>
To: Heiner Kallweit <hkallweit1@...il.com>
cc: Nikolai Zhubr <zhubr.2@...il.com>, Arnd Bergmann <arnd@...nel.org>,
netdev <netdev@...r.kernel.org>, Jeff Garzik <jgarzik@...ox.com>
Subject: Re: Realtek 8139 problem on 486.
On Tue, 1 Jun 2021, Heiner Kallweit wrote:
> > Alternatively, maybe it is possible to explicitely request level mode from 8259 at the driver startup?
> >
> I have doubts that it is possible to overrule what the BIOS/ACPI communicate
> to the kernel.
Umm, any 486 system surely predates ACPI by several years; indeed I have
a dual Pentium MMX system from 1997 that does not have ACPI either and
uses an MP Table to communicate interrupt line configuration. I am fairly
sure an old UP 486 system communicates nothing.
Since the inception of EISA the usual way for x86 systems to switch
between classic edge-triggered and level-triggered interrupts on a line by
line basis has been the ELCR, a 16-bit mainboard register at 0x4d0 in the
port I/O space. We do have support for that register, however used in
certain circumstances only, clearly not yours. Classic 8259A chips could
only switch trigger modes globally across all interrupt lines.
You might be able to add a quirk based on your chipset's vendor/device ID
though, which would call `elcr_set_level_irq' for interrupt lines claimed
by PCI devices. You'd have to match on the southbridge's ID I imagine, if
any (ISTR at least one Intel chipset did not have a southbridge visible on
PCI), as it's where the 8259A cores along with any ELCR reside.
It would be the right thing to do IMO; those early PCI systems often got
these things wrong, and the selection for the trigger mode shouldn't have
been there in the BIOS setup in the first place (the manufacturer couldn't
obviously figure it out how to do this correctly by just scanning PCI, so
they shifted the burden onto the end user; though I have to admit odd hw
used to be made too, e.g. I remember seeing a PCI PATA option card with an
extra cable and a tiny PCB stub to be plugged into the upper part of a
spare ISA slot to get IRQ 14/15 routed from there).
HTH,
Maciej
Powered by blists - more mailing lists