diff options
author | Corey Swenson <cswenson@us.ibm.com> | 2015-05-11 14:03:51 -0500 |
---|---|---|
committer | Patrick Williams <iawillia@us.ibm.com> | 2015-12-11 13:56:27 -0600 |
commit | 5d33811c6f265463f502c19dd2a3173e1bbc38bc (patch) | |
tree | 978fca6284a12f15d4084559317c034775813ac2 /src/kernel | |
parent | 12bdd1a279cf7913b5da2010c8cbbc7ccfacf0a6 (diff) | |
download | talos-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.C | 6 | ||||
-rw-r--r-- | src/kernel/cpuid.C | 10 | ||||
-rw-r--r-- | src/kernel/cpumgr.C | 7 | ||||
-rw-r--r-- | src/kernel/exception.C | 2 | ||||
-rw-r--r-- | src/kernel/misc.C | 8 |
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; |