{ This deck defines the format of the SMU Communications Block (SCB). The SCB is
{ used by the the 180 CPU Monitor to maintain information about the status of the
{ 180 OS and hardware.

  TYPE
    mtt$smu_communications_block = RECORD
      hardware_status: ALIGNED [0 MOD 8] mtt$scb_hardware_status,
      cpus: mtt$scb_cpu_information,
      kill_180: ALIGNED [0 MOD 8] boolean,
      vector_simulation_control: ost$vector_simulation_control,
      nos_180_status: ALIGNED [0 MOD 8] mtt$scb_180_status,
      nos_service_flag: ALIGNED [0 MOD 8] integer,
      critical_message_time_stamp: ALIGNED [0 MOD 8] integer,
      hardware_status_messages: mtt$scb_hardware_status_msgs,
    RECEND,

    mtt$scb_cpu_information = RECORD
      logically_on: ost$processor_id_set,
      available_for_use: ost$processor_id_set,
      hdw_state_change: ost$processor_id_set,
    RECEND,

{ The following field is maintained by the CPU and contains the dynamic status
{ of the 180 Operating system.

    mtt$scb_180_status = RECORD
      system_status: mtt$system_status_block,
      idle_code: syt$180_idle_code,
      fill_1: 0..0ffff(16),
      cause_of_idle: syt$180_idle_code,
    RECEND,

{ The following record contains the requested and actual status' of the
{ system for IDLE and STEP.

    mtt$system_status_block = RECORD
      idle_status_block: mtt$idle_status_block,
      step_status_block: mtt$step_status_block,
    RECEND,

{ Describe the layout of the IDLE and STEP status blocks. When the REQUESTED
{ and ACTUAL fields are not the same, the system will be driven to the state
{ found in the REQUESTED fields.

    mtt$step_status_block = RECORD
      requested_status,
      actual_status: mtt$system_step_update_request,
    RECEND,

    mtt$idle_status_block = RECORD
      requested_status,
      actual_status: mtt$system_idle_update_request,
    RECEND;

*copyc mtt$scb_hardware_status
*copyc mtt$system_update_requests
*copyc ost$processor_id_set
*copyc ost$vector_simulation_control
*copyc syt$180_idle_code
