MIPS: OCTEON: Extend number of supported CPUs past 32
To support more than 48 CPUs, the bootinfo structure grows a new coremask structure. Add the definition of the structure and add it to struct cvmx_bootinfo. In prom_init(), copy the new coremask data into the sysinfo structure, and use it in smp_setup(). Signed-off-by: David Daney <david.daney@cavium.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/12319/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:

committed by
Ralf Baechle

parent
58546e3b73
commit
7d52ab163c
@@ -32,6 +32,8 @@
|
||||
#ifndef __CVMX_BOOTINFO_H__
|
||||
#define __CVMX_BOOTINFO_H__
|
||||
|
||||
#include "cvmx-coremask.h"
|
||||
|
||||
/*
|
||||
* Current major and minor versions of the CVMX bootinfo block that is
|
||||
* passed from the bootloader to the application. This is versioned
|
||||
@@ -39,7 +41,7 @@
|
||||
* versions.
|
||||
*/
|
||||
#define CVMX_BOOTINFO_MAJ_VER 1
|
||||
#define CVMX_BOOTINFO_MIN_VER 3
|
||||
#define CVMX_BOOTINFO_MIN_VER 4
|
||||
|
||||
#if (CVMX_BOOTINFO_MAJ_VER == 1)
|
||||
#define CVMX_BOOTINFO_OCTEON_SERIAL_LEN 20
|
||||
@@ -124,6 +126,13 @@ struct cvmx_bootinfo {
|
||||
*/
|
||||
uint64_t fdt_addr;
|
||||
#endif
|
||||
#if (CVMX_BOOTINFO_MIN_VER >= 4)
|
||||
/*
|
||||
* Coremask used for processors with more than 32 cores
|
||||
* or with OCI. This replaces core_mask.
|
||||
*/
|
||||
struct cvmx_coremask ext_core_mask;
|
||||
#endif
|
||||
#else /* __BIG_ENDIAN */
|
||||
/*
|
||||
* Little-Endian: When the CPU mode is switched to
|
||||
@@ -177,6 +186,9 @@ struct cvmx_bootinfo {
|
||||
#if (CVMX_BOOTINFO_MIN_VER >= 3)
|
||||
uint64_t fdt_addr;
|
||||
#endif
|
||||
#if (CVMX_BOOTINFO_MIN_VER >= 4)
|
||||
struct cvmx_coremask ext_core_mask;
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user