summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-11-07Updated PFR event log codeAppaRao Puli1-43/+65
Updated PFR event log code to use latest Redfish Event log message registry entries defined per components(BMC, BIOS, ME, CPLD) basis. This commit updates only Panic reason and Recovery reason event log messages. Tested: Loaded image on PFR enabled platform and checked Last panic reason by skipping BMC check point setting, Recovery action by corrupting recovery image. Change-Id: If38a385154571ef5924ca3bd7c1c52a2a380a284 Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
2019-11-06Add the NVME region in smbios V1 tableYong Li3-9/+23
The regions defined in eps is from 1 to 5, needs to add NVME as the region 5, to align with the bmc region read command. Tested: ipmitool raw 0x3e 0x23 0x05 0x1 0x00 0x00 smbios-mdrv1.service does not restart Change-Id: I2c4fcf8746ef9b5e00ffc538f569b5714190bd44 Signed-off-by: Yong Li <yong.b.li@linux.intel.com>
2019-10-31Move NMI source Property from intel-dbus-interface to phospher-dbus-interfacesChen Yugang1-5/+6
System needs to keep the NMI signal event source by this Property, this interface is used to support the access the Property with default value. it's convenient for other repos to use it by moving from "com.intel" to "xyz.openbmc_project". Tested it's tested in system for IPMI OEM command - get/set NMI source Change-Id: I2df4e577eff30b4a82b2face0c6dead2a20a6e2d Signed-off-by: Chen Yugang <yugang.chen@linux.intel.com>
2019-10-30Fix AssociationsJames Feist1-2/+2
It was spelled wrong. Also, there is no need to compare against the local object if it is globally critical, so make the check easier. Tested: Made a drive error and the led blinked Change-Id: I52590f0888380a6d7460e9220d814174cb17a52b Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-10-30Modified PFR property names to UpperCamelCaseAppaRao Puli1-2/+2
Updated PFR property names such as UfmProvisioned, UfmLocked to UpperCamelCase as per coding guidelines. Tested: Checked the properties from redfish along with other commit and observed expected result on PFR platforms. Change-Id: I10112001754448bcd41abfa61b4191dd15a13c46 Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
2019-10-30Fix PSU number incorrect issue.Cheng C Yang1-17/+15
When remove PSU2, it will report PSU1 removed log. Correct this logic bug. Tested: Remove PSU2, PSU2 removed Redfish log is recorded. Insert PSU2, PSU2 inserted Redfish log is recorded. Change-Id: Ifba3175b6ac965cb35de2283d59b7b058985fe0b Signed-off-by: Cheng C Yang <cheng.c.yang@intel.com>
2019-10-28prov-mode-mgr: Log events for restriction modeRichard Marian Thomaiyar2-0/+32
Support added to log events for restriction mode change (system interface), which can be viewed using Redfish event log entries. This log will indicate the status of the system interface command execution allowed state after BIOS POST. Tested: Tested the same with up-stream message entry review https://gerrit.openbmc-project.xyz/#/c/openbmc/bmcweb/+/26601/ 1. Redfish validator - passed for this new addition 2. Log will be as below { "@data.context": "/redfish/v1/$metadata#LogEntry.LogEntry", "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/184", "@odata.type": "#LogEntry.v1_4_0.LogEntry", "Created": "1970-01-01T00:03:04+00:00", "EntryType": "Event", "Id": "184", "Message": "System interface in unprovisioned state.", "MessageArgs": [], "MessageId": "OpenBMC.0.1.SystemInterfaceUnprovisioned", "Name": "System Event Log Entry", "Severity": "Critical" }, { "@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry", "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/198", "@odata.type": "#LogEntry.v1_4_0.LogEntry", "Created": "1970-01-01T00:03:18+00:00", "EntryType": "Event", "Id": "198", "Message": "System interface in whitelist provisioned state.", "MessageArgs": [], "MessageId": "OpenBMC.0.1.SystemInterfaceWhitelistProvisioned", "Name": "System Event Log Entry", "Severity": "Warning" }, { "@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry", "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/204", "@odata.type": "#LogEntry.v1_4_0.LogEntry", "Created": "1970-01-01T00:03:24+00:00", "EntryType": "Event", "Id": "204", "Message": "System interface in disabled provisioned state.", "MessageArgs": [], "MessageId": "OpenBMC.0.1.SystemInterfaceDisabledProvisioned", "Name": "System Event Log Entry", "Severity": "OK" } Change-Id: Ief9547d37bff07704caebf76e87fe8dba05e2db6 Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
2019-10-25Add a raw command to peci_cmdsJason M. Bills1-0/+71
This change adds a raw command to peci_cmds that can be used to send a raw PECI command to the CPU. Tested: peci_cmds raw 0x30 ERROR: Unsupported arguments for raw command peci_cmds raw 0x30 5 9 0xa1 0 0 0 ERROR: Incorrect write length for raw command peci_cmds raw 0x30 5 9 0xa1 0 0 0 0 0x40 0x54 0x06 0x05 0x00 0x00 0x00 0x00 0x00 Change-Id: If1cb4c06d379786faea1ca0f8f9dc1a286aa98d6 Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
2019-10-24Add ICX CPUID 0x606A4 supportKenny L. Ku1-0/+1
Signed-off-by: Kenny K. Ku <kenny.k.ku@intel.com> Change-Id: If6bceb73d0abf027118bd29dc744b4655e087f3b
2019-10-24special-mode-mgr: Log events for mfg mode changeRichard Marian Thomaiyar1-0/+6
Support added to log events for mfg mode, which can be viewed using Redfish event log entries. This will indicate, whenever manufacturing mode is entered or exited. Tested: Tested the same with up-stream message entry review https://gerrit.openbmc-project.xyz/#/c/openbmc/bmcweb/+/25687/ 1. Redfish validator - passed for this new addition 2. Log will be as below (for both tampering and normalized) { "@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry", "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/317", "@odata.type": "#LogEntry.v1_4_0.LogEntry", "Created": "1970-01-01T00:05:17+00:00", "EntryType": "Event", "Id": "317", "Message": "Entered Manufacturing Mode", "MessageArgs": [], "MessageId": "OpenBMC.0.1.ManufacturingModeEntered", "Name": "System Event Log Entry", "Severity": "Critical" }, { "@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry", "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/899", "@odata.type": "#LogEntry.v1_4_0.LogEntry", "Created": "1970-01-01T00:14:59+00:00", "EntryType": "Event", "Id": "899", "Message": "Exited Manufacturing Mode", "MessageArgs": [], "MessageId": "OpenBMC.0.1.ManufacturingModeExited", "Name": "System Event Log Entry", "Severity": "OK" } Change-Id: I417e5bd2e179592e1be0083eeb8759e348554bff Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
2019-10-23Enable build flags and fix warningsJason M. Bills4-73/+104
This enables warnings during the build and fixes some warnings so it builds successfully. Tested: Confirmed that it builds and peci_cmds still works as expected. Change-Id: I768f2bc78050d001f6500b7349cceb40086def07 Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
2019-10-23Use properties in Asset for MDR V1Cheng C Yang3-17/+26
Use partNumber, SerialNumber and Manufacturer in Inventory/Decorator/Asset instead of Inventory/Item/Dimm for MDR V1 Tested: In https://BMC_IP/redfish/v1/Systems/system/Memory/dimm2 PartNumber, SerialNumber and Manufacturer should show as { "@odata.context": "/redfish/v1/$metadata#Memory.Memory", @odata.id": "/redfish/v1/Systems/system/Memory/dimm2", "@odata.type": "#Memory.v1_6_0.Memory", "CapacityMiB": 16384, "DataWidthBits": 64, "Id": "dimm2", "Manufacturer": "Samsung", "MemoryDeviceType": "DDR4", "MemoryType": "DRAM", "Name": "DIMM Slot", "PartNumber": "M393A2G40DB0-CPB ", "SerialNumber": "0209718C", "Status": { "Health": "OK", "State": "Enabled" } Change-Id: I647a6faddeed80f2fd0b9f432b68d1e08c123af9 Signed-off-by: Cheng C Yang <cheng.c.yang@intel.com>
2019-10-22Make hsbp-manager expose all redfish propertiesJames Feist1-79/+133
Hsbp manager needs to query entity-manager for nvme fields to populate all driver interfaces. This is needed so indexing works correctly. This also exposes all M.2 drive interfaces at the end of the hsbp range. This allows correct numbering. When we find a drive in entity-manager, we backtrack from the virtual bus on the mux, to find out what bus the mux is on, this tells us the hsbp. We then use the virtual bus to identify the channel, this tells us the drive index. Tested: Saw 9 drives with a 1 hsbp and 1 M.2 configuration Change-Id: I8e730a6a4229b3816991c629439ed4639710d114 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-10-21Fix keeping printing i2c error issueCheng C Yang3-4/+64
i2cget function in cold redundancy will keep printing i2c error message in BMC debug console when there is only one PSU in the system. Add a ping flag to fix this. Tested: Only insert one PSU, BMC console will not keep printing i2c error message. Change-Id: I639b7fe036fd383fbdbc4c4868c77560cc91a63c Signed-off-by: Cheng C Yang <cheng.c.yang@intel.com>
2019-10-16Handle the address and size parameters betterJason M. Bills1-6/+20
Instead of atoi() which has no error handling, switch to strtoul() so failures will return 0 and check the acceptable size and address ranges. Tested: peci_cmds ping -a 0x30 Succeeded peci_cmds ping -a 0x20 ERROR: Invalid address "0x20" peci_cmds RdPCIConfigLocal 0 0 0 -s 1 cc:0x40 0x86 peci_cmds RdPCIConfigLocal 0 0 0 -s 3 ERROR: Invalid size "3" Change-Id: Id42e170844a803122669455db6373201e0624a9c Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
2019-10-16Add a LICENSE file for this recipeJason M. Bills1-0/+13
Change-Id: I880091c46bbedfeef13230de298cb679ccb51d86 Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
2019-10-16Fix Redfish Validator IssuesCheng C Yang4-8/+69
D-Bus properties of CPU and UUID is incorrect which will make Redfish Service Validator reprot error. Tested: Run Redfish Service Validator, the result should be "Validation has succeeded." Change-Id: I03abb199c2f2c2b86715b599c9ffbfcf3a31e73f Signed-off-by: Cheng C Yang <cheng.c.yang@intel.com>
2019-10-15Add a LICENSE file for this recipeJason M. Bills1-0/+13
Change-Id: I77ddf63b68ca97af9aa008feb73a7133d2e36505 Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
2019-10-15Add a peci_cmds verbose optionJason M. Bills1-36/+92
Don't print the command info by default and use the verbose option to enable it. Tested: peci_cmds RdPkgConfig 0 0 cc:0x40 0x00050654 peci_cmds RdPkgConfig 0 0 -v PECI target[48]: Pkg Read of Index 00 Param 0000 cc:0x40 0x00050654 Change-Id: I21ea390f87aa16582f677185f27a49c0308a2b69 Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
2019-10-15Change peci_cmds interface to use a string for the commandJason M. Bills1-450/+395
The dash options to select commands will become very cumbersome as we implement the new PECI 4.0 commands. This separates the parameters into 'options' and 'commands'. Options are set using the dash parameters as they are today. Commands are now selected by a string in the first parameter. This is inspired by the usage of ipmitool and will hopefully feel familiar. This will help as new command types are added so we don't end up overloading the dash options with too many types that have to be checked against the help every time. Tested: Executed the following commands and confirmed they behave as expected: ./peci_cmds -h Usage: ./peci_cmds [-a <addr>] [-s <size>] <command> [parameters] Options: -h Display this help information -a Address of the target in decimal. Default is 48 -s Size of data to read or write in bytes. Default is 4 Commands: Ping Ping the target GetTemp Get the temperature GetDIB Get the DIB RdPkgConfig Read Package Config <Index Parameter> WrPkgConfig Write Package Config <Index Parameter Data> RdIAMSR MSR Read <Thread Address> RdPCIConfig PCI Read for specific hex address <Bus Dev Func [Reg]> RdPCIConfigLocal Local PCI Read for specific hex address <Bus Dev Func [Reg]> WrPCIConfigLocal Local PCI Write for specific hex address <Bus Dev Func Reg Data> ./peci_cmds Ping PECI target[48]: Pinging ... Succeeded ./peci_cmds Ping -a 49 PECI target[49]: Pinging ... Succeeded ./peci_cmds GetTemp PECI target[48]: GetTemp ef1ch (-67.56C) ./peci_cmds GetDIB PECI target[48]: GetDIB 0x3500 ./peci_cmds RdPkgConfig 0 0 PECI target[48]: Pkg Read of Index 00 Param 0000 cc:0x40 0x00050654 ./peci_cmds WrPkgConfig 0 0 0 PECI target[48]: Pkg Write of Index 00 Param 0000: 0x00000000 cc:0x90 ./peci_cmds RdIAMSR 0 411 PECI target[48]: MSR Read of Thread 00 MSR 0411 cc:0x40 0x00000000 ./peci_cmds RdPCIConfig 0 0 0 PECI target[48]: PCI Read of 00:00:00 Reg 00 cc:0x40 0x20208086 ./peci_cmds RdPCIConfigLocal 0 0 0 PECI target[48]: Local PCI Read of 00:00:00 Reg 00 cc:0x40 0x20208086 ./peci_cmds RdPCIConfigLocal 0 0 0 1 -s 1 PECI target[48]: Local PCI Read of 00:00:00 Reg 01 cc:0x40 0x80 ./peci_cmds RdPCIConfigLocal 0 0 0 2 -s 2 PECI target[48]: Local PCI Read of 00:00:00 Reg 02 cc:0x40 0x2020 ./peci_cmds WrPCIConfigLocal d 0 3 270 15 PECI target[48]: Local PCI Write of 0d:00:03 Reg 270: 0x00000015 cc:0x90 ./peci_cmds RdEndpointConfigPCILocal 0 0 0 0 0 cc:0x40 0x09a28086 ./peci_cmds WrEndpointConfigPCILocal 0 0 0 0 0 1 cc:0x40 ./peci_cmds RdEndpointConfigPCI 0 0 0 0 0 cc:0x40 0x09a28086 ./peci_cmds WrEndpointConfigPCI 0 0 0 0 0 1 cc:0x40 ./peci_cmds RdEndpointConfigMMIO 5 0 0 0 0 0 0 cc:0x40 0x00000000 Change-Id: I32bc8a566db7fa6b7a1f4bb1f56e636319b2d7f9 Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
2019-10-15Clean up peci_cmds outputJason M. Bills1-111/+80
peci_cmds output is not very uniform and leaves out information such as the PECI completion code and library return value that are useful for debug. This change prints the completion code by default and cleans up some of the output to be more uniform. Tested: peci_cmds -c 0 0 PECI target[48]: Pkg Read of Index 00 Param 0000: cc:0x40 0x00050654 peci_cmds -c 0 100 PECI target[48]: Pkg Read of Index 00 Param 0100: cc:0x90 0x00000000 peci_cmds -lw d 0 3 270 15 PECI target[48]: Local PCI Write of 0d:00:03 Reg 270: 0x00000015 cc:0x90 Change-Id: I9094c7c77521ea381006b972aea2bf98e8c200cf Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
2019-10-15Handle power state changesJames Feist2-0/+112
We need to check if power is on as the hsbp goes away during power off. This copies the power logic from dbus-sensors and uses it to avoid scanning when power is off. Tested: Warnings go away Change-Id: Ie949e7a98eb70592318710f3eecdfe766f71f110 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-10-15Add LED hooks to hsbp managerJames Feist2-5/+83
This adds the led group interface so that they can be activiated by NVMe daemon. Tested: Set using dbus, went and saw drive flashing Change-Id: I2e1aa3f9338609370d9758a7c4874428dac5d4ea Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-10-14PFR: Reading bmc version from SPIAppaRao Puli4-49/+201
Added support to pull BMC active and recovery image version from PFM region of associated MTD device instead of CPLD. Becuase CPLD has provision to hold only major and minor version but PFM in PFR image will have more information about version (major, minor, build number and build hash etc...). So added SPI device read capability and read BMC active/recovery image version from PFM. Tested: Fetched FirmwareInventory information from redfish, using below URI and verified BMC active & recovery version has build number along with major and minor numbers. URI: /redfish/v1/UpdateService/FirmwareInventory/bmc_active /redfish/v1/UpdateService/FirmwareInventory/bmc_recovery RESPONSE: "Version": "00.11-07-1e5c2d" Change-Id: I3d8176f776992a1b0454046a1b8ebd33d84a91d3 Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
2019-10-14PFR: PFR manager ad-hoc fixesAppaRao Puli3-39/+41
PFR manager miscellaneous fixes - Updated redfish EventLog ID and Args. - Updated panic/recovery reasons as per new spec. - Corrected referrence pointer in readCpldReg function. Tested: Loaded image in wht and validate Redfish event logs Change-Id: I4bccbfe650271bcfcc24037c50d385c5fa17dbf1 Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
2019-10-14Add a LICENSE file for this recipeJason M. Bills1-0/+13
Change-Id: Ib76f920c16519d25bbfa93281445104cbe8a290e Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
2019-10-14Update peci_cmds with RdEndPointConfig and WrEndPointConfig supportKenny L. Ku3-2/+317
- update peci_cmds with Endpoint PCI/Local read/write support - update peci_cmds with MMIO read support Tested: - Manually tested using peci_cmds Signed-off-by: Kenny K. Ku <kenny.k.ku@intel.com> Change-Id: Iddd62bd458d4a11c36dfc43fb966ba2283be800d
2019-10-11Use the properties in Inventory AssetCheng C Yang2-17/+24
Use partNumber, SerialNumber and Manufacturer in Inventory/Decorator/Asset instead of Inventory/Item/Dimm Tested: In https://BMC_IP/redfish/v1/Systems/system/Memory/dimm2 PartNumber, SerialNumber and Manufacturer should show as { "@odata.context": "/redfish/v1/$metadata#Memory.Memory", "@odata.id": "/redfish/v1/Systems/system/Memory/dimm2", "@odata.type": "#Memory.v1_6_0.Memory", "CapacityMiB": 16384, "DataWidthBits": 64, "Id": "dimm2", "Manufacturer": "Samsung", "MemoryDeviceType": "DDR4", "MemoryType": "DRAM", "Name": "DIMM Slot", "PartNumber": "M393A2G40DB0-CPB ", "SerialNumber": "0209718C", "Status": { "Health": "OK", "State": "Enabled" } Change-Id: I029bf90f99999943d48ddeb94e7dc955e410c928 Signed-off-by: Cheng C Yang <cheng.c.yang@intel.com>
2019-10-10Fix mdrv1 build failure issue.Cheng C Yang1-1/+0
Tested: devtool build smbios-mdrv1, build will pass with no error. Change-Id: I7628150309a9a920d91884acb86bed35713716fc Signed-off-by: Cheng C Yang <cheng.c.yang@intel.com>
2019-10-09Allow raw PECI ping commandsJason M. Bills1-1/+1
The PECI ping command has a read length of zero, so when it's called the response buffer is NULL since it has a size of zero. This change allows the command to continue with a NULL response buffer pointer as long as the read length is zero. Tested: Sent a raw ping command to a present CPU and got a successful response. Sent a raw ping command to a not-present CPU and got a failed response. Sent a raw read package config command and got the expected data. Change-Id: I3e672b68e60716c8e239cab569d400f24760cb5b Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
2019-10-09hsbp-manager: Add drive interface to fru-less drivesJames Feist1-5/+66
Some drives don't have frus, but should still show up in redfish. For this reason we need to populate the drive interface when it is not available in entity-manager. Tested: All drives showed up in redfish Change-Id: If3bfa1e3e9c03146a77c896a5c983fbdaff3f4f5 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-10-09Removed company prefix from 'intel-pfr' nameAppaRao Puli4-8/+6
Removed 'Intel' Prefix from D-Bus path and interface related to PFR as it is generic feature. Different OEM's can have their own way of implementing the PFR feature but the D-Bus interface for exposing properties like Provisioning and locking status should be implementation agnostic. So remove 'Intel' Prefix from D-Bus path and interface names in Intel PFR manager implementation. Tested: Verified using redfish URI '/redfish/v1/Systems/system' along with dependent patch in bmcweb and observed correct response on PFR enabled platform. RESPONSE: ........ "Oem": { "OpenBmc": { "FirmwareProvisioning": { "Locked": true, "Provisioned": true } } } ..... Change-Id: Id70ea5b54427d8d884147204f9028d7d9b2da99e Signed-off-by: AppaRao Puli <apparao.puli@linux.intel.com>
2019-10-08Merge changes Ia050316a,I79a73bb0Feist, James3-6/+270
* changes: Create associations for drives with inventory Add rebuilding to hsbp manager
2019-10-08Merge "prov-mode: Remove throwing error from prov mode."Thomaiyar, Richard Marian1-7/+5
2019-10-08Merge changes I73fd2669,Ibbce272eFeist, James9-0/+1292
* changes: hsbp-manager: add drive presence and software version Add HSBP Manager Daemon
2019-10-08Merge "Implement Power Unit Redundancy"Yang, Cheng C2-8/+160
2019-10-08Merge "Remove RestartCause setting"Bills, Jason M1-7/+0
2019-10-08Create associations for drives with inventoryJames Feist3-1/+250
This creates associations so that redfish can know which drives map to which configuration items. Tested: root@intel-obmc:~# busctl introspect xyz.openbmc_project.HsbpManager /xyz/openbmc_project/inventory/item/drive/Drive_2 --no-pager NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - - .Introspect method - s - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - - xyz.openbmc_project.Association.Definitions interface - - - .Associations property a(sss) 1 "inventory" "drive" "/xyz/openbmc_p... emits-change xyz.openbmc_project.Inventory.Item interface - - - .Present property b true emits-change .PrettyName property s "Drive 2" emits-change xyz.openbmc_project.State.Decorator.OperationalStatus interface - - - .Functional property b true emits-change xyz.openbmc_project.State.Drive interface - - - .Rebuilding property b false emits-change Also show up in mapper Change-Id: Ia050316ac55faa89aad86567c93f9a74594e9180 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-10-08Add rebuilding to hsbp managerJames Feist1-5/+20
Interface is pushed here: https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/25671 Tested: available on dbus Change-Id: I79a73bb0e62951b09f4eb8bf0594aa39916b5dd9 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-10-07Implement Power Unit RedundancyCheng C Yang2-8/+160
Implement Power Unit Redundancy, when PSU numbers has been changed or any PSU event happen, Power Unit Redundancy event may be triggered. Tested: With the related change on Redfish Event Log in bmcweb, when there are two PSU on the sytem, remove one AC cable on PSU. Then bellow Redfish log will be created. { "@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry", "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/ 205610", "@odata.type": "#LogEntry.v1_4_0.LogEntry", "Created": "1970-01-03T09:06:50+00:00", "EntryType": "Event", "Id": "205610", "Message": "Power Unit Redundancy lost.", "MessageArgs": [], "MessageId": "OpenBMC.0.1.PowerUnitRedundancyLost", "Name": "System Event Log Entry", "Severity": "Warning" }, { "@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry", "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/ 205610_1", "@odata.type": "#LogEntry.v1_4_0.LogEntry", "Created": "1970-01-03T09:06:50+00:00", "EntryType": "Event", "Id": "205610_1", "Message": "Power Unit Nonredundant but has sufficient resource.", "MessageArgs": [], "MessageId": "OpenBMC.0.1.PowerUnitNonRedundantSufficient", "Name": "System Event Log Entry", "Severity": "Warning" }, Plug in the AC cable again, the Redfish log will show { "@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry", "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/ 205621", "@odata.type": "#LogEntry.v1_4_0.LogEntry", "Created": "1970-01-03T09:07:01+00:00", "EntryType": "Event", "Id": "205621", "Message": "Power Unit Redundancy regained.", "MessageArgs": [], "MessageId": "OpenBMC.0.1.PowerUnitRedundancyRegained", "Name": "System Event Log Entry", "Severity": "OK" } Change-Id: Id20a1ccf83497fd5982c9dfee9c972895f395112 Signed-off-by: Cheng C Yang <cheng.c.yang@intel.com>
2019-10-07prov-mode: Remove throwing error from prov mode.Richard Marian Thomaiyar1-7/+5
Provision mode manager, exposing Restriction Mode interface will bail, if there is any problem in reading u-boot environment variable. This was causing issues during Power on activity, as it will block the whole IPMI loading itself. Hence instead of bailing out, code is modified to consider the secure safest value ProvisionedHostDisabled mode, if unable to get u-boot param value. Tested: 1. Verified ipmi loaded file, and whitelist filter works as expected 2. Verified that ipmi still loads with ProvisionedHostDisbaled when u-boot environment is not available 3. verified that it didn't disturb the old behaviour, by doing read-only section update, and doing one full flash update and made sure both works as expected. Change-Id: Ic2e896e1f2de8e876f3d82e935f1f04e7d0419dc Signed-off-by: Richard Marian Thomaiyar <richard.marian.thomaiyar@linux.intel.com>
2019-10-03hsbp-manager: add drive presence and software versionJames Feist1-18/+283
This adds support for reading the sw version and drive presence from the hsbp cpld. Tested: Version is available in redfish root@intel-obmc:~# busctl tree xyz.openbmc_project.HsbpManager --no-pager `-/xyz `-/xyz/openbmc_project |-/xyz/openbmc_project/inventory | `-/xyz/openbmc_project/inventory/item | |-/xyz/openbmc_project/inventory/item/drive | | |-/xyz/openbmc_project/inventory/item/drive/Drive_1 | | |-/xyz/openbmc_project/inventory/item/drive/Drive_2 | | |-/xyz/openbmc_project/inventory/item/drive/Drive_3 | | |-/xyz/openbmc_project/inventory/item/drive/Drive_4 | | |-/xyz/openbmc_project/inventory/item/drive/Drive_5 | | |-/xyz/openbmc_project/inventory/item/drive/Drive_6 | | |-/xyz/openbmc_project/inventory/item/drive/Drive_7 | | `-/xyz/openbmc_project/inventory/item/drive/Drive_8 | `-/xyz/openbmc_project/inventory/item/hsbp | `-/xyz/openbmc_project/inventory/item/hsbp/J85894_HSBP_1 root@intel-obmc:~# busctl introspect xyz.openbmc_project.HsbpManager /xyz/openbmc_project/inventory/item/hsbp/J85894_HSBP_1 --no-pager NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - - .Introspect method - s - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - - xyz.openbmc_project.Inventory.Item interface - - - .Present property b true emits-change .PrettyName property s "J85894 HSBP 1" emits-change xyz.openbmc_project.Software.Version interface - - - .Version property s "00.02.01" emits-change .Purpose property s "xyz.openbmc_project.Software.Version... emits-change Change-Id: I73fd2669f4a0e9b8e499107a960f2169f63873e3 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-10-01Update callback manager to new associationJames Feist1-6/+7
Mapper no longer supports the old one. Tested: Mapper shows associations again, available in redfish Change-Id: I876c7b9be4d24e3bc73e4b5ff0e9290e422baaa9 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-09-30Add HSBP Manager DaemonFeist, James9-0/+1027
This is the initial commit for the hsbp-manager daemon. Currently it reads a json configuration and detects whether the cpld is available. More feaures will be added in small patches. Tested: busctl introspect --no-pager xyz.openbmc_project.HsbpManager /xyz/openbmc_project/inventory/item/hsbp/J85894_HSBP_1 NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - - .Introspect method - s - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - - xyz.openbmc_project.Inventory.Item interface - - - .Present property b true emits-change .PrettyName property s "J85894 HSBP 1" emits-change Change-Id: Ibbce272e045f8643af74b778f273168442623919 Signed-off-by: Feist, James <james.feist@linux.intel.com>
2019-09-20Remove RestartCause settingJason M. Bills1-7/+0
RestartCause is handled by power-control, so remove it from settings. Tested: Combined with the power-control changes, triggered software, command, button, watchdog, and power restore restart types and confirmed that the restart cause was correctly reported. Change-Id: I748c70749bdb7169e483758e6af7a58fef2319a5 Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
2019-09-17Merge changes Ic4292a3f,Id782167e,Ic7880a0eBills, Jason M1-73/+182
* changes: Enable boot FIVR fault monitoring and logging Handle host errors on host power-on Use the new standalone libpeci for CPU info
2019-09-17Enable boot FIVR fault monitoring and loggingJason M. Bills1-2/+65
A boot FIVR fault will assert the CPU FIVR Fault GPIO and then assert the thermtrip GPIO. This adds a check for if the CPU FIVR Fault GPIO is asserted to determine whether to log a boot FIVR fault or a CPU thermal trip. Tested: Pulled the CPU FIVR Fault GPIO high and moved the jumper to assert a thermtrip. After the system shut down, confirmed that the event was logged as a boot FIVR fault. Change-Id: Ic4292a3fa9135c7367764f2b126937e33c5ad652 Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
2019-09-17Handle host errors on host power-onJason M. Bills1-10/+103
Some errors such as the Boot IVR (Thermtrip) could be asserted when the host powers-on. This change initializes the error status on host power-on to handle those types of errors. Tested: Moved the jumper to persistently assert Thermtrip and pressed the power button. After the system immediately shut down, confirmed that the Thermtrip event was logged. Change-Id: Id782167e234d906aaadb6190d9b92beafa6ab84a Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
2019-09-17Use the new standalone libpeci for CPU infoJason M. Bills1-63/+16
Tested: Injected an ERR2 timeout and verified that it could be attributed to the correct CPU. Change-Id: Ic7880a0ef1c4d0b655ed5fb021ae07c88f6c9074 Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>
2019-09-17Merge "Support for Legacy mode."Lukwinski, Zbigniew2-19/+392