From e84841ce7e833d527709c557e9e25829f4e3893c Mon Sep 17 00:00:00 2001 From: Dhruvaraj Subhashchandran Date: Tue, 22 Aug 2017 07:40:27 -0500 Subject: IPMI changes to skip updating non present cores Cores which are not present need not to be updated to inventory. This change is for skipping several updates to inventory based on skipOn value. Change-Id: I29e005a715ccae1df6eeaf35561a20896ecde0ac Signed-off-by: Dhruvaraj Subhashchandran --- scripts/sensor-example.yaml | 33 ++++++++++++++++++++++++++++----- scripts/writesensor.mako.cpp | 15 ++++++++++++++- 2 files changed, 42 insertions(+), 6 deletions(-) (limited to 'scripts') diff --git a/scripts/sensor-example.yaml b/scripts/sensor-example.yaml index 52eb076..98e9ff6 100755 --- a/scripts/sensor-example.yaml +++ b/scripts/sensor-example.yaml @@ -37,16 +37,16 @@ interfaces: xyz.openbmc_project.Inventory.Item: Present: - 6: + 0x06: assert: true deassert: false type: bool xyz.openbmc_project.State.Decorator.OperationalStatus: Functional: - 4: - assert: false - deassert: true - type: bool + 0x04: + assert: false + deassert: true + type: bool 0x63: interfaces: @@ -91,3 +91,26 @@ 0xFF: type: int64_t +0x54: + sensorType: 0x07 + path: /system/chassis/motherboard/cpu0/core22 + sensorReadingType: 0x6F + serviceInterface: xyz.openbmc_project.Inventory.Manager + readingType: assertion + interfaces: + xyz.openbmc_project.State.Decorator.OperationalStatus: + Functional: + 0x08: + assert: false + deassert: true + type: bool + xyz.openbmc_project.Inventory.Item: + Present: + 0x07: + assert: true + deassert: false + #The update will be skipped based on the value of skipOn + #in this case if offset 0x07 is deasserted + #the update will be skipped. + skipOn: deassert + type: bool diff --git a/scripts/writesensor.mako.cpp b/scripts/writesensor.mako.cpp index 5cc024e..9cd4e48 100644 --- a/scripts/writesensor.mako.cpp +++ b/scripts/writesensor.mako.cpp @@ -73,8 +73,21 @@ extern const IdInfoMap sensors = { <% continue %>\ % endif <% valueType = values["type"] %>\ +<% +try: + skip = values["skipOn"] + if skip == "assert": + skipVal = "SkipAssertion::ASSERT" + elif skip == "deassert": + skipVal = "SkipAssertion::DEASSERT" + else: + assert "Unknown skip value " + str(skip) +except KeyError, e: + skipVal = "SkipAssertion::NONE" +%>\ + ${skipVal}, % for name,value in values.items(): - % if name == "type": + % if name == "type" or name == "skipOn": <% continue %>\ % endif % if valueType == "string": -- cgit v1.2.1