Skip to content
Snippets Groups Projects
Commit b28cecdf authored by Miao Yan's avatar Miao Yan Committed by Bin Meng
Browse files

x86: use actual CPU number for allocating memory


Use actual CPU number, instead of maximum cpu configured, to allocate
stack memory in 'load_sipi_vector'

Signed-off-by: default avatarMiao Yan <yanmiaobest@gmail.com>
Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
Reviewed-by: default avatarBin Meng <bmeng.cn@gmail.com>
Tested-by: default avatarBin Meng <bmeng.cn@gmail.com>
parent 24fb4907
Branches
Tags
No related merge requests found
...@@ -210,7 +210,7 @@ static int save_bsp_msrs(char *start, int size) ...@@ -210,7 +210,7 @@ static int save_bsp_msrs(char *start, int size)
return msr_count; return msr_count;
} }
static int load_sipi_vector(atomic_t **ap_countp) static int load_sipi_vector(atomic_t **ap_countp, int num_cpus)
{ {
struct sipi_params_16bit *params16; struct sipi_params_16bit *params16;
struct sipi_params *params; struct sipi_params *params;
...@@ -239,7 +239,7 @@ static int load_sipi_vector(atomic_t **ap_countp) ...@@ -239,7 +239,7 @@ static int load_sipi_vector(atomic_t **ap_countp)
params->idt_ptr = (uint32_t)x86_get_idt(); params->idt_ptr = (uint32_t)x86_get_idt();
params->stack_size = CONFIG_AP_STACK_SIZE; params->stack_size = CONFIG_AP_STACK_SIZE;
size = params->stack_size * CONFIG_MAX_CPUS; size = params->stack_size * num_cpus;
stack = memalign(size, 4096); stack = memalign(size, 4096);
if (!stack) if (!stack)
return -ENOMEM; return -ENOMEM;
...@@ -483,7 +483,7 @@ int mp_init(struct mp_params *p) ...@@ -483,7 +483,7 @@ int mp_init(struct mp_params *p)
mp_info.records = p->flight_plan; mp_info.records = p->flight_plan;
/* Load the SIPI vector */ /* Load the SIPI vector */
ret = load_sipi_vector(&ap_count); ret = load_sipi_vector(&ap_count, num_cpus);
if (ap_count == NULL) if (ap_count == NULL)
return -1; return -1;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment