chipsec.cfg.parsers.registers.hob module

Register view of a GUID extension HOB payload.

The payload is held as a single integer so that each structure member declared in XML becomes a normal register field: its ‘bit’ is the member’s byte offset times eight and its ‘size’ is the member’s width in bits. This makes the standard field accessors (get_field / has_field / get_field_mask) work directly on HOB data.

Two distinct byte orders are involved:
  • The payload is packed into the integer little-endian so that the first byte of the structure is the least significant one. That is what makes byte offset N map to bit N*8; it is a container encoding, not an interpretation of the data.

  • Individual members are reinterpreted using sys.byteorder, because the HOB list is read from the memory of the machine running CHIPSEC and is therefore stored in that machine’s native order (matching the ‘=’ prefix used for sizing).