06.08.2013 Views

pSOSystem System Calls - Read

pSOSystem System Calls - Read

pSOSystem System Calls - Read

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

pSOS+ <strong>System</strong> <strong>Calls</strong> k_fatal<br />

Notes<br />

1. The shutdown procedure is a procedure whereby pSOS+ attempts to halt<br />

execution in the most orderly manner possible. The pSOS+ kernel first<br />

examines the pSOS+ Configuration Table entry kc_fatal. If this entry is<br />

nonzero, the pSOS+ kernel jumps to this address. If kc_fatal is zero, and the<br />

pROBE+ <strong>System</strong> Debug/Analyzer is present, then the pSOS+ kernel passes<br />

control to the <strong>System</strong> Failure entry of the pROBE+ debugger. For a description<br />

of the pROBE+ debugger behavior in this case, refer to the pROBE+ User’s<br />

Manual. Finally, if the pROBE+ debugger is absent, the pSOS+ kernel internally<br />

executes an illegal instruction to cause a deliberate illegal instruction exception.<br />

This passes control to a ROM monitor or other low-level debug tool.<br />

2. k_fatal() is not the only mechanism by which control is passed to the fatal<br />

error handler. It can also receive control following an internal pSOS+ fatal error<br />

or, in multiprocessor systems, a shutdown packet from the master node.<br />

Multiprocessor Considerations<br />

In a multiprocessor system, k_fatal() can be used to implement a system-wide<br />

abort or shutdown. In this case, K_GLOBAL should be set. This causes a global<br />

shutdown packet to go to the master node, which sends a shutdown packet to every<br />

node in the system.<br />

Callable From<br />

■ Task<br />

■ KI<br />

<strong>pSO<strong>System</strong></strong> <strong>System</strong> <strong>Calls</strong> 1-41<br />

1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!