Patrick Georgi submitted this change.

View Change

Approvals: build bot (Jenkins): Verified Angel Pons: Looks good to me, approved
soc/intel/xeon_sp/cpx: rename xeon_sp_get_cpu_count()

Rename function from xeon_sp_get_cpu_count()
to xeon_sp_get_socket_count().

This function returns CPU socket count, by getting it from the field
named as numCpus in FSP HOB.

Signed-off-by: Jonathan Zhang <jonzhang@fb.com>
Signed-off-by: Reddy Chagam <anjaneya.chagam@intel.com>
Change-Id: Ic96bdf4ab042ac15d43f9b636185627c63fbf8a1
Reviewed-on: https://review.coreboot.org/c/coreboot/+/42439
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
---
M src/soc/intel/xeon_sp/cpx/acpi.c
M src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h
M src/soc/intel/xeon_sp/cpx/soc_util.c
3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/soc/intel/xeon_sp/cpx/acpi.c b/src/soc/intel/xeon_sp/cpx/acpi.c
index 16663b0..abaa453 100644
--- a/src/soc/intel/xeon_sp/cpx/acpi.c
+++ b/src/soc/intel/xeon_sp/cpx/acpi.c
@@ -449,7 +449,7 @@

static unsigned long acpi_fill_slit(unsigned long current)
{
- unsigned int nodes = xeon_sp_get_cpu_count();
+ unsigned int nodes = xeon_sp_get_socket_count();

uint8_t *p = (uint8_t *)current;
memset(p, 0, 8 + nodes * nodes);
diff --git a/src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h b/src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h
index 2d33d0e..412730b 100644
--- a/src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h
+++ b/src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h
@@ -34,7 +34,8 @@
void get_core_thread_bits(uint32_t *core_bits, uint32_t *thread_bits);
void get_cpu_info_from_apicid(uint32_t apicid, uint32_t core_bits, uint32_t thread_bits,
uint8_t *package, uint8_t *core, uint8_t *thread);
-unsigned int xeon_sp_get_cpu_count(void);
+/* Return socket count, as obtained from FSP HOB */
+unsigned int xeon_sp_get_socket_count(void);

int get_platform_thread_count(void);
int get_threads_per_package(void);
diff --git a/src/soc/intel/xeon_sp/cpx/soc_util.c b/src/soc/intel/xeon_sp/cpx/soc_util.c
index f7cebb5..fb78910 100644
--- a/src/soc/intel/xeon_sp/cpx/soc_util.c
+++ b/src/soc/intel/xeon_sp/cpx/soc_util.c
@@ -22,7 +22,7 @@

int get_platform_thread_count(void)
{
- return xeon_sp_get_cpu_count() * get_threads_per_package();
+ return xeon_sp_get_socket_count() * get_threads_per_package();
}

const struct SystemMemoryMapHob *get_system_memory_map(void)
@@ -82,8 +82,9 @@
return hob;
}

-unsigned int xeon_sp_get_cpu_count(void)
+unsigned int xeon_sp_get_socket_count(void)
{
+ /* The FSP IIO UDS HOB has field numCpus, it is actually socket count */
return get_iio_uds()->SystemStatus.numCpus;
}

@@ -94,7 +95,7 @@
int num_apics = 0;
uint32_t core_bits, thread_bits;
unsigned int core_count, thread_count;
- unsigned int num_cpus;
+ unsigned int num_sockets;

/*
* sort APIC ids in asending order to identify apicid ranges for
@@ -114,11 +115,9 @@
if (num_apics > 1)
bubblesort(apic_ids, num_apics, NUM_ASCENDING);

- /* Here num_cpus is the number of processors */
- /* The FSP HOB parameter has it named as num_cpus */
- num_cpus = xeon_sp_get_cpu_count();
+ num_sockets = xeon_sp_get_socket_count();
cpu_read_topology(&core_count, &thread_count);
- assert(num_apics == (num_cpus * thread_count));
+ assert(num_apics == (num_sockets * thread_count));

/* sort them by thread i.e., all cores with thread 0 and then thread 1 */
int index = 0;
@@ -308,7 +307,7 @@
* to receive the BIOS init completion message. So, we send it to all non-SBSP
* sockets first.
*/
- for (uint32_t socket = 0; socket < xeon_sp_get_cpu_count(); ++socket) {
+ for (uint32_t socket = 0; socket < xeon_sp_get_socket_count(); ++socket) {
if (socket == sbsp_socket_id)
continue;
set_bios_init_completion_for_package(socket);

To view, visit change 42439. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ic96bdf4ab042ac15d43f9b636185627c63fbf8a1
Gerrit-Change-Number: 42439
Gerrit-PatchSet: 9
Gerrit-Owner: Jonathan Zhang <jonzhang@fb.com>
Gerrit-Reviewer: Angel Pons <th3fanbus@gmail.com>
Gerrit-Reviewer: Anjaneya "Reddy" Chagam <anjaneya.chagam@intel.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com>
Gerrit-Reviewer: Patrick Rudolph <siro@das-labor.org>
Gerrit-Reviewer: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-MessageType: merged