Add 'greater than' support in depex computation.

Added support in code to compute depex expressions
with _GE_ and _GTE_.

Tested:
With bios.xml file which had the following knob:

<knob
type="scalar"
setupType="numeric"
name="CoreDisableMask_0"
varstoreIndex="05"
prompt="CoreDisableMask_0"
description="Core Disable Bitmap (Hex)  0:
    Enable all cores. 0xffff: Disable all cores  "
size="8"
offset="0x014A"
depex="Sif( SstPpLevelTotalCount _GT_ 1
    AND ( ( IssTdpLevel _EQU_ 0xFF
	AND SstPpLevelEnableSystem_0 _NEQ_ 1 )
	OR ( IssTdpLevel _NEQ_ 0xFF AND IssTdpLevel _GT_ 0 )
	OR DynamicIss _EQU_ 1 ) )"
default="0x0000000000000000"
CurrentVal="0x0000000000000000"
min="0x0"
max="0xFFFFFFFFFFFFFFFF"
step="0x1"/>

Signed-off-by: Arun Lal K M <arun.lal@intel.com>
Change-Id: I45cd879ca1bb35e6cde9ea581b3a5c63577525d0
1 file changed
tree: 6db026d9386340f1213d566b36c64da0b3c68e0f
  1. cmake/
  2. docs/
  3. include/
  4. non-yocto/
  5. src/
  6. tests/
  7. .clang-format
  8. .gitignore
  9. cmake-format.json
  10. CMakeLists.txt
  11. CMakeLists.txt.in
  12. generate-whitelist.py
  13. ipmi-whitelist.conf
  14. LICENSE
  15. MAINTAINERS
  16. README.md
README.md

Intel IPMI OEM support library

This component is intended to provide Intel-specific IPMI[3] command handlers for OpenBMC. These handlers are intended to integrate BMC with servers based on Intel architecture.

Overview

intel-ipmi-oem serves as an extension[1] to OpenBMC IPMI daemon[2]. It is compiled as a shared library and intended to both:

  • override existing implementation of standard IPMI commands to comply with Intel-specific solutions,
  • provide implementation for non-standard OEM extensions.

Capabilities

Related features provided by the library are grouped in separate source files. Main extensions to vanilla OpenBMC IPMI stack are the following:

  • Acquiring SMBIOS data over IPMI
  • Commands for better integration with Intel hardware
  • Firmware update extensions
  • Extended parsing of IPMI Platform Events[4]

References

  1. OpenBMC IPMI Architecture
  2. Phosphor IPMI Host
  3. IPMI Specification v2.0
  4. Intel Platform Events parsing