From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.4 required=5.0 tests=AC_FROM_MANY_DOTS,BAYES_00 autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,da46977c58c329df X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-02-08 15:37:33 PST Path: archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!news-x2.support.nl!newsfeeds.belnet.be!news.belnet.be!psinet-eu-nl!psiuk-p4!uknet!psiuk-p3!uknet!psiuk-n!news.pace.co.uk!nh.pace.co.uk!not-for-mail From: "Marin David Condic" Newsgroups: comp.lang.ada Subject: Re: Ada's Slide To Oblivion ... Date: Fri, 8 Feb 2002 09:28:42 -0500 Organization: Posted on a server owned by Pace Micro Technology plc Message-ID: References: <4519e058.0201310714.650888e1@posting.google.com> <3C598CAA.7040801@home.com> <3C59FCD3.928144FB@adaworks.com> <7v8za79id0.fsf@vlinux.voxelvision.no> <3C6288CB.3227AF20@cfmu.eurocontrol.be> <3C62D397.8040001@mail.com> <%rC88.3860$oC3.2148048@typhoon.san.rr.com> <3C63AB8A.F52337D8@cfmu.eurocontrol.be> <7vlme4w4ax.fsf@vlinux.voxelvision.no> <3C63CB16.645FE25E@cfmu.eurocontrol.be> NNTP-Posting-Host: dhcp-200-133.miami.pace.co.uk X-Trace: nh.pace.co.uk 1013178523 13177 136.170.200.133 (8 Feb 2002 14:28:43 GMT) X-Complaints-To: newsmaster@news.cam.pace.co.uk NNTP-Posting-Date: 8 Feb 2002 14:28:43 GMT X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Xref: archiver1.google.com comp.lang.ada:19802 Date: 2002-02-08T14:28:43+00:00 List-Id: IIRC, the MC680x0 had pins coming out of it for Supervisor/User and Code/Data access so that a little bit of silicon could figure out that User/Code/Write access would not be allowed. A little hardware design would mean you didn't actually need the MMU to protect the space. Of course if you could get into Supervisor mode, you'd be handed the keys to the gates of paradise and all bets are off. But typically the only way to do that would be a) if your program got loaded at bootstrap or b) whatever program *did* get loaded at bootstrap had poor design. MDC -- Marin David Condic Senior Software Engineer Pace Micro Technology Americas www.pacemicro.com Enabling the digital revolution e-Mail: marin.condic@pacemicro.com Web: http://www.mcondic.com/ "Ian Wild" wrote in message news:3C63CB16.645FE25E@cfmu.eurocontrol.be... > > (sigh) > > Let's take the example of a 68000 'cos I've got the data sheet > readily available. There are three lines coming out of the > processor which distinguish various spaces. Of interest are: > > supervisor code > supervisor data > user code > user data > > If the OS is clever, and many of them were, it's set up the MMU > tables such that 'user code' exists at some point in 'supervisor > data', at least long enough to load the executable from disc. At > some later point it may re-map things so that 'user data' exists > at that same address in 'supervisor data', letting it initialise > the bss. At some late stage it initialises the MMU so that > 'user code' starts at address 0, 'user data' starts at address 0 > (but with the first page unmapped to catch NULL pointers), and > does a mode switch. There is then NO WAY from user mode to write > to the 'user code' space, and only limited (ie PC relative) access > for reading. > > Oh - before anyone suggest it, no, the MMU is not visible from > user mode either. > > Is this really rocket science? I would've though the above > sufficiently obvious that I could have got a patent on it.