Hi Frank,

On Sat, 5 Feb 2022, Frantisek Rysanek wrote:

... I had an inkling to implement "simple OR logic" - which is
not the correct way to share edge-triggered interrupts, but if you
have have a way of polling the ports every now and then outside of
the dedicated ISR, you can avoid losing keystrokes ...

Yup.  A function called dogwatch() which gets called now and again. :)

... broken BIOS (DSDT) and PCI-e, where turning on "noapic" would
result in a combination of "legacy ISA and legacy PCI" IRQ's below
16, combined with MSI used for PCI-e peripherals ...

Urgh.  Looks like I might be writing more pages in my notes.

Which obviously does not help you to re-route a particular APIC GSI
to IRQ3/4, if that's your whole point...

Quite.

I've done a bit of googling ...

I've spent days!

... and found some relevant details.

Sounds like with your experience you might be better placed to pick
search terms than I am. :/

To re-route some particular IRQ line (APIC input) e.g. to IRQ3 or
... two different theoretical possibilities:

A) reprogram the relevant IO-APIC

It seemed to me that this might be the 'proper' way to do it.

B) make a TSR that installs an ISR for the "boot IRQ" ..

That's the way I've been leaning so far.

A) reprogram the relevant IO-APIC
...
... https://wiki.osdev.org/IOAPIC

Thank you.

...
Looking at the IO APIC register map, it's clear that if you know or
can find out the right GSI (row in the table), you can tell the APIC
what *vector* to call ...

The sort of thing I had in my simple mind.

... "legacy mode" is a whole separate arrangement...
... https://groups.google.com/g/linux.kernel/c/0CZSA3ZtToE?pli=1
and I just hope I understand it correctly.

Urgh.

... Not sure if it's enabled by the BIOS, and thus, if you merely
reprogram the IO-APIC to use direct delivery of a particular GSI to
the desired IRQ 3 vector, if a corresponding config in the LAPIC is
needed: ...

Well I could just try it. :O

... DPMI / protected mode have some specific workarounds (a
translation layer) for legacy DOS interrupt services...
... you'll probably need DPMI even to take a look into the APIC.
...

I've been looking around for the source for the DOS extender I used,
it's called X32 from a company called Flashtek which was formed by a
couple of Zortech developers after what I gather was an acrimonious
dispute with Symantec (who bought Zortech, then seemingly welched on
some contract terms).

https://en.wikipedia.org/wiki/DOS_extender

Back in the day I tried several, they all had their shortcomings but
X32 seemed to work better than anything else I could find - plus the
author (a guy called Doug Huffman, who apparently worked on a farm in
Idaho in the summer and on software for a bit of light relief in the
winter) was very responsive - so I stuck with that.  No sign thus far
of any source, but there are other apparently well-regarded extenders
which are open source.  I might give Causeway a spin but (since about
mid-2018) I don't run a large in-house installation of DOS business
software, testing it under real-world conditions presents challenges.

If you'd appreciate further reading ...

Always up for further reading, thanks!

... To me, the complexity of ACPI is sheer and humiliating.
Probably much too complex to try and save old DOS software.

Well it can sometimes work under an emulator or a VM, but I'm
beginning to think you're right about that too.  It would be much
easier if there had only ever been one take on it.

B) software-based rerouting of IRQ's:
...
I've never done this and cannot offer any detailed instructions...
...
Actually, I just seem to have spotted a pitfall: ...

If there's only one I'll be pleasantly surprised. :/

To sum up, I cannot see any easy prospects for "transparent IRQ
redirection". If you have the source code of your production app,
your safest bet is probably just to hook the right IRQ, available to
you transparently by means of the "boot IRQ" mode if your system is
new enough to have an APIC.

As per my first reply to your post, I think you might be right.

BTW, PCISCAN utils have been mentioned...

Got it, I'll take a look.

BTW2, Pascal is not my pot of tea either.

:-}

... PCI-1716 driver that I've included is just an odd experiment ...

Did I miss something?  No attachment, DKIM says your mail was altered.

Thanks very much once again for the education, it's most welcome.

--

73,
Ged.


_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to