Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The HOMER address is colliding with an NVDIMM address and should not
When having NVDIMMs, the HOMER address needs to be adjusted to avoid running into the NVDIMM's address. Currently the method mem_utils.C::get_top_homer_mem_addr() makes a call to the method mem_utils.C::get_top_mem_addr(). The get_top_mem_addr() is the method that actually gets the HOMER address. Once the HOMER address has been retrieved, then the method call to NVDIMM::get_top_addr_with_no_nvdimms() will verify that the returned HOMER address does not collide with an NVDIMM address and if so the HOMER address is adjusted before returning to the user. The logic looks like this: mem_utils.C::get_top_homer_mem_addr() -> mem_utils.C::get_top_mem_addr() -> NVDIMM::get_top_addr_with_no_nvdimms() The problem is, in some places in the code, to get the top address, the call to get_top_mem_addr() is made directly but the returned value is never checked against and NVDIMM. Changing the logic to be: mem_utils.C::get_top_homer_mem_addr() -> mem_utils.C::get_top_mem_addr() -> NVDIMM::get_top_addr_with_no_nvdimms() Where the check against an NVDIMM is done, at the end of the call to the method get_top_mem_addr(), and resolves any NVDIMM collisions. Now any call to get_top_homer_mem_addr() and/or get_top_mem_addr(), both should and will return the same value, and that value compensates for an NVDIMM. The code that deals with SMF being enabled, well, there should be no NVDIMMs so an assertion is added to ensure that this will be the case. Change-Id: Iab5885da261b7b9d3c5172fea69b6b85b3da45d8 CQ: SW484250 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/91926 Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Ilya Smirnov <ismirno@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E Bofferding <bofferdn@us.ibm.com>
- Loading branch information