diff options
| author | Dan Crowell <dcrowell@us.ibm.com> | 2017-04-28 15:20:00 -0500 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-05-11 23:39:31 -0400 |
| commit | 114a75e27e8fd2aa81f2829885411ec00ebc5d18 (patch) | |
| tree | 845408b7b6e7b6569e2c20a61e8b08e4566461c7 /src/kernel | |
| parent | 43983e5bbd7a2b1c9a480c60595b2ef9ab520cde (diff) | |
| download | blackbird-hostboot-114a75e27e8fd2aa81f2829885411ec00ebc5d18.tar.gz blackbird-hostboot-114a75e27e8fd2aa81f2829885411ec00ebc5d18.zip | |
Fix PVR check for Nimbus DD1
Added check for bit 18 to distinguish between Nimbus DD1.0 and
Cumulus DD1.0
Consolidated Nimbus DD1 checking to a common function
Added printk output that shows which CPU we're running on
Modified some existing printk output to use fewer characters
Change-Id: I1c42df0051fc2d9cc5fa54d95f68c3bd26b86462
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39876
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com>
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/kernel')
| -rw-r--r-- | src/kernel/cpuid.C | 2 | ||||
| -rw-r--r-- | src/kernel/kernel.C | 8 | ||||
| -rw-r--r-- | src/kernel/misc.C | 12 | ||||
| -rw-r--r-- | src/kernel/pagemgr.C | 2 |
4 files changed, 20 insertions, 4 deletions
diff --git a/src/kernel/cpuid.C b/src/kernel/cpuid.C index f65612ae1..8d3555eed 100644 --- a/src/kernel/cpuid.C +++ b/src/kernel/cpuid.C @@ -49,7 +49,7 @@ namespace CpuID case PVR_t::P9_ALL: { // Nimbus DD1.0 has a different PVR format - if( (l_pvr.word & PVR_t::CHIP_DD_MASK) == PVR_t::IS_NIMBUS_DD1) + if( l_pvr.isNimbusDD1() ) { return CORE_POWER9_NIMBUS; } diff --git a/src/kernel/kernel.C b/src/kernel/kernel.C index f470723ce..b14181caf 100644 --- a/src/kernel/kernel.C +++ b/src/kernel/kernel.C @@ -40,6 +40,7 @@ #include <util/align.H> #include <securerom/sha512.H> #include <kernel/bltohbdatamgr.H> +#include <kernel/cpuid.H> #include <stdlib.h> @@ -47,6 +48,7 @@ extern "C" void kernel_dispatch_task(); extern void* init_main(void* unused); extern uint64_t kernel_other_thread_spinlock; + class Kernel { public: @@ -63,6 +65,8 @@ extern "C" int main() { printk("Booting %s kernel...\n\n", "Hostboot"); + printk("CPU=%s\n", + ProcessorCoreTypeStrings[CpuID::getCpuType()]); // Erase task-pointer so that TaskManager::getCurrentTask() returns NULL. setSPRG3(NULL); @@ -76,7 +80,7 @@ int main() if ( Bootloader::BlToHbDataValid(l_pBltoHbData) ) { - printk("Valid BL to HB communication data\n"); + printk("BL to HB comm valid\n"); // Make copy of structure so to not modify original pointers auto l_blToHbDataCopy = *l_pBltoHbData; @@ -112,7 +116,7 @@ int main() } else { - printk("Invalid BL to HB communication data\n"); + printk("BL to HB commun invalid\n"); // Force invalidation of securebootdata g_BlToHbDataManager.initInvalid(); } diff --git a/src/kernel/misc.C b/src/kernel/misc.C index 963c0a75c..6122e40a2 100644 --- a/src/kernel/misc.C +++ b/src/kernel/misc.C @@ -651,3 +651,15 @@ namespace KernelMemState } }; + +const char* ProcessorCoreTypeStrings[] +{ + "Murano", + "Venice", + "Naples", + "Nimbus", + "Cumulus", + "Unknown" +}; + + diff --git a/src/kernel/pagemgr.C b/src/kernel/pagemgr.C index 66f62e6da..5382dc0e0 100644 --- a/src/kernel/pagemgr.C +++ b/src/kernel/pagemgr.C @@ -207,7 +207,7 @@ void PageManager::_initialize() page_t* startAddr = reinterpret_cast<page_t*>(firstPageAddr()); page_t* endAddr = reinterpret_cast<page_t*>(VmmManager::INITIAL_MEM_SIZE); - printk("Initializing PageManager starting at %p...", startAddr); + printk("PageManager starts at %p...", startAddr); // Add on secureboot data size to end of reserved space size_t securebootDataSize = 0; |

