summaryrefslogtreecommitdiffstats
path: root/src/kernel
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2017-04-28 15:20:00 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-05-11 23:39:31 -0400
commit114a75e27e8fd2aa81f2829885411ec00ebc5d18 (patch)
tree845408b7b6e7b6569e2c20a61e8b08e4566461c7 /src/kernel
parent43983e5bbd7a2b1c9a480c60595b2ef9ab520cde (diff)
downloadblackbird-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.C2
-rw-r--r--src/kernel/kernel.C8
-rw-r--r--src/kernel/misc.C12
-rw-r--r--src/kernel/pagemgr.C2
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;
OpenPOWER on IntegriCloud