home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / sys / amiga / programm / 13329 < prev    next >
Encoding:
Internet Message Format  |  1992-09-13  |  3.5 KB

  1. Path: sparky!uunet!cbmvax!kcd
  2. From: kcd@cbmvax.commodore.com (Ken Dyke - Amiga Networking)
  3. Newsgroups: comp.sys.amiga.programmer
  4. Subject: Re: 68040 MMU Tools?
  5. Message-ID: <35057@cbmvax.commodore.com>
  6. Date: 12 Sep 92 14:59:47 GMT
  7. References: <1992Sep11.201144.16881@ifi.unizh.ch> <1992Sep11.212657.5929@beaver.cs.washington.edu>
  8. Reply-To: kcd@cbmvax.commodore.com (Ken Dyke - Amiga Networking)
  9. Organization: Commodore, West Chester, PA
  10. Lines: 68
  11.  
  12. In article <1992Sep11.212657.5929@beaver.cs.washington.edu> wille@june.cs.washington.edu (Robert Wille) writes:
  13. >In article <1992Sep11.201144.16881@ifi.unizh.ch>, swalter@avalon.physik.unizh.ch (walter stefan) writes:
  14. >|> 
  15. >|> Sorry for wasting bandwidth with such a simple question. Are there
  16. >|> any MMU based 68040 tools around? I haven't seen any so far but
  17. >|> I'd need some, i.e. a FastRom or Enforcer like tool or whatever.
  18. >|> 
  19. >|> Thanks, Stefan
  20. >
  21. >I have an even simpler question.  Is the '040's MMU that much different
  22. >from the '030's?  If so, what I'm interested in knowing what differences
  23. >there are.
  24.  
  25. Well, there are a LOT of differences between the two MMU designs that make
  26. writing tools like Enforcer/SetCPU/etc. rather difficult but NOT impossible
  27. :)
  28.  
  29. First, the 68040's MMUs do not support early page termination as the 68030
  30. does.  This means, that you must have a completely filled in MMU table,
  31. which eats up considerably more RAM than 030 tables do.  For example, if
  32. you needed to have individual control of every single page in the system
  33. and you were using 4K pages, the MMU table would require two megabytes of
  34. RAM, assuming that the supervisor and user level tables were the same.
  35.  
  36. Another difference is that the 040 only supports 4K and 8K page sizes, while
  37. the 030 is much more flexible (sorry, I can't remember exaclty what the
  38. 030 is capable of).
  39.  
  40. However, it's not so much the MMU's that make writing and Enforcer-like
  41. utility difficult, it's the 040's exception processing.  The 68030 used
  42. a continuation model for access error exceptions.  This meant that if
  43. you were to access illegal memory, Enforcer could print out the hit, and
  44. then fill in the exception stack frame with the data that it wanted you
  45. to read (usually 0) and then let the 030 continue it's cycle.
  46.  
  47. The 040 on the other hand must always re-run the instruction if a read
  48. fault occurs.  This is the problem.  With something like Enforcer, this
  49. means that you must somehow let the program run *just one* instruction
  50. with a modified page table that says it's OK to read that location.  Then
  51. immediately after that instruction executes, you have to quickly mark
  52. that page as illegal again.  This gets really ugly when you try to make
  53. accesses to low memory illegal, and still be able to read from location
  54. 4.
  55.  
  56. Take heart, though.  About 3-4 months ago I wrote a version of Enforcer
  57. for the 68040, but it was a serious *hack* to say the least.  There is
  58. a better one in the works, but I have no idea how long it will be before
  59. it's available, but with the release of the A4000, having 68040 tools
  60. will be very important, I think.
  61.  
  62. -Ken
  63.  
  64.  
  65. >
  66. >-- 
  67. >Robert
  68. >
  69. >Warning: The food and drug administration has announced that saliva causes
  70. >         stomach cancer, but only when swallowed in small amounts over a
  71. >         long period of time.
  72.  
  73.  
  74. -- 
  75. Kenneth Dyke                                  All of the above opinions are my
  76. Commodore-Amiga Networking Group              own and not necessarily those of
  77. email: kcd@cbmvax.commodore.com               my employer.
  78.  
  79.         "You'll get over it.  If not, you'll learn to live with it."
  80.