From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=0.3 required=3.0 tests=BAYES_05,FROM_NO_USER autolearn=no autolearn_force=no version=3.4.5-pre1 Date: Mon, 28 Sep 92 15:56:25 CDT From: crispen <@ada3.ca.boeing.com:crispen@efftoo.boeing.com> Subject: Re: Using Global Variables Message-ID: <9209282056.AA12821@efftoo.boeing.com> List-Id: Victor Giddings and Lee Marden share some guilty secrets about using shared memory. Here's one of mine. On a multi-board VME chassis running VxWorks/VADSWorks, we changed the boot configuration file so that the sysMemTop function in VxWorks thought each VME board had 64K memory less than it actually had. This top 64K was used to pass data back and forth between the boards: for Control_Block use at System.Physical_Address (xxxxx); It worked great, especially when the system crashed, because the ROM monitor had the ability (under most kinds of crashes) to display memory in a hex dump even when the OS and all the application programs were thoroughly hosed. We knew that 0x3f0004 contained the service request, etc. Of course, we had a pretty firm control: one writer, one reader for a field, and the writer interrupted the reader when it wanted the reader to read the field. I really enjoyed this. It was like the old days in microprocessors, where you knew were everything was and you treated machines like machines. Those were the days... +-------------------------------+--------------------------------------+ | Bob Crispen | The owls are not what they seem | | crispen@foxy.boeing.com +--------------------------------------+ | (205) 461-3296 |Opinions expressed here are mine alone| +-------------------------------+--------------------------------------+