diff options
| author | Patrick Williams <iawillia@us.ibm.com> | 2012-08-29 09:47:03 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-09-06 08:29:24 -0500 |
| commit | 8fc9c877be31195fcd7ca4f9c28c78acf61b0937 (patch) | |
| tree | a17d854157ea8fe2e7a637a9b5c44704bf79201b /src/include/kernel/cpu.H | |
| parent | 1c6e1a4cddde411b6219b9e881039ffbda0deb4f (diff) | |
| download | talos-hostboot-8fc9c877be31195fcd7ca4f9c28c78acf61b0937.tar.gz talos-hostboot-8fc9c877be31195fcd7ca4f9c28c78acf61b0937.zip | |
Allow processors on logical nodes != 0.
Created per-node arrays of CPU objects rather than a single array
for the entire system. These are created dynamically as CPUs are
enabled.
Also disabled support for P7 due to the PIR layout being different
and hence would have needed two different sets of assembly code.
We have been running exclusively on the P8 Mambo model for a while.
RTC: 42815
Change-Id: Ib92de8a7c07c2e700a3b7f0c03c64d484b447ca2
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1630
Tested-by: Jenkins Server
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/kernel/cpu.H')
| -rw-r--r-- | src/include/kernel/cpu.H | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/src/include/kernel/cpu.H b/src/include/kernel/cpu.H index 2efa89df2..21e4dae74 100644 --- a/src/include/kernel/cpu.H +++ b/src/include/kernel/cpu.H @@ -1,26 +1,25 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/include/kernel/cpu.H $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2010-2012 - * - * p1 - * - * Object Code Only (OCO) source materials - * Licensed Internal Code Source Materials - * IBM HostBoot Licensed Internal Code - * - * The source code for this program is not published or other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/include/kernel/cpu.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2010,2012 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ /** @file cpu.H * @brief Defines kernel information and functions about CPUs. * @@ -34,8 +33,9 @@ #include <builtins.h> #include <sys/sync.h> -// Thread ID support only, Power8 (8 threads). -#define KERNEL_MAX_SUPPORTED_CPUS (8 * 16 * 8) // Sockets, cores, threads. +// See BookIV PIR definition. +#define KERNEL_MAX_SUPPORTED_NODES 8 +#define KERNEL_MAX_SUPPORTED_CPUS_PER_NODE (8 * 16 * 8) // Chip, core, thread. class Scheduler; @@ -101,7 +101,7 @@ struct cpu_t ALWAYS_INLINE inline cpuid_t getCpuId() { - return getPIR() & (KERNEL_MAX_SUPPORTED_CPUS - 1); + return getPIR(); } #endif |

