Fix the console display for present/functional DIMMs on eBMC systems
Fix the console display for present/functional DIMMs on eBMC systems

There is an issue on BMC systems with the display of DIMM targets.

The reason for the incorrect display is that the ORDINAL_IDs for each
target type is used to determine which bit to set in the displayed
pres/func number. On eBMC systems the ORDINAL_ID for DIMMs increments
by 4 per DIMM instead of 1. This is to account for the targeting
support for 2 MEM_PORTs per OCMB and 2 DIMMs per MEM_PORT
(1 OCMB -> 2 MEM-PORTs -> 2 DIMMs per memport -> up to 4 DIMMs per OCMB).
With the current logic to display pres/func DIMMs, since there are fewer
DIMMs per proc in the model (8 in Everest-MRW_hb.mrw.xml) than the
ORDINAL_IDs indicate, the logic will 'wrap' back to the beginning of the
'pres/func' display number, overlapping pres/func display with lower
numbered DIMMs.

To fix this early wrapping behavior, HB will wrap based on the predetermined
number of bits allocated for all the possible targets of a type under a proc,
instead of wrapping on the number of targets of a type found in the model.

Change-Id: Ic7360ed81c29a714d51171746f66d529504b9864
CQ:SW553064
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/132948
Reviewed-by: Daniel M Crowell <912029ca9254ac7b5854e56910561d682e1fa2d0@us.ibm.com>
Tested-by: Daniel M Crowell <912029ca9254ac7b5854e56910561d682e1fa2d0@us.ibm.com>

open-power/hostboot,open-power/hostboot,open-power/hostboot,open-power/hostboot,open-power/hostboot