Differences

This shows you the differences between two versions of the page.

Link to this comparison view

procedures:hcl_procedure [2008/12/02 12:28]
scott
procedures:hcl_procedure [2009/05/06 07:44] (current)
scott
Line 18: Line 18:
 The following operations are performed by this procedure. The following operations are performed by this procedure.
   - Locate the six digit address, relative to the [[processor_state:mcp_data_area|MCP Data Area]], of the [[processor_state:hardware_call_function_entry|Hardware Call function entry]] in the MCP function table at memory address 87 relative to the [[processor_state:mcp_data_area| MCP Data Area]].\\ \\ If the Protection Field is not equal to __DD__ then this Hardware Call procedure has failed.\\ \\ Perform the following steps:\\  a. Write the fault indicators into the Failed Hardware Call R/D area of the [[processor_state:reinstate_list|Reinstate List entry]] for the current task.\\ \\ b. Save the [[processor_state:state_indicator|Failed Hardware Call]] value within the processor for future update of the [[processor_state:reinstate_list|State Indicator]] field of the reinstate list entry for the current task and of the //Instruction Interrupt Cause// descriptor in the [[processor_state:kernel_data_area|Kernel Data Area]].\\ \\ c. Perform an [[procedures:interrupt_procedure|Interrupt Procedure]] that will report an //Instruction Interrupt// in the //Interrupt Descriptor// in the [[processor_state:kernel_data_area|Kernel Data Area]].\\ \\   - Locate the six digit address, relative to the [[processor_state:mcp_data_area|MCP Data Area]], of the [[processor_state:hardware_call_function_entry|Hardware Call function entry]] in the MCP function table at memory address 87 relative to the [[processor_state:mcp_data_area| MCP Data Area]].\\ \\ If the Protection Field is not equal to __DD__ then this Hardware Call procedure has failed.\\ \\ Perform the following steps:\\  a. Write the fault indicators into the Failed Hardware Call R/D area of the [[processor_state:reinstate_list|Reinstate List entry]] for the current task.\\ \\ b. Save the [[processor_state:state_indicator|Failed Hardware Call]] value within the processor for future update of the [[processor_state:reinstate_list|State Indicator]] field of the reinstate list entry for the current task and of the //Instruction Interrupt Cause// descriptor in the [[processor_state:kernel_data_area|Kernel Data Area]].\\ \\ c. Perform an [[procedures:interrupt_procedure|Interrupt Procedure]] that will report an //Instruction Interrupt// in the //Interrupt Descriptor// in the [[processor_state:kernel_data_area|Kernel Data Area]].\\ \\
-  - Perform+  - Perform the [[procedures::load_mat|Load Memory Area Table]] procedure passing the Environment Number in the [[processor_state:hardware_call_function_entry|Hardware Call function entry]] and the //type of MA fault// set to either **soft** or **hard**.  In this case, the //type of MA fault// parameter is not used, since a Memory Area Fault in the middle of an HCP will return back here to handle the failed HCP.\\ \\ Some processors do not allow an **E** copy type entry #0 of an environment loaded during a Hardware Call Procedure.   See [[compatibility_notes:a.55|Compatibility Notes A.55]] for details.\\ \\ If an invalid Environment Number or Memory Area Number is encountered or a Memory Area Fault is found during the loading of the MAT, then this Hardware Call Procedure has failed.  Perform the following steps:\\  a. Write the Fault Indicators into the Failed Hardware Call R/D Area field of the [[processor_state:reinstate_list|Reinstate List Entry]] for this task.\\ \\  b. Save the "Failed Hardware Call" [[compatibility_notes:a.46|value]] within the processor for future update of the //State Indicator// field of the [[processor_state:reinstate_list|Reinstate List Entry]] for this task and of the //Instruction Interrupt Cause// descriptor in the [[processor_state:kernel_data_area|Kernel Data Area]].\\ \\  c. Perform an [[procedures:interrupt_procedure|Interrupt Procedure]] that will report an Instruction Interrupt in the Interrupt Descriptor in [[processor_state:kernel_data_area|Kernel Data Area]].
procedures/hcl_procedure.txt ยท Last modified: 2009/05/06 07:44 by scott
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki