Skip to content
  1. Jun 21, 2024
  2. Jun 20, 2024
    • Kamalkumar Patel's avatar
      host-bmc: migrate dbus hosting logic into dbus folder · 14107a10
      Kamalkumar Patel authored
      
      
      This commit aims at migrating the custom_dbus files from the host_bmc
      directory to the host-bmc/dbus directory. This makes the code cleaner
      since it abstracts all the dbus objects hosting code to the dbus folder
      
      Change-Id: Ia310e8a16f9489060ef228496d364c602a4fa6a8
      Signed-off-by: default avatarKamalkumar Patel <kamalkumar.patel@ibm.com>
      14107a10
    • Patrick Williams's avatar
      sdbusplus: use shorter type aliases · 4f152f94
      Patrick Williams authored
      
      
      The sdbusplus headers provide shortened aliases for many types.
      Switch to using them to provide better code clarity and shorter
      lines.  Possible replacements are for:
        * bus_t
        * exception_t
        * manager_t
        * match_t
        * message_t
        * object_t
        * slot_t
      
      Change-Id: I3aa6b1e86072f2af81e7792bc4a13a012c359187
      Signed-off-by: default avatarPatrick Williams <patrick@stwcx.xyz>
      4f152f94
    • Andrew Jeffery's avatar
      common: test: Add gmock dependency to generated targets · 3d3e8184
      Andrew Jeffery authored
      
      
      Fixes the following error when building with gmock supplied by
      subproject:
      
      ```
      FAILED: common/test/pldm_utils_test.p/pldm_utils_test.cpp.o
      ccache c++ -Icommon/test/pldm_utils_test.p -I../subprojects/googletest/googletest/include -I../subprojects/googletest/googletest -Isubprojects/googletest/__CMake_build -I../subprojects/googletest/__CMake_build -Isubprojects/googletest -I../subprojects/googletest -Isubprojects/phosphor-dbus-interfaces/gen -I../subprojects/phosphor-dbus-interfaces/gen -I../subprojects/sdbusplus/include -Isubprojects/phosphor-logging/lib/include -I../subprojects/phosphor-logging/lib/include -I. -I.. -I/usr/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Wpedantic -Werror -std=c++23 -O2 -g -Wno-psabi -DLIBPLDMRESPONDER -DOEM_IBM -include /home/andrew/src/openbmc.org/openbmc/pldm/build/config.h -DBOOST_ASIO_DISABLE_THREADS -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_COROUTINES_NO_DEPRECATION_WARNING -pthread -isystem../subprojects/nlohmann_json/single_include -isystem../subprojects/libpldm/include -isystemsubprojects/libpldm/include -isystem../subprojects/googletest/googletest -isystem../subprojects/googletest/googletest/include -MD -MQ common/test/pldm_utils_test.p/pldm_utils_test.cpp.o -MF common/test/pldm_utils_test.p/pldm_utils_test.cpp.o.d -o common/test/pldm_utils_test.p/pldm_utils_test.cpp.o -c ../common/test/pldm_utils_test.cpp
      In file included from ../common/test/pldm_utils_test.cpp:2:
      ../common/test/mocked_utils.hpp:3:10: fatal error: gmock/gmock.h: No such file or directory
          3 | #include <gmock/gmock.h>
            |          ^~~~~~~~~~~~~~~
      compilation terminated.
      ```
      
      Change-Id: I56cedd3df2d07f850fc0d13599ed52f99981e35b
      Signed-off-by: default avatarAndrew Jeffery <andrew@codeconstruct.com.au>
      3d3e8184
    • Gilbert Chen's avatar
      platform-mc: Added Terminus/TerminusManager class · 6c7fed4c
      Gilbert Chen authored
      
      
      Added requester::sendRecvPldmMsg awaiter type to be able to send and
      receive PLDM message by coroutine.
      Added TerminusManager to discover terminus from EID list updated by
      MCTPDiscovery class. The TerminusManager will initialize TID.
      
      Signed-off-by: Gilbert Chen's avatarGilbert Chen <gilbert.chen@arm.com>
      Signed-off-by: default avatarThu Nguyen <thu@os.amperecomputing.com>
      Change-Id: Ifa5bdfff50648f1d7fba8710e160de662e8f9e06
      6c7fed4c
  3. Jun 19, 2024
  4. Jun 17, 2024
  5. Jun 14, 2024
  6. Jun 11, 2024
  7. Jun 10, 2024
    • Archana Kakani's avatar
      bios: Converting bios json keys to lower snake case · d6608096
      Archana Kakani authored
      
      
      Converting following bios attribute json keys to lower snake case
      displayName --> display_name
      helpText    --> help_text
      readOnly    --> read_only
      
      Tested:
           Power on/off
           Gtest passed
      
      Change-Id: Iad88ed7bc381d66182c99e31e7d385f65750e0ed
      Signed-off-by: default avatarArchana Kakani <archana.kakani@ibm.com>
      d6608096
    • Archana Kakani's avatar
      pldm: Removing default string length · 7d47570c
      Archana Kakani authored
      
      
      Removing default string length from BIOS json configuration
      files.
      
      String BIOS attributes defined in BIOS configuration json file
      contains "default_string_length". Providing default string length
      manually is error prone. As String length can be calculated and
      populated easily in the code, removing json support for
      default_string_length.
      
      Tested: Power on/off
              Gtests passed.
      
      Change-Id: I7604d8ccedd60a39ba07e1df67ff5712f31e7f6e
      Signed-off-by: default avatarArchana Kakani <archana.kakani@ibm.com>
      7d47570c
    • Archana Kakani's avatar
      pldm: Add bios configuration in single json file · ac713eec
      Archana Kakani authored
      
      
      Currently bios attributes are added in three json configuration
      files based on the attribute type(integer, string, enum).
      Combining all the attributes in single bios attribute json file
      to organize the attributes based on the usage pattern.
      
      Tested:
      BMC powered on successfully
      Unit tests passed
      
      Change-Id: I42cc7c2394918e48d27dca2041f8ce00509c565a
      Signed-off-by: default avatarArchana Kakani <archana.kakani@ibm.com>
      ac713eec
    • Riya Dixit's avatar
      pldm: Remove unnecessary type casting in logs · 1e5c81e0
      Riya Dixit authored
      This commit removes the unnecessary type casting of values of the
      journal logs based on supported types mentioned in LG2 documentation
      [1].
      
      Testing: Verified the debug traces to correct.
      
      '''
      For Instance:
      Earlier -
      error(”TYPE = {TYPE} “, “TYPE”, static_cast<unsigned>(PLDM_STATE_EFFECTER_PDR));
      Journal trace -
      May 27 08:16:51 p10bmc pldmd[931]: TYPE = 11
      
      After Correction -
      error(”TYPE = {TYPE}“, “TYPE”, PLDM_STATE_EFFECTER_PDR);
      Journal trace -
      May 27 08:16:51 p10bmc pldmd[931]: TYPE = Enum(11)
      '''
      
      [1]: https://github.com/openbmc/phosphor-logging/blob/master/docs/structured-logging.md#lg2
      
      
      
      Change-Id: Ia649ecd4ecbb73c421f7844885f58a6835805719
      Signed-off-by: default avatarRiya Dixit <riyadixitagra@gmail.com>
      1e5c81e0
    • Manojkiran Eda's avatar
      Make containerId optional in the event json file · fa084700
      Manojkiran Eda authored
      
      
      During the PDR exchange, normalization causes the container IDs of
      remote entities to change. Therefore, checking for a predefined
      container ID from a remote terminus for sensor events does not provide
      any benefit. This commit adds support for optionally skipping the check
      for remote container id for sensor events when needed.
      
      Tested:
      Unit tests passed.
      
      Change-Id: I871044815194b7aed507c105ae04f1418e084de1
      Signed-off-by: default avatarManojkiran Eda <manojkiran.eda@gmail.com>
      fa084700
  8. Jun 05, 2024
  9. Jun 03, 2024
  10. May 30, 2024
  11. May 28, 2024
    • Gilbert Chen's avatar
      requester: Add coroutine API · a85c69d3
      Gilbert Chen authored
      
      
      Added coroutine API to Handler using stdexec to help send and receive
      messages in one function call.
      
      For example, to get all PDRs from terminus needs multiple getPDR
      commands.  Except first getPDR commands, the following getPDR command
      request data(e.g.  dataTransferHandle) needs the previous getPDR command
      response data(e.g.  nextDataTransferHandle). By using C++ co_await, the
      code to get all PDRs can straightforward be implemented by a while loop.
      
      Pseudo code example:
          do
          {
              auto rc = co_await getPDR(dataTransferHndl, ...);
      
              // update dataTransferHndl for next getPDR command
              dataTransferHndl = nextDataTransferHndl;
      
          } while(...);
      
      Signed-off-by: Gilbert Chen's avatarGilbert Chen <gilbert.chen@arm.com>
      Signed-off-by: default avatarKhang Nguyen <khangng@amperecomputing.com>
      Signed-off-by: default avatarThu Nguyen <thu@os.amperecomputing.com>
      Change-Id: I7b47d15ac15f6ae661ec94dca6a281844b939a44
      a85c69d3
  12. May 27, 2024
  13. May 21, 2024
  14. May 20, 2024
    • Kamalkumar Patel's avatar
      oem-ibm: Fix size corruption during DMA transfer · 56c78807
      Kamalkumar Patel authored
      
      
      When the remote terminus performs read/write operations on BMC
      utilizing DMA(Direct Memory Access), the BMC verifies the data length
      to be transferred and segments it into chunks if the length exceeds
      the maximum  allowable size (8384512 byte) by DMA. This modification
      addresses an issue in PLDM where it incorrectly reports data transfer
      status to the remote terminus, including the leftover length in its
      response, which is erroneous. With this enhancement, PLDM now delivers
      accurate responses with the appropriate length specified.
      
      Tested:
      Tested IPL flow on simulator.
      
      Change-Id: I48d4f825f1e049b06f291e401a02f8dacc1ad970
      Signed-off-by: default avatarKamalkumar Patel <kamalkumar.patel@ibm.com>
      56c78807
  15. May 13, 2024
  16. May 11, 2024
  17. May 08, 2024
  18. May 07, 2024
    • Manojkiran Eda's avatar
      Remove dead host_pdr_handler code & json-file · a13bf143
      Manojkiran Eda authored
      
      
      The content from host_fru.json is being parsed and parents map is being
      populated with that data, but the parents map isn't being used anywhere
      in the code base making it a dead code, so removing the json file & also
      the code that parses it.
      
      This part of code was once added to normalize the PDR's, but now we have
      a better/efficient/dynamic way to normalize the PDR's which does not
      need any JSON files & static configuration.So we don't need this code
      anymore.
      
      Tested:
      Code builds & unit tests are passed.
      
      Change-Id: I3c9af49ef3644c08d80e207b86614de1b5b919c2
      Signed-off-by: default avatarManojkiran Eda <manojkiran.eda@gmail.com>
      a13bf143
  19. Apr 27, 2024
    • nothingIIersonal's avatar
      pldmtool: Add NumericSensor PDR · cea52d9b
      nothingIIersonal authored
      
      
      Added NumericSensor PDR to provide general sensor information,
      such as the factors that are used for converting raw sensor
      readings to normalized units, etc.
      
      Tested result:
      ```
      root@bmc:~# pldmtool platform getPdr -m9 -t numericSensor | head
      [
      ,,,,,{
          "nextRecordHandle": 1301,
          "responseCount": 105,
          "recordHandle": 1300,
          "PDRHeaderVersion": 1,
          "PDRType": "Numeric Sensor PDR",
          "recordChangeNumber": 0,
          "dataLength": 95,
          "PLDMTerminusHandle": 100,
      ```
      
      Change-Id: If64fc9d538dc673dacfba6e4c2dd2360cfe50a68
      Signed-off-by: default avatarRuslan Magomedov <velochimc@mail.ru>
      cea52d9b
Loading