diff mbox

[U-Boot,v6,5/8] x86: use actual CPU number for allocating memory

Message ID 1452159126-22877-6-git-send-email-yanmiaobest@gmail.com
State Accepted
Delegated to: Bin Meng
Headers show

Commit Message

Miao Yan Jan. 7, 2016, 9:32 a.m. UTC
Use actual CPU number, instead of maximum cpu configured, to allocate
stack memory in 'load_sipi_vector'

Signed-off-by: Miao Yan <yanmiaobest@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
---
 arch/x86/cpu/mp_init.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Bin Meng Jan. 12, 2016, 3:48 a.m. UTC | #1
On Thu, Jan 7, 2016 at 5:32 PM, Miao Yan <yanmiaobest@gmail.com> wrote:
> Use actual CPU number, instead of maximum cpu configured, to allocate
> stack memory in 'load_sipi_vector'
>
> Signed-off-by: Miao Yan <yanmiaobest@gmail.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>  arch/x86/cpu/mp_init.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>

Tested-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng Jan. 12, 2016, 4 a.m. UTC | #2
On Tue, Jan 12, 2016 at 11:48 AM, Bin Meng <bmeng.cn@gmail.com> wrote:
> On Thu, Jan 7, 2016 at 5:32 PM, Miao Yan <yanmiaobest@gmail.com> wrote:
>> Use actual CPU number, instead of maximum cpu configured, to allocate
>> stack memory in 'load_sipi_vector'
>>
>> Signed-off-by: Miao Yan <yanmiaobest@gmail.com>
>> Reviewed-by: Simon Glass <sjg@chromium.org>
>> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
>> ---
>>  arch/x86/cpu/mp_init.c | 6 +++---
>>  1 file changed, 3 insertions(+), 3 deletions(-)
>>
>
> Tested-by: Bin Meng <bmeng.cn@gmail.com>

applied to u-boot-x86/next, thanks!
diff mbox

Patch

diff --git a/arch/x86/cpu/mp_init.c b/arch/x86/cpu/mp_init.c
index 2f34317..2a3ce48 100644
--- a/arch/x86/cpu/mp_init.c
+++ b/arch/x86/cpu/mp_init.c
@@ -210,7 +210,7 @@  static int save_bsp_msrs(char *start, int size)
 	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 *params;
@@ -239,7 +239,7 @@  static int load_sipi_vector(atomic_t **ap_countp)
 	params->idt_ptr = (uint32_t)x86_get_idt();
 
 	params->stack_size = CONFIG_AP_STACK_SIZE;
-	size = params->stack_size * CONFIG_MAX_CPUS;
+	size = params->stack_size * num_cpus;
 	stack = memalign(size, 4096);
 	if (!stack)
 		return -ENOMEM;
@@ -483,7 +483,7 @@  int mp_init(struct mp_params *p)
 	mp_info.records = p->flight_plan;
 
 	/* Load the SIPI vector */
-	ret = load_sipi_vector(&ap_count);
+	ret = load_sipi_vector(&ap_count, num_cpus);
 	if (ap_count == NULL)
 		return -1;