[U-Boot] [PATCH] x86: fix memalign() parameter order

Bin Meng bmeng.cn at gmail.com
Wed Feb 17 09:20:51 CET 2016


On Sun, Feb 14, 2016 at 11:19 AM, Simon Glass <sjg at chromium.org> wrote:
> On 12 February 2016 at 14:27, Stephen Warren <swarren at wwwdotorg.org> wrote:
>> From: Stephen Warren <swarren at nvidia.com>
>>
>> Purely by code inspection, it looks like the parameter order to memalign()
>> is swapped; its parameters are (align, size). 4096 is a likely desired
>> alignment, and a variable named size sounds like a size:-)
>>
>> Fixes: 45b5a37836d5 ("x86: Add multi-processor init")
>> Signed-off-by: Stephen Warren <swarren at nvidia.com>
>> ---
>> I've taken a quick look at all the other memalign() calls in U-Boot, and
>> I /think/ they're all correct.
>> ---
>> arch/x86/cpu/mp_init.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/x86/cpu/mp_init.c b/arch/x86/cpu/mp_init.c
>> index 7917350bff26..fc2fb5bf445c 100644
>> --- a/arch/x86/cpu/mp_init.c
>> +++ b/arch/x86/cpu/mp_init.c
>> @@ -243,7 +243,7 @@ static int load_sipi_vector(atomic_t **ap_countp, int
>> num_cpus)
>>
>> params->stack_size = CONFIG_AP_STACK_SIZE;
>> size = params->stack_size * num_cpus;
>> - stack = memalign(size, 4096);
>> + stack = memalign(4096, size);
>> if (!stack)
>> return -ENOMEM;
>> params->stack_top = (u32)(stack + size);
>> --
>> 2.7.0
>>
>
> Reviewed-by: Simon Glass <sjg at chromium.org>
>
> Thanks. I'm a little surprised this hasn't caused problems with CPU
> start-up!

Tested on QEMU
Tested-by: Bin Meng <bmeng.cn at gmail.com>


More information about the U-Boot mailing list