phosphor-logging libekb ekb and pdbg srcrev bump

phosphor-logging: srcrev bump cc9adb7985..4fdb31aa91
devenrao (5):
      PEL: add new error messages for odyssey sbe related failures
      PEL: Move definitions and variables to the proper scope
      PEL: Fix the memory leak error when parsing multiple ffdc packets
      PEL: Modify the sbe ffdc handler to cater for POZ format
      PEL: Fix the max packets that can be received for Odyssey OCMB

libekb: srcrev bump b62ed786..bc2b16f05
Aravind T Nair (1):
      phal:EKB: Bump till hw091823a.opmst10

SwethaParasa (3):
      libekb: Add support for Odyssey SBE Dump HWP
      Add Odyssey Header files to ekb headerlist
      phal:EKB: Bump till hw013124a.opmst10

aravnair-in (1):
      fapi2 compilation fixes

devenrao (4):
      cater for ocmb get/put scom to call fom hwp
      cater for getcfam odyssey ocmb chip support
      POZ: cater for POZ sbe ffdc handling
      POZ: fix memory leak when ffdc data allocated is deleted

git shortlog  7fd7e4d6..b372d392
Amita Banchhor (1):
      back port changes needed to get eff_config compile into SBE

Andrew Singer (1):
      Port over poz_scan_compare support from ekb-src

Ben Gass (7):
      Initial push of odyssey registers with example
      Initial push of odyssey registers with example
      Update Odyssey register headers.
      Update Odyssey register header files with latest figdb
      Initial push of odyssey registers with example
      Update Odyssey register headers.
      Update Odyssey register header files with latest figdb

Daniel Crowell (1):
      Add parameters to allow external polling loops

Greg Still (5):
      PM Safe Mode Index: determine the setting via the worst WOF Table CeffOvrg
      PPB: define #W trace enablement attribute
      PM XML: define Saddleback rollover error enablement attribute
      PM XML: define ATTR_DDR5_VDN_UPLIFT_MV for Denali use
      PM HWP: uplift VDN voltage if DDR5 memory detected

Joe McGill (2):
      snapshot Odyssey POR HWPs
      Ody HWP updates -- PG, scan

Kahn Evans (2):
      Only addErrorInfo if iv_info has been allocated - will segfault without this
      Fix to fully qualify fapi2 namespace by types added in commit 162135

Matthew Raybuck (4):
      Fix max per proc values to reflect P10 values
      Changes to various SBE FFDC interfaces to support Odyssey chips
      Add a unique error for cases where HWP errors arent expected by SBE
      Add MAX_*_PER_OCMB to convertSbeTargInstanceToFapiPos

Prasad Bg Ranganath (3):
      PPB hwp :Power Capping Extension support
      ODY HWP: ODY PPE STATE support with OCMB target
      PM HWP: Add error inject code support in avsbus procedure

SWATHIPS (2):
      pibms_reg_dump for ODY!
      Linking HWP directly into wrapper to remove dependency on setting HWP PATH

Sheldon Bailey (1):
      Calculate user hard min power cap based on memory and proc config

Sreekanth Reddy Kadapala (9):
      Ody_extract_sbe_rc : correct header names for regs
      Extract sbe rc files import to P10 ekb repo
      Ody_extract_sbe_rc : correct header names for regs
      Remove FSI adresses from SCOM scope
      Updates to resolve redeclaration issues
      pibmem dump procedure for odyssey
      Resolve redefinition errors
      Adding separate make file for ody_extract_sbe_rc
      ody_extract_sbe_rc: XML file updates

Srikantha Meesala (1):
      master-p10: Enable FFDC with heap allocation with HW and SBE FFDC Packages

Sunil Kumar (2):
      Parsing of POZ FFDC target for platform.
      Changes required to parse POZ FFDC HWP BLOB

Yue Du (1):
      QME: Fix LPAR mode change window condition also support sbe attribute

Zane Shelley (1):
      workaround for legacy commit-msg file

akhis023 (1):
      Added attr for Secure Boot Mode

hostboot (86):
      Release tag & head commit information updated for hw070523a.opmst10
      Release tag & head commit information updated for hw071023a.opmst10
      Release tag & head commit information updated for hw071223a.opmst10
      Release tag & head commit information updated for hw071423a.opmst10
      Release tag & head commit information updated for hw071723a.opmst10
      Release tag & head commit information updated for hw071923a.opmst10
      Release tag & head commit information updated for hw072423a.opmst10
      Release tag & head commit information updated for hw072623a.opmst10
      Release tag & head commit information updated for hw073123a.opmst10
      Release tag & head commit information updated for hw080223a.opmst10
      Release tag & head commit information updated for hw080723a.opmst10
      Release tag & head commit information updated for hw080923a.opmst10
      Release tag & head commit information updated for hw081423a.opmst10
      Release tag & head commit information updated for hw081623a.opmst10
      Release tag & head commit information updated for hw081823a.opmst10
      Release tag & head commit information updated for hw082123a.opmst10
      Release tag & head commit information updated for hw082323a.opmst10
      Release tag & head commit information updated for hw082523a.opmst10
      Release tag & head commit information updated for hw082823a.opmst10
      Release tag & head commit information updated for hw083023a.opmst10
      Release tag & head commit information updated for hw090123a.opmst10
      Release tag & head commit information updated for hw090723a.opmst10
      Release tag & head commit information updated for hw091123a.opmst10
      Release tag & head commit information updated for hw091123b.opmst10
      Release tag & head commit information updated for hw091423a.opmst10
      Release tag & head commit information updated for hw091823a.opmst10
      Release tag & head commit information updated for hw092123a.opmst10
      Release tag & head commit information updated for hw092223a.opmst10
      Release tag & head commit information updated for hw092523a.opmst10
      Release tag & head commit information updated for hw092723a.opmst10
      Release tag & head commit information updated for hw100223a.opmst10
      Release tag & head commit information updated for hw100423a.opmst10
      Release tag & head commit information updated for hw100623a.opmst10
      Release tag & head commit information updated for hw101123a.opmst10
      Release tag & head commit information updated for hw101423a.opmst10
      Release tag & head commit information updated for hw101623a.opmst10
      Release tag & head commit information updated for hw101823a.opmst10
      Release tag & head commit information updated for hw102123a.opmst10
      Release tag & head commit information updated for hw102323a.opmst10
      Release tag & head commit information updated for hw102523a.opmst10
      Release tag & head commit information updated for hw103023a.opmst10
      Release tag & head commit information updated for hw110123a.opmst10
      Release tag & head commit information updated for hw110823a.opmst10
      Release tag & head commit information updated for hw111323a.opmst10
      Release tag & head commit information updated for hw111523a.opmst10
      Release tag & head commit information updated for hw112023a.opmst10
      Release tag & head commit information updated for hw112123a.opmst10
      Release tag & head commit information updated for hw112223a.opmst10
      Release tag & head commit information updated for hw112723a.opmst10
      Release tag & head commit information updated for hw113023a.opmst10
      Release tag & head commit information updated for hw120523a.opmst10
      Release tag & head commit information updated for hw120623a.opmst10
      Release tag & head commit information updated for hw120823a.opmst10
      Release tag & head commit information updated for hw121123a.opmst10
      Release tag & head commit information updated for hw121323a.opmst10
      Release tag & head commit information updated for hw121923a.opmst10
      Release tag & head commit information updated for hw122023a.opmst10
      Release tag & head commit information updated for hw122223a.opmst10
      Release tag & head commit information updated for hw122623a.opmst10
      Release tag & head commit information updated for hw010324a.opmst10
      Release tag & head commit information updated for hw010524a.opmst10
      Release tag & head commit information updated for hw010824a.opmst10
      Release tag & head commit information updated for hw011024a.opmst10
      Release tag & head commit information updated for hw011224a.opmst10
      Release tag & head commit information updated for hw011524a.opmst10
      Release tag & head commit information updated for hw011724a.opmst10
      Release tag & head commit information updated for hw011924a.opmst10
      Release tag & head commit information updated for hw012224a.opmst10
      Release tag & head commit information updated for hw012424a.opmst10
      Release tag & head commit information updated for hw012924a.opmst10
      Release tag & head commit information updated for hw012924b.opmst10
      Release tag & head commit information updated for hw013124a.opmst10
      Release tag & head commit information updated for hw020724a.opmst10
      Release tag & head commit information updated for hw020924a.opmst10
      Release tag & head commit information updated for hw021224a.opmst10
      Release tag & head commit information updated for hw021424a.opmst10
      Release tag & head commit information updated for hw021924a.opmst10
      Release tag & head commit information updated for hw022024a.opmst10
      Release tag & head commit information updated for hw022324a.opmst10
      Release tag & head commit information updated for hw022824a.opmst10
      Release tag & head commit information updated for hw030124a.opmst10
      Release tag & head commit information updated for hw030524a.opmst10
      Release tag & head commit information updated for hw030624a.opmst10
      Release tag & head commit information updated for hw031324a.opmst10
      Release tag & head commit information updated for hw031324b.opmst10
      Release tag & head commit information updated for hw031824a.opmst10

rajerpp1 (1):
      Fix compile issues in fips environment

sandeep (2):
      Perl script changes for p10 to generate RC based on sbeError tag
      Added sbeError tag of missed XML file for p10 EKB

it shortlog  3a21a79..e81f3f6
Aravind T (15):
      Merge pull request #69 from Swarnendu-R-C/master
      Merge pull request #70 from deepakala-k/master
      Revert "Sort the targets numerically"
      Merge pull request #71 from open-power/revert-70-master
      Revert "Adding helper functions for switching of devtree backend in the same process"
      Merge pull request #73 from open-power/revert-69-master
      Merge pull request #76 from Swarnendu-R-C/backend_switching
      Merge pull request #81 from gcpin/master
      Merge pull request #80 from devenrao/ody
      Merge pull request #82 from deepakala-k/chipunit_getscom
      Merge pull request #84 from devenrao/state
      Merge pull request #86 from devenrao/defect
      Merge pull request #87 from deepakala-k/ody_perv
      Merge pull request #89 from deepakala-k/system_model
      Merge pull request #88 from devenrao/poz

Deepa Karthikeyan (1):
      Add getscom support for odyssey chipunit

Gopichand Paturi (1):
      OCMB target type renamed to "OCMB"

Jayanth Othayoth (3):
      libpdbg: skip thread state updates during stop chipop failure
      libpdbg: skip thread state updates during start chipop failure
      libpdbg: skip thread state updates during sreset chipop failure

Marri Devender Rao (1):
      libsbefifo: Add long timeout to SBE dump chip-op

Nicholas Piggin (6):
      sbefifo: correct typo in thread target name
      gdbserver: Fix attn enable HID change icache flushing sequence
      gdbserver: use TRAP for step stop reason
      p9chip: implement SMT state thread state
      libpdbg: implement fused-core and lpar-per-thread thread status
      gdbserver: Add a note about the attn_handler service on the BMC

Swarnendu Roy Chowdhury (3):
      Adding helper functions for switching of devtree backend in the same process
      Adding helper functions for switching of devtree backend
      Addition of unit test cases for Switching Backend functionality

Swarnendu-R-C (1):
      Correcting formatting issues

deepakala-k (3):
      sort the class targets numerically
      Use a unique class name for ody perv target
      Look for Rainier or Everest substring in Model

devenrao (8):
      get and put scom support for odyssey ocmb with sbefifo backend
      add get/put scom cfam support for ody ocmb with kernel backend
      cater for odyssey ocmb chipop for dump and ffdc
      cater for get sbe odyssey state
      cater for write odyssey sbe state value
      add separate backend device tree files for rainier and everest
      modify to use different device tree for rainier and everest
      allow other applications to use ody ocmb check method

Signed-off-by: Marri Devender Rao <devenrao@in.ibm.com>
Change-Id: Iba2d4593cc5e0f192f6d6ff535071f4825bb0d78
4 files changed
tree: de9ba5a578e919643b5c9b0c2801e06499004841
  1. .github/
  2. meta-amd/
  3. meta-ampere/
  4. meta-arm/
  5. meta-aspeed/
  6. meta-asrock/
  7. meta-bytedance/
  8. meta-delta/
  9. meta-evb/
  10. meta-facebook/
  11. meta-fii/
  12. meta-google/
  13. meta-hpe/
  14. meta-ibm/
  15. meta-ieisystems/
  16. meta-ingrasys/
  17. meta-intel-openbmc/
  18. meta-inventec/
  19. meta-nuvoton/
  20. meta-openembedded/
  21. meta-openpower/
  22. meta-phosphor/
  23. meta-qualcomm/
  24. meta-quanta/
  25. meta-raspberrypi/
  26. meta-security/
  27. meta-supermicro/
  28. meta-tyan/
  29. meta-ufispace/
  30. meta-wistron/
  31. meta-yadro/
  32. poky/
  33. .eslintrc.json
  34. .gitignore
  35. .gitreview
  36. openbmc-env
  37. OWNERS
  38. README.md
  39. setup
README.md

OpenBMC

Build Status

OpenBMC is a Linux distribution for management controllers used in devices such as servers, top of rack switches or RAID appliances. It uses Yocto, OpenEmbedded, systemd, and D-Bus to allow easy customization for your platform.

Setting up your OpenBMC project

1) Prerequisite

See the Yocto documentation for the latest requirements

Ubuntu

sudo apt install git python3-distutils gcc g++ make file wget \
    gawk diffstat bzip2 cpio chrpath zstd lz4 bzip2

Fedora

sudo dnf install git python3 gcc g++ gawk which bzip2 chrpath cpio \
    hostname file diffutils diffstat lz4 wget zstd rpcgen patch

2) Download the source

git clone https://github.com/openbmc/openbmc
cd openbmc

3) Target your hardware

Any build requires an environment set up according to your hardware target. There is a special script in the root of this repository that can be used to configure the environment as needed. The script is called setup and takes the name of your hardware target as an argument.

The script needs to be sourced while in the top directory of the OpenBMC repository clone, and, if run without arguments, will display the list of supported hardware targets, see the following example:

$ . setup <machine> [build_dir]
Target machine must be specified. Use one of:

bletchley               mori                    s8036
dl360poc                mtjade                  swift
e3c246d4i               mtmitchell              tatlin-archive-x86
ethanolx                nicole                  tiogapass
evb-ast2500             olympus-nuvoton         transformers
evb-ast2600             on5263m5                vegman-n110
evb-npcm750             p10bmc                  vegman-rx20
f0b                     palmetto                vegman-sx20
fp5280g2                qcom-dc-scm-v1          witherspoon
g220a                   quanta-q71l             witherspoon-tacoma
gbs                     romed8hm3               x11spi
greatlakes              romulus                 yosemitev2
gsj                     s2600wf                 zaius
kudo                    s6q
lannister               s7106

Once you know the target (e.g. romulus), source the setup script as follows:

. setup romulus

4) Build

bitbake obmc-phosphor-image

Additional details can be found in the docs repository.

OpenBMC Development

The OpenBMC community maintains a set of tutorials new users can go through to get up to speed on OpenBMC development out here

Build Validation and Testing

Commits submitted by members of the OpenBMC GitHub community are compiled and tested via our Jenkins server. Commits are run through two levels of testing. At the repository level the makefile make check directive is run. At the system level, the commit is built into a firmware image and run with an arm-softmmu QEMU model against a barrage of CI tests.

Commits submitted by non-members do not automatically proceed through CI testing. After visual inspection of the commit, a CI run can be manually performed by the reviewer.

Automated testing against the QEMU model along with supported systems are performed. The OpenBMC project uses the Robot Framework for all automation. Our complete test repository can be found here.

Submitting Patches

Support of additional hardware and software packages is always welcome. Please follow the contributing guidelines when making a submission. It is expected that contributions contain test cases.

Bug Reporting

Issues are managed on GitHub. It is recommended you search through the issues before opening a new one.

Questions

First, please do a search on the internet. There's a good chance your question has already been asked.

For general questions, please use the openbmc tag on Stack Overflow. Please review the discussion on Stack Overflow licensing before posting any code.

For technical discussions, please see contact info below for Discord and mailing list information. Please don't file an issue to ask a question. You'll get faster results by using the mailing list or Discord.

Will OpenBMC run on my Acme Server Corp. XYZ5000 motherboard?

This is a common question, particularly regarding boards from popular COTS (commercial off-the-shelf) vendors such as Supermicro and ASRock. You can see the list of supported boards by running . setup (with no further arguments) in the root of the OpenBMC source tree. Most of the platforms supported by OpenBMC are specialized servers operated by companies running large datacenters, but some more generic COTS servers are supported to varying degrees.

If your motherboard is not listed in the output of . setup it is not currently supported. Porting OpenBMC to a new platform is a non-trivial undertaking, ideally done with the assistance of schematics and other documentation from the manufacturer (it is not completely infeasible to take on a porting effort without documentation via reverse engineering, but it is considerably more difficult, and probably involves a greater risk of hardware damage).

However, even if your motherboard is among those listed in the output of . setup, there are two significant caveats to bear in mind. First, not all ports are equally mature -- some platforms are better supported than others, and functionality on some "supported" boards may be fairly limited. Second, support for a motherboard is not the same as support for a complete system -- in particular, fan control is critically dependent on not just the motherboard but also the fans connected to it and the chassis that the board and fans are housed in, both of which can vary dramatically between systems using the same board model. So while you may be able to compile and install an OpenBMC build on your system and get some basic functionality, rough edges (such as your cooling fans running continuously at full throttle) are likely.

Features of OpenBMC

Feature List

  • Host management: Power, Cooling, LEDs, Inventory, Events, Watchdog
  • Full IPMI 2.0 Compliance with DCMI
  • Code Update Support for multiple BMC/BIOS images
  • Web-based user interface
  • REST interfaces
  • D-Bus based interfaces
  • SSH based SOL
  • Remote KVM
  • Hardware Simulation
  • Automated Testing
  • User management
  • Virtual media

Features In Progress

  • OpenCompute Redfish Compliance
  • Verified Boot

Features Requested but need help

  • OpenBMC performance monitoring

Finding out more

Dive deeper into OpenBMC by opening the docs repository.

Technical Steering Committee

The Technical Steering Committee (TSC) guides the project. Members are:

  • Benjamin Fair, Google
  • Patrick Williams, Meta
  • Roxanne Clarke, IBM
  • Sagar Dharia, Microsoft
  • Samer El-Haj-Mahmoud, Arm
  • Terry Duncan, Intel

Contact