Library /sys$common/syshlp/sda.hlb CPU Context *Conan The Librarian (sorry for the slow response - running on an old VAX) |
In a uniprocessor system there exists only one CPU, and the concept of SDA CPU context is not an issue. However, for a multiprocessor system with more than one active CPU, SDA must maintain an idea of CPU context to provide a way of displaying information bound to a specific CPU, such as the reason for the BUGCHECK exception, the currently executing process, the current IPL, the contents of CPU registers, the interrupt stack pointer (ISP), and any owned spinlocks. When SDA is first invoked to analyze a crash dump, the "SDA current CPU" is the CPU that induced the system failure. The CPU context will be changed as a result of several different SDA commands. When the CPU context is changed, the "SDA current process" is changed to the current process on the "SDA current CPU" in order to keep CPU context and process context in synch. If there is no current process on the "SDA current CPU", the "SDA current process" is undefined, and no process context information will be available until SDA process context is set to a specific process. Type HELP PROCESS_CONTEXT for specific information about the "SDA current process". The following SDA commands will change the "SDA current CPU": SET CPU cpu_id ! Changes the "SDA current CPU" to CPU cpu_id SHOW CPU cpu_id ! Changes the "SDA current CPU" to CPU cpu_id SHOW CRASH ! Changes the "SDA current CPU" to the CPU ! that induced the system failure If a process is selected that is the current process on a CPU, the following commands will change the "SDA current CPU" to that CPU: SET PROCESS process_name SET PROCESS /INDEX=n SHOW PROCESS process_name SHOW PROCESS /INDEX=n No other SDA commands will affect the "SDA current CPU". Note: When analyzing the running system, the SET CPU and SHOW CPU commands are not allowed, since SDA does not have access to all the CPU-specific information on the running system.
|