Wir haben eine Legacy-Anwendung geerbt, die unter DOS 6.2 und dem Phar-Lap DOS-Extender läuft (falls jemand alt genug ist, sich daran zu erinnern). Sie verwendet auch bis zu 6 serielle Schnittstellen (16550), die an festen Portadressen und IRQs vorhanden sein müssen. Es gibt noch viele dieser Systeme im Einsatz, aber die PCs beginnen zu versagen und es ist aufgrund der fest codierten IRQs unmöglich, kompatible Motherboards zu finden.
(Die Software installiert Interrupt-Handler für die COM-Ports, wobei COM3 bis COM6 voraussichtlich die Port/IRQ-Kombinationen 3E8/10, 280/11, 2A0/12 und 3A8/15 verwenden. Bei modernen Motherboards ist dies ein Problem.)
Kennt jemand eine Virtualisierungstechnologie, mit der man einen DOS-Gast auf einem Host mit 6 COM-Ports ausführen kann, dessen physische Ressourcen wie oben beschrieben dem Gast zugeordnet sind? Die Anzeigeanforderung ist VGA 640 x 480 und es gibt keine Netzwerkanforderung.
Antwort1
Mit Qemu (und damit auch mit KVM) können Sie beliebige serielle Ports definieren, es ist jedoch auf 4 Ports beschränkt und Sie können die Interrupts/IO-Ports nicht angeben. Dafür müssten Sie auf den Quellcode zugreifen.
Antwort2
Virtualbox ermöglicht bis zu 2 serielle Ports mit IRQ- und E/A-Port-Konfigurationen.
http://techtooltip.wordpress.com/2008/09/12/using-host-serial-port-from-guest-in-virtual-box/