public inbox for linux-msdos@vger.kernel.org
 help / color / mirror / Atom feed
From: Mouse <mouse@Rodents-Montreal.ORG>
To: linux-msdos@vger.kernel.org
Subject: Re: Emulated PCI devices?
Date: Tue, 18 Oct 2016 20:03:33 -0400 (EDT)	[thread overview]
Message-ID: <201610190003.UAA13130@Stone.Rodents-Montreal.ORG> (raw)
In-Reply-To: <d42dd07d-faeb-26dc-b640-7ad28cdeb351@list.ru>

>> I'm working with dosemu and would like to add an emulated PCI device
>> to the emulated DOS machine.  [...]

>> Is this something that's already got hooks supporting it, or am I
>> breaking new ground here?

> There was never any need to emulate the PCI device for DOS.  There
> are hardly too many DOS drivers for the PCI devices.

In general, perhaps not. :-)

> Maybe you can instead emulate the ISA version of that device,

As far as I know, no ISA version has ever existed - and, indeed, the
particular device in question has just recently been EOLed by its
maker.

> Or maybe you simply want to use qemu

It may come to that; I'm working with dosemu because that was the first
DOS emulator we tried that we could make the software run in.  And, in
some respects, I prefer the way dosemu emulates DOS in much the same
sense that wine emulates Windows, instead of emulating hardware proper
and not caring what software is running on it.

> because I can't think of the real use-cases where you want to emulate
> some modern device under dosemu or dosbox.

Well, I daresay they are not common, but I've got one. :-)

I can't go into too much detail (NDAs and such), but it involves a
legacy application, running under DOS, which depends on a particular
(relatively rare and expensive) piece of hardware.  I got involved in
an effort to port/rewrite to make it run under something more modern -
but then the hardware was EOLed and the full port/rewrite is likely to
take longer than the company can keep going on their EOL-buy hardware
quantity.  Thus, we are looking at adding a little glue logic and
running the legacy code (unchanged or with minor tweaks) under
emulation, as a bridge until the full move to something more modern is
completed.

We'd rather keep the application basically unchanged (so that the same
binary can run on real machines with the special hardware, or on the
emulator), or I'd just rip out all the special hardware interfacing and
replace it with traps to the emulator.  I may have to do that with a
run-time switch based on a test for emulation anyway, but I figured
emulating the device was an approach worth at least looking at.

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse@rodents-montreal.org
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B

  reply	other threads:[~2016-10-19  0:03 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-18 21:45 Emulated PCI devices? Mouse
2016-10-18 22:50 ` Stas Sergeev
2016-10-19  0:03   ` Mouse [this message]
2016-10-19 22:45     ` Stas Sergeev
2016-10-20  2:36       ` Mouse
2016-10-20 22:36         ` Stas Sergeev
2016-10-22 13:34           ` Mouse
2016-10-22 20:23             ` Stas Sergeev

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=201610190003.UAA13130@Stone.Rodents-Montreal.ORG \
    --to=mouse@rodents-montreal.org \
    --cc=linux-msdos@vger.kernel.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