home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.linux
- Path: sparky!uunet!ornl!utkcs2!darwin.sura.net!udel!wupost!cs.utexas.edu!sun-barr!ames!agate!doc.ic.ac.uk!warwick!pipex!bnr.co.uk!bnrgate!corpgate!crchh327!crchh7b9!minyard
- From: minyard@crchh7b9 (Corey Minyard)
- Subject: Re: PC port I/O for Linux MS-DOS emulator (long)
- Message-ID: <1992Dec11.205058.22404@bnr.ca>
- Sender: news@bnr.ca (News on crchh327)
- Nntp-Posting-Host: crchh7b9
- Organization: Bell-Northern Research, Richardson, Tx
- X-Newsreader: TIN [version 1.1 PL8]
- References: <77873@hydra.gatech.EDU>
- Date: Fri, 11 Dec 1992 20:50:58 GMT
- Lines: 43
-
- Howlin' Bob (gt8134b@prism.gatech.EDU) wrote:
- : dear Those in the Know,
-
- : A plea for help:
-
- : I am currently modifying Linux's (pre-alpha) MS-DOS emulator to
- : support simulated port I/O; that is, if a program does an in
- : from I/O address 0x2f8, I'll hand it the next available character
- : on com2. The author of the dos emulator provided much of the
- : framework I need for this, which isn't that much anyway. Because it
- : runs in the 386's vm86 mode with no I/O permissions, all port I/O is
- : trapped and passed to emulator functions inb() and outb().
-
- : I have implemented a 3-minute subset of com port 2 (i.e. the UART
- : at 0x2f8) that at least fools Telix into thinking that there
- : is a UART there. Telix hangs after out'ing something to
- : port 0x21, which I believe is the interrupt controller. This, along
- : with the fact that Telix accesses the UART's interrupt enable and
- : interrupt id registers, has led me to believe that Telix is waiting
- : for a serial interrupt.
-
- You are running into a problem I have been thinking about and will
- have to solve soon. I need to modify the DOS emulator so I can use an
- "in circuit emulator (ICE)" under DOS. This will require port access
- (not too difficult with inb and outb) and the ability to receive
- interrupts (much more difficult). This means that when the board sends
- an interrupt, it somehow filters up through the OS and gets to the
- task, probably as a signal. I don't know if SIGIO will do this for
- serial ports, but I will have to do custom work to implement a signal
- to handle this.
-
- Any kernel gurus that want to comment on this problem?
-
- Also, I have writing my own MS-DOS emulator for the DOS emulator. No
- need to have a real version of MS-DOS, and you can directly run DOS
- programs without having to start up DOS first. It seems to run most
- programs ok (My C compiler works great) but programs that come with
- DOS 5 behave very badly; some of them call functions that are not even
- documented in the DOS 5 Undocumented DOS! MS-DOS is a wierd beast, a
- whole collection of kludges that somehow work.
-
- Corey
- minyard@bnr.ca
-