summaryrefslogtreecommitdiffstats
path: root/src/kernel
diff options
context:
space:
mode:
authorCorey Swenson <cswenson@us.ibm.com>2015-05-11 14:03:51 -0500
committerPatrick Williams <iawillia@us.ibm.com>2015-12-11 13:56:27 -0600
commit5d33811c6f265463f502c19dd2a3173e1bbc38bc (patch)
tree978fca6284a12f15d4084559317c034775813ac2 /src/kernel
parent12bdd1a279cf7913b5da2010c8cbbc7ccfacf0a6 (diff)
downloadtalos-hostboot-5d33811c6f265463f502c19dd2a3173e1bbc38bc.tar.gz
talos-hostboot-5d33811c6f265463f502c19dd2a3173e1bbc38bc.zip
Base kernel changes for Nimbus/Cumulus
Change-Id: Ic5dfde1e975453d760631335bab674919e1109e7 RTC: 126637 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/18321 Tested-by: Jenkins Server Reviewed-by: Christian Geddes <crgeddes@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/basesegment.C6
-rw-r--r--src/kernel/cpuid.C10
-rw-r--r--src/kernel/cpumgr.C7
-rw-r--r--src/kernel/exception.C2
-rw-r--r--src/kernel/misc.C8
5 files changed, 29 insertions, 4 deletions
diff --git a/src/kernel/basesegment.C b/src/kernel/basesegment.C
index bde57a0e4..ea5846a46 100644
--- a/src/kernel/basesegment.C
+++ b/src/kernel/basesegment.C
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2011,2014 */
+/* Contributors Listed Below - COPYRIGHT 2011,2015 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -55,6 +57,8 @@ void BaseSegment::_init()
case CORE_POWER8_MURANO:
case CORE_POWER8_VENICE:
case CORE_POWER8_NAPLES:
+ case CORE_POWER9_NIMBUS:
+ case CORE_POWER9_CUMULUS:
default:
iv_physMemSize = VMM_BASE_BLOCK_SIZE;
break;
diff --git a/src/kernel/cpuid.C b/src/kernel/cpuid.C
index 638942438..576c74043 100644
--- a/src/kernel/cpuid.C
+++ b/src/kernel/cpuid.C
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2011,2014 */
+/* Contributors Listed Below - COPYRIGHT 2011,2015 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -51,6 +53,12 @@ namespace CpuID
case 0x004D0000:
return CORE_POWER8_VENICE;
+ case 0x004E0000:
+ return CORE_POWER9_NIMBUS;
+
+ case 0x004F0000:
+ return CORE_POWER9_CUMULUS;
+
default:
return CORE_UNKNOWN;
}
diff --git a/src/kernel/cpumgr.C b/src/kernel/cpumgr.C
index 44f61a173..1aef65650 100644
--- a/src/kernel/cpumgr.C
+++ b/src/kernel/cpumgr.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2010,2014 */
+/* Contributors Listed Below - COPYRIGHT 2010,2015 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -450,6 +450,11 @@ size_t CpuManager::getThreadCount()
threads = 8;
break;
+ case CORE_POWER9_NIMBUS:
+ case CORE_POWER9_CUMULUS:
+ threads = 4;
+ break;
+
case CORE_UNKNOWN:
default:
kassert(false);
diff --git a/src/kernel/exception.C b/src/kernel/exception.C
index 1ac76c09a..5c16d46cd 100644
--- a/src/kernel/exception.C
+++ b/src/kernel/exception.C
@@ -282,6 +282,8 @@ void kernel_execute_softpatch()
case CORE_POWER8_MURANO:
case CORE_POWER8_VENICE:
case CORE_POWER8_NAPLES:
+ case CORE_POWER9_NIMBUS:
+ case CORE_POWER9_CUMULUS:
case CORE_UNKNOWN:
p8_softpatch_denorm_assist(t->fp_context);
break;
diff --git a/src/kernel/misc.C b/src/kernel/misc.C
index 69e235ba0..a4b438ceb 100644
--- a/src/kernel/misc.C
+++ b/src/kernel/misc.C
@@ -442,6 +442,8 @@ namespace KernelMisc
case CORE_POWER8_MURANO:
case CORE_POWER8_VENICE:
case CORE_POWER8_NAPLES:
+ case CORE_POWER9_NIMBUS:
+ case CORE_POWER9_CUMULUS:
cache_columns = 4;
break;
@@ -486,10 +488,12 @@ namespace KernelMisc
case CORE_POWER8_MURANO:
case CORE_POWER8_VENICE:
case CORE_POWER8_NAPLES:
+ case CORE_POWER9_NIMBUS:
+ case CORE_POWER9_CUMULUS:
startAddr = reinterpret_cast<uint64_t*>
( VmmManager::INITIAL_MEM_SIZE ) ;
endAddr =
- reinterpret_cast<uint64_t*>(8 * MEGABYTE);
+ reinterpret_cast<uint64_t*>(VMM_BASE_BLOCK_SIZE);
break;
default:
@@ -542,6 +546,8 @@ namespace KernelMisc
case CORE_POWER8_MURANO:
case CORE_POWER8_VENICE:
case CORE_POWER8_NAPLES:
+ case CORE_POWER9_NIMBUS:
+ case CORE_POWER9_CUMULUS:
case CORE_UNKNOWN:
l_scratch_addr = l_scratch_addr + 0x40;
break;
OpenPOWER on IntegriCloud