Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/openbmc/openpower-libhei
Hardware Error Isolation for Power Systems
https://github.com/openbmc/openpower-libhei
Last synced: about 12 hours ago
JSON representation
Hardware Error Isolation for Power Systems
- Host: GitHub
- URL: https://github.com/openbmc/openpower-libhei
- Owner: openbmc
- License: apache-2.0
- Created: 2019-03-07T13:23:07.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-23T16:38:43.000Z (14 days ago)
- Last Synced: 2024-10-23T23:16:22.073Z (14 days ago)
- Language: C++
- Homepage:
- Size: 1.28 MB
- Stars: 0
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# openpower-libhei: Hardware Error Isolation for POWER Systems
This library is a common, portable code base for isolating errors reported by
hardware registers on POWER Systems chips.The primary consumers (and requirements drivers) will be:
- [OpenBMC Hardware Diagnostics][]
- [POWER Systems Hostboot firmware][]
- POWER Systems FSP firmware## Core API
See the [primary API definitions][] for details on how to use this library.
## Integration
This library can be integrated into a user application's source (either
imported, or as a git subtree/submodule) or built as static library.## User Application Requirements and APIs
- The process to access hardware register data will vary per user application.
Therefore, this library will declare the hardware access [user APIs][], but each
user application must implement the APIs for their own environment.
- This library will not contain data regarding hardware specific information.
Instead, that information will be provided by the user application in the form
of the [Chip Data Files][].
- Tracing, or logging, methods will vary per user application. Therefore, this
library will declare the tracing/logging [user APIs][], but each user application
must implement the APIs for their own environment.## Environment configuration
- `__HEI_ENABLE_HW_WRITE`: When defined, it will allow hardware write support.
Note that the Chip Data Files will contain rules for clearing and masking
register bits. Both of which will require modifying hardware registers, which
is not allowed by user applications like OpenBMC or FSP firmware.## Development Notes
- The Hostboot environment only supports up to **C++14**. Therefore, this
library cannot use anything newer at this time.
- Hostboot has a very limited environment. It does not include libc or
libstdc++. However, Hostboot has implemented select functions from those
libraries as needed. For details, you can reference `src/include/` in the
[POWER Systems Hostboot firmware][].## Building
For a standard OpenBMC release build, you want something like:
```sh
meson -Dtests=disabled
ninja -C
ninja -C install
```For a test / debug build, a typical configuration is:
```sh
meson -Dtests=enabled
ninja -C test
```[openbmc hardware diagnostics]: https://github.com/openbmc/openpower-hw-diags
[power systems hostboot firmware]: https://github.com/open-power/hostboot
[primary api definitions]: src/hei_main.hpp
[user apis]: src/hei_user_interface.hpp
[chip data files]: src/chip_data/CHIP_DATA.md