# Mihawk thermal policy for PDM.
#
# Shut down the system if more than three cores
# have a temperature greater than 100 degrees Celcius.


- name: core sensors
  description: >
    'The machine has two processor chips with 24 cores each.'
  class: group
  group: path
  members:
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core0_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core1_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core2_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core3_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core4_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core5_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core6_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core7_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core8_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core9_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core10_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core11_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core12_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core13_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core14_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core15_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core16_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core17_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core18_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core19_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core20_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core21_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core22_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p0_core23_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core0_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core1_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core2_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core3_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core4_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core5_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core6_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core7_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core8_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core9_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core10_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core11_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core12_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core13_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core14_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core15_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core16_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core17_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core18_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core19_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core20_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core21_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core22_temp
    - meta: SENSOR
      path: /xyz/openbmc_project/sensors/temperature/p1_core23_temp

- name: core temp
  description: >
    'Monitor the temperature of each core.'
  class: group
  group: property
  type: int64
  members:
    - interface: xyz.openbmc_project.Sensor.Value
      meta: TEMP
      property: Value

- name: watch core temps
  description: >
    'Trigger logic on core temp changes.'
  class: watch
  watch: property
  paths: core sensors
  properties: core temp
  callback: check temps

- name: check temps
  description: >
    'If this condition passes at least three cores are running
    too hot.  Shut the system down.'
  class: condition
  condition: count
  paths: core sensors
  properties: core temp
  callback: log and shutdown
  countop: '>='
  countbound: 3
  op: '>='
  bound: 115000
  oneshot: true

- name: log and shutdown
  description: >
    'Shut the system down and log an event.'
  class: callback
  callback: group
  members:
    - shutdown
    - create criticalhigh error
    - create shutdown error

- name: shutdown
  description: >
    'Shut down the system.'
  class: callback
  callback: method
  service: org.freedesktop.systemd1
  path: /org/freedesktop/systemd1
  interface: org.freedesktop.systemd1.Manager
  method: StartUnit
  args:
    - value: obmc-chassis-hard-poweroff@0.target
      type: string
    - value: replace
      type: string

- name: create criticalhigh error
  description: >
    'Create a CriticalHigh Error log.'
  class: callback
  callback: elog_with_metadata
  paths: core sensors
  properties: core temp
  error: xyz::openbmc_project::Sensor::Threshold::Error::CriticalHigh
  metadata: xyz::openbmc_project::Sensor::Threshold::CriticalHigh::SENSOR_DATA

- name: create shutdown error
  description: >
    'Create a SystemShutdown Error log.'
  class: callback
  callback: elog
  paths: core sensors
  properties: core temp
  error: xyz::openbmc_project::State::Shutdown::ThermalEvent::Error::Processor
