Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!cs.utexas.edu!uunet!indetech!daver!bungi.com!news From: culberts@hplwbc.hpl.hp.com (Bruce Culbertson) Newsgroups: comp.sys.nsc.32k Subject: Re: ICU and the Refresh Clock Message-ID: <9103251713.AA00711@hplwbc.hpl.hp.com> Date: 25 Mar 91 17:13:17 GMT Sender: news@daver.bungi.com Lines: 48 Approved: news@daver.bungi.com Hi Randy, > According to NS, if a dbugger patches in a BPT instruction (meaning you've > got self-modifying code) you need to invalidate the cache and "serialize" > the instruction stream. Come to think of it, I never explicitly invalidated the cache in the monitor where it inserts BPT's. It does write both PTB's, though, and maybe that has the same effect. Never noticed a problem. Since I originally used the monitor on a 32016, I could have overlooked a few of the 32532 details. > Does Minix/532 use the SVC instruction to call the operating system? Yes. > Is SVC the only way to call some system routines at who knows where in > system RAM? I think it is the only obvious way. You could, of course, use BPT, divide-by-zero, or some illegal opcode. You need something which causes an exception to change the memory mapping, privilege level, etc. > I copied the instruction sequence from Bruce's monitor *exactly* (the one > which initializes the ICU to generate the refresh clock) and executed it from > RAM under control of the monitor. It crashed the system. Did you execute the code which initializes the memory parity? It writes every location in the DRAM, which would have wiped out your program. When I debugged the monitor, I also ran it in DRAM. However, I inserted a "br _main" at the beginning so it would skip the memory initialization. > On another plane, if anyone knows of a good reference that will explain > user/system memory spaces and how the two talk to each other (e.g., how do > processes and the OS communicate?), I'd sure appreciate a pointer. I do not > relish the idea of experimenting with code until I get something to work. > Is there an NS/TI32532 programming manual? I have the hardware manual. > But my programming manual is just for Series 32000 (written in the days of the > 32016) and it doesn't discuss some of the newer features like direct exceptions, > etc. I have "Series 32000 Microprocessors Databook Rev.1" and the old 32016 programming manual. Between the two of them, I think you get a complete description of the 32532. However, something more tutorial might be nice to have. Bruce