home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.sys.m68k
- Path: sparky!uunet!cs.utexas.edu!sun-barr!ames!elroy.jpl.nasa.gov!usc!sol.ctr.columbia.edu!destroyer!ubc-cs!unixg.ubc.ca!kakwa.ucs.ualberta.ca!acs.ucalgary.ca!cuugnet!cookshak
- From: cookshak@cuug.ab.ca (Kelvin Cookshaw 266-3642)
- Subject: 68030 MMU problems
- Message-ID: <1992Sep10.090312.25173@cuug.ab.ca>
- Summary: can't get some things working
- Keywords: 68030 MMU
- Sender: cookshak@cuugnet.cuug.ab.ca
- Nntp-Posting-Host: sun.cuug.ab.ca
- Organization: Calgary UNIX User's Group
- Date: Thu, 10 Sep 1992 09:03:12 GMT
- Lines: 40
-
- I am trying to write some simple OS code for an 68030. I am currently
- working on the MMU code. I have read all the Motorola manuals and still
- haven't found an answer to my problem. The problem is as follows:
-
- - I am using 4Kb pages
- - my tables levels are 2,9,9
- - my real memory is 4Mb from 0x07C00000 and 16Mb from 0x00000000
-
- - I am trying to map the 07C00000 to virtual 80000000
- - I am trying to map the 00000000 to virtual 90000000
-
- - my CRP register is 0x00030002,0x07C00000
- - tables A and B are at address 0x07C00000 and 0x07C01000
-
- - my level A table is:
- 0x00000000,0x00000000,0x07C01002,0x00000000
-
- - my level B table is:
- 0x07C00001,62 0's,0x00000041,0x00200041,0x00400041,
- 0x00600041,0x00800041,0x00A00041,0x00E00041, rest 0's
-
- - the level C table is unused since level B is all early terminated
- - my TC is 0x80C02990
-
- - the kernel code starts at 0x07C03000
- - my startup code looks like:
- move.l #$80003000,a0
- lea.l tc_val,a1
- pmove (a1),TC
- jmp (a0)
- tc_val: dc.l $80C02990
-
- - this code assumes the bra will be in the cache since after
- loading the TC the code has all moved
-
- I set this all up but I get a trap as soon as I set the TC. Can I not have
- a table on only 2 bits? If I up the table sizes to something like 6,5,7
- then all seems to work. Any ideas?
-
- Brad Pepers (cookshak@cuugnet.cuug.ab.ca)
-