home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / os / linux / 19997 < prev    next >
Encoding:
Text File  |  1992-12-11  |  2.6 KB  |  57 lines

  1. Newsgroups: comp.os.linux
  2. 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
  3. From: minyard@crchh7b9 (Corey Minyard)
  4. Subject: Re: PC port I/O for Linux MS-DOS emulator (long)
  5. Message-ID: <1992Dec11.205058.22404@bnr.ca>
  6. Sender: news@bnr.ca (News on crchh327)
  7. Nntp-Posting-Host: crchh7b9
  8. Organization: Bell-Northern Research, Richardson, Tx
  9. X-Newsreader: TIN [version 1.1 PL8]
  10. References: <77873@hydra.gatech.EDU>
  11. Date: Fri, 11 Dec 1992 20:50:58 GMT
  12. Lines: 43
  13.  
  14. Howlin' Bob (gt8134b@prism.gatech.EDU) wrote:
  15. : dear Those in the Know,
  16.  
  17. : A plea for help:
  18.  
  19. :    I am currently modifying Linux's (pre-alpha) MS-DOS emulator to 
  20. : support simulated port I/O; that is, if a program does an in
  21. : from I/O address 0x2f8, I'll hand it the next available character
  22. : on com2.  The author of the dos emulator provided much of the
  23. : framework I need for this, which isn't that much anyway.  Because it
  24. : runs in the 386's vm86 mode with no I/O permissions, all port I/O is
  25. : trapped and passed to emulator functions inb() and outb().  
  26.  
  27. :    I have implemented a 3-minute subset of com port 2 (i.e. the UART
  28. : at 0x2f8) that at least fools Telix into thinking that there
  29. : is a UART there.  Telix hangs after out'ing something to
  30. : port 0x21, which I believe is the interrupt controller.  This, along
  31. : with the fact that Telix accesses the UART's interrupt enable and
  32. : interrupt id registers, has led me to believe that Telix is waiting
  33. : for a serial interrupt.
  34.  
  35. You are running into a problem I have been thinking about and will
  36. have to solve soon.  I need to modify the DOS emulator so I can use an
  37. "in circuit emulator (ICE)" under DOS.  This will require port access
  38. (not too difficult with inb and outb) and the ability to receive
  39. interrupts (much more difficult). This means that when the board sends
  40. an interrupt, it somehow filters up through the OS and gets to the
  41. task, probably as a signal.  I don't know if SIGIO will do this for
  42. serial ports, but I will have to do custom work to implement a signal
  43. to handle this.
  44.  
  45. Any kernel gurus that want to comment on this problem?
  46.  
  47. Also, I have writing my own MS-DOS emulator for the DOS emulator.  No
  48. need to have a real version of MS-DOS, and you can directly run DOS
  49. programs without having to start up DOS first. It seems to run most
  50. programs ok (My C compiler works great) but programs that come with
  51. DOS 5 behave very badly; some of them call functions that are not even
  52. documented in the DOS 5 Undocumented DOS!  MS-DOS is a wierd beast, a
  53. whole collection of kludges that somehow work.
  54.  
  55. Corey
  56. minyard@bnr.ca
  57.