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. > >