On Fri, Feb 15, 2019 at 10:28:41AM +0100, Borislav Petkov wrote:
>On Fri, Feb 15, 2019 at 05:10:47PM +0800, Chao Fan wrote:
>> If "acpi=off" specified in cmdline, the whole functions of acpi.c
>> should not work, there is no need to ealy parse RSDP, so detect
>> "acpi=off" in the very first place.
>> 
>> Also replace magic number with macro.
>> 
>> Signed-off-by: Chao Fan <fanc.f...@cn.fujitsu.com>
>> ---
>>  arch/x86/boot/compressed/acpi.c | 12 ++++++------
>>  1 file changed, 6 insertions(+), 6 deletions(-)
>> 
>> diff --git a/arch/x86/boot/compressed/acpi.c 
>> b/arch/x86/boot/compressed/acpi.c
>> index 0ef4ad55b29b..5510a2105b7b 100644
>> --- a/arch/x86/boot/compressed/acpi.c
>> +++ b/arch/x86/boot/compressed/acpi.c
>> @@ -213,8 +213,13 @@ static acpi_physical_address bios_get_rsdp_addr(void)
>>  /* Return RSDP address on success, otherwise 0. */
>>  acpi_physical_address get_rsdp_addr(void)
>>  {
>> +    char arg[MAX_ACPI_ARG_LENGTH];
>>      acpi_physical_address pa;
>>  
>> +    if (cmdline_find_option("acpi", arg, sizeof(arg)) == 3 &&
>> +        !strncmp(arg, "off", 3))
>> +            return 0;
>
>This place looks wrong because we have a get_acpi_rsdp() call before
>that which overrides acpi=off practically.

Oh thanks.
In my old version PATCH, it was in count_immovable_mem_regions() which
is the entry function of acpi.c. Then in last version, I splite acpi.c
so that the first entry is get_rsdp_addr(), that's why I want to move
the detecting here.

>
>Also, if you move it to get_rsdp_addr(), add a static variable recording
>the previous result of the cmdline parsing because I don't want it
>parsing cmdline each time it is called.

Thanks,
Chao Fan

>
>Thx.
>
>-- 
>Regards/Gruss,
>    Boris.
>
>Good mailing practices for 400: avoid top-posting and trim the reply.
>
>


Reply via email to