Path: utzoo!attcan!uunet!wuarchive!julius.cs.uiuc.edu!roundup.crhc.uiuc.edu!ux1.cso.uiuc.edu!ernie!bazyar From: bazyar@ernie (Jawaid Bazyar) Newsgroups: comp.sys.apple2 Subject: Re: MMu on the GS Keywords: Multitasking, MMU, memory-mapped Message-ID: <1991Jan12.080705.25038@ux1.cso.uiuc.edu> Date: 12 Jan 91 08:07:05 GMT References: <278e8271.b58@petunia.CalPoly.EDU> Sender: news@ux1.cso.uiuc.edu (News) Reply-To: bazyar@cs.uiuc.edu Organization: Mutation Testing Facility/UIUC Lines: 40 In article <278e8271.b58@petunia.CalPoly.EDU> rbannon@mira.acs.calpoly.edu (Roy Bannon) writes: [describes how a memory-mapped scenario would execute a system call] >then lets the instruction restart. At the end of the tool routine, the rtl >will not cause a page-fault, because they are at system level, so how does >the mmu know that that proc A is back in control? That's pretty simply. Instead of restarting the instruction, since we know that it's a tool call, we make the tool call ourselves. That way, the tool returns to us and we can set Proc A back in control. We can save the registers directly to their pushed locations on the stack (done by the exception handler) and RTI. >3) My second thought is about interrupts. My thought now is when an interrupt >occurs to automattically set the level to highest. If it went through the same >search as in 2 above, the latency befor the isr was executed would be long. >Since this would be tied to the hardware int line, brk or cop wouldn't have an >effect. When an interrupt occurs, the '851 automatically switches to privileged mode. The system would know which process was currently executing, and could easily restore that state before the RTI instruction was executed. We have to build a bit of logic to generate the extended instruction set codes the '851 expects anyway, so having this logic watch for the RTI then resuming user mode shouldn't be a problem. >Anyway, I not completely convinced that a cop #XX where XX is also checked >would be bad. For example if we used on of the sigs that Western Design >has reserved (we know they will never use them) it would not confilct with >all the other people using cop. But, as I mentioned before, a process could crash to a 'COP xx' which was an MMU control instruction, blowing up the system. -- Jawaid Bazyar | Being is Mathematics Senior/Computer Engineering | Love is Chemistry bazyar@cs.uiuc.edu | Sex is Physics Apple II Forever! | Babies are engineering