home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / os / linux / 20511 < prev    next >
Encoding:
Internet Message Format  |  1992-12-15  |  2.6 KB

  1. Path: sparky!uunet!olivea!spool.mu.edu!uwm.edu!cs.utexas.edu!hermes.chpc.utexas.edu!news.utdallas.edu!corpgate!brtph560!batph8!news
  2. From: cullend@bnr.ca (Dave Cullen)
  3. Newsgroups: comp.os.linux
  4. Subject: Re: Floppy DMA, question and patch (?)
  5. Keywords: floppy,dma,patch,kernel,0.98.6,1MB,16MB,unofficial
  6. Message-ID: <1992Dec15.153610.25233@bnr.ca>
  7. Date: 15 Dec 92 15:36:10 GMT
  8. References: <If=DXGK00Vp3MDgVMZ@andrew.cmu.edu>
  9. Sender: news@bnr.ca (News Server Administrator)
  10. Reply-To: cullend@bnr.ca
  11. Distribution: na
  12. Organization: BNR, Inc., Atlanta
  13. Lines: 52
  14.  
  15. In article <If=DXGK00Vp3MDgVMZ@andrew.cmu.edu>, fl0p+@andrew.cmu.edu (Frank T Lofaro) writes:
  16. |> 
  17. |>     Is the 1MB DMA restriction in the floppy code necessary, or can
  18. |> 386/486's handle 16MB DMA for the floppy? I have this patch (suggested
  19. |> to me in e-mail) that ups the limit to 16MB from 1MB, and it seems to
  20. |> work. This patch was made using 0.98.6, but should fit into just about
  21. |> anything. (its really small). I am not posting in to
  22. |> comp.os.linux.announce, since I am not sure that what it does is okay.
  23. |> It seems to work for me, so far... Well, here is the patch, for
  24. |> kernel/blk_drv/floppy.c. Sorry, you have to cd into kernel/blk_drv after
  25. |> cd'ing into the root of your source tree (I made the diff in that
  26. |> directory, and since it is unofficial, and I was in a hurry, I haven't
  27. |> had a chance to fix it.). Well anyway, here is the patch, for those that
  28. |> want to try it. *NO GUARANTEES THAT THIS WILL WORK. IT MIGHT EVEN CRASH
  29. |> YOUR SYSTEM OR DAMAGE FILES*. Hopefully, we will all hear soon if this
  30. |> change is okay.
  31. |> 
  32. |> *** floppy.c.olddma    Mon Dec 14 00:54:40 1992
  33. |> --- floppy.c    Mon Dec 14 00:55:40 1992
  34. |> ***************
  35. |> *** 121,129 ****
  36. |>   
  37. |>   /*
  38. |>    * The DMA channel used by the floppy controller cannot access data at
  39. |> !  * addresses >= 1MB
  40. |>    */
  41. |> ! #define LAST_DMA_ADDR    (0x100000 - BLOCK_SIZE)
  42. |>   
  43. |>   /*
  44. |>    * globals used by 'result()'
  45. |> --- 121,129 ----
  46. |>   
  47. |>   /*
  48. |>    * The DMA channel used by the floppy controller cannot access data at
  49. |> !  * addresses >= 16MB
  50. |>    */
  51. |> ! #define LAST_DMA_ADDR    (0x1000000 - BLOCK_SIZE)
  52. |>   
  53. |>   /*
  54. |>    * globals used by 'result()'
  55.  
  56. Sooner or later this will trash your system.  DMA can be done up to
  57. 16MB but thep DMA page registers need to be programmed with the high
  58. 7 bits of the address.  Currently the DMA page registers are never
  59. programmed in linux and just left the way the bios programmed them at 0.
  60.  
  61. The DMA page registers are at I/O address 80H - 9FH.  I don't remember
  62. which page register address corresponds with which DMA channel but I
  63. can look it up when I get home if anyone wants to know.
  64.  
  65. David
  66.  
  67.