Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!uunet!tektronix!orca!tekecs!frip!andrew From: andrew@frip.wv.tek.com (Andrew Klossner) Newsgroups: comp.arch Subject: address masking gimmick Message-ID: <11271@tekecs.GWD.TEK.COM> Date: 11 Apr 89 19:36:41 GMT References: <28200296@mcdurb> Sender: andrew@tekecs.GWD.TEK.COM Organization: Tektronix, Wilsonville, Oregon Lines: 19 [] "Time yet again for expression of one of my favorite architectural "gimmicks": provide a mask that is implicitly ANDed with any {instruction,data} address before use -- this way you could place tag bits in the low bits, in the high bits, or in any bit you wanted (and not have to rely on features like "The 68000 only implements 24 address bits", etc.)." We used this approach in implementing Smalltalk on a 68020-based workstation. Everything was fine until a system call in which the process passed a tagged address to the kernel. We looked at the work involved in teaching the kernel to apply the mask to every user address that it ever sees, and threw up our hands. The compromise was to mask the address on a page fault, but to require the application explicitly to mask addresses passed through syscalls. -=- Andrew Klossner (uunet!tektronix!orca!frip!andrew) [UUCP] (andrew%frip.wv.tek.com@relay.cs.net) [ARPA]