pdbg: srcrev bump 59ebe397a3..deb577949a

Alistair Popple (20):
      pdbg/gdbserver: Make ragel optional
      libpdbg: Add api to get 32-bit device tree property
      libpdbg: fix a bug in get_class_target_addr
      libpdbg: Add API to get device tree path and find target via path
      libpdbg: Add indirect address translation via callback
      libpdbg: Add xbus hardware unit
      libpdbg: Remove unused code
      libpdbg: Make more declarations static
      libpdbg: Move property code into libpdbg/device.c
      libpdbg: Rename property functions
      libpdbg: Rework chip-id functions
      libpdbg: Rework target addressing
      libpdbg: Remove old dt_prop functions
      libpdbg: Rework target compatible
      libpdbg: Make dt_root private
      libpdbg: Remove device.h
      device.c: Fix pdbg_target_address
      libpdbg: Remove zalloc macro
      optcmd: Add parser for 8-bit power of 2 integers
      adu: Add arugments for block size

Amitay Isaacs (49):
      Makefile: Install libpdbg header libpdbg.h
      Makefile: Keep libfdt sources sorted
      Makefile: Keep libpdbg sources sorted
      Makefile: Add missing header file in libpdbg_SOURCES
      Makefile: Keep pdbg sources sorted
      Makefile: Add missing headers to pdbg_SOURCES
      Makefile: Define arch dependent sources explicitly
      Makefile: Redefine sources required for gdbserver
      Makefile: Package src/gdb_parser.rl
      Makefile: Order the libraries for make install to work
      build: Allow device tree headers to be generated in subdirs
      tests: Fix the condition to check if bmc is up
      tests: Update driver to pass test_wrapper argument
      tests: Exit on first test failure
      tests: Ensure tests can be run from builddir
      tests: Log stderr output (if any) on test failure
      libpdbg: Convert printf to DEBUG statements
      main: Convert target_selection() to return a boolean
      util: Move parse_list() into a separate file
      path: Add device tree path based targeting
      main: Add an option for path based targetting
      main: Add explicit probing of selected targets
      main: Convert -p/-c/-t/-a/-l to path based targets
      main: Switch to path based target selection
      main: Fix probe() to print targets correctly
      tests: Add path based selection tests
      main: Do not use argv[0] for progname
      main: Update probe output to display device names
      libpdbg: Add an api for address translation
      main: Convert getcfam/putcfam to use path based targeting
      main: Convert getscom/putscom to use path based targeting
      main: Convert register functions to path based targeting
      main: Ignore nodes that do not have class names
      libpdbg: Split nhtm hardware units for p8 and p9
      main: Move device_node setting before parse_options
      main: Mark print_target static
      main: Convert getring to path based targeting
      main: Convert thread commands start/stop/step/sreset
      main: Convert threadstatus command to path based targeting
      main: Convert regs command to path based targeting
      main: Drop unused iterators with callbacks
      main: Convert htm commands to path based targeting
      main: Convert gdbserver command to path based targeting
      main: Drop unused target_select/target_selected functions
      libpdbg: Fix probing of pib
      libpdbg: Use index instead of chip-id for id
      libpdbg: Drop pdbg_target_chip_id()
      dtc: Drop chip-id property
      README: Add information about target selection

Artem Senichev (1):
      main: Set I2C backend device specified in arguments

Joel Stanley (1):
      Fix build failure in target detection

Nicholas Piggin (1):
      stack: guess endian for stack frame walking

Rashmica Gupta (3):
      pdbg/gdbserver: Add in basic skeleton for a gdbserver on p8
      pdbg/gdbserver: Make gdbserver optional
      README: Add some gdbserver info

(From meta-openpower rev: 16c5b8f97176373b8e91ab2f8e86b6b3dea314d9)

Change-Id: Ic03552fc25a7cf4c64796347d38acb50209ea30e
Signed-off-by: Artem Senichev <a.senichev@yadro.com>
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
1 file changed
tree: 4e3da43fcf17c7fd5c36ab2079ff3f2bdde93a7f
  1. meta-arm/
  2. meta-aspeed/
  3. meta-evb/
  4. meta-facebook/
  5. meta-google/
  6. meta-hxt/
  7. meta-ibm/
  8. meta-ingrasys/
  9. meta-inspur/
  10. meta-intel/
  11. meta-inventec/
  12. meta-mellanox/
  13. meta-nuvoton/
  14. meta-openembedded/
  15. meta-openpower/
  16. meta-phosphor/
  17. meta-portwell/
  18. meta-qualcomm/
  19. meta-quanta/
  20. meta-raspberrypi/
  21. meta-security/
  22. meta-x86/
  23. meta-xilinx/
  24. poky/
  25. .gitignore
  26. .gitreview
  27. .templateconf
  28. MAINTAINERS
  29. openbmc-env
  30. README.md
  31. setup
README.md

OpenBMC

Build Status

The OpenBMC project can be described as a Linux distribution for embedded devices that have a BMC; typically, but not limited to, things like servers, top of rack switches or RAID appliances. The OpenBMC stack uses technologies such as Yocto, OpenEmbedded, systemd, and D-Bus to allow easy customization for your server platform.

Setting up your OpenBMC project

1) Prerequisite

  • Ubuntu 14.04
sudo apt-get install -y git build-essential libsdl1.2-dev texinfo gawk chrpath diffstat
  • Fedora 28
sudo dnf install -y git patch diffstat texinfo chrpath SDL-devel bitbake rpcgen
sudo dnf groupinstall "C Development Tools and Libraries"

2) Download the source

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

3) Target your hardware

Any build requires an environment variable known as TEMPLATECONF to be set to a hardware target. You can see all of the known targets with find meta-* -name local.conf.sample. Choose the hardware target and then move to the next step. Additional examples can be found in the OpenBMC Cheatsheet

MachineTEMPLATECONF
Palmettometa-ibm/meta-palmetto/conf
Zaiusmeta-ingrasys/meta-zaius/conf
Witherspoonmeta-ibm/meta-witherspoon/conf
Romulusmeta-ibm/meta-romulus/conf

As an example target Palmetto

export TEMPLATECONF=meta-ibm/meta-palmetto/conf

4) Build

. openbmc-env
bitbake obmc-phosphor-image

Additional details can be found in the docs repository.

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.

Features of OpenBMC

Feature List

  • REST Management
  • IPMI
  • SSH based SOL
  • Power and Cooling Management
  • Event Logs
  • Zeroconf discoverable
  • Sensors
  • Inventory
  • LED Management
  • Host Watchdog
  • Simulation
  • Code Update Support for multiple BMC/BIOS images

Features In Progress

  • Full IPMI 2.0 Compliance with DCMI
  • Verified Boot
  • HTML5 Java Script Web User Interface
  • BMC RAS

Features Requested but need help

  • OpenCompute Redfish Compliance
  • OpenBMC performance monitoring
  • cgroup user management and policies
  • Remote KVM
  • Remote USB
  • OpenStack Ironic Integration
  • QEMU enhancements

Finding out more

Dive deeper in to OpenBMC by opening the docs repository.

Contact