On Tue, Nov 19, 2019 at 3:22 AM Yunfeng Ye <yeyunfeng@xxxxxxxxxx> wrote: > > > > On 2019/11/19 5:15, Rafael J. Wysocki wrote: > > On Mon, Nov 18, 2019 at 8:44 PM Dexuan-Linux Cui <dexuan.linux@xxxxxxxxx> wrote: > >> > >> On Mon, Nov 18, 2019 at 1:04 AM Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote: > >>> > >>> On Sat, Nov 16, 2019 at 9:06 PM Dan Williams <dan.j.williams@xxxxxxxxx> wrote: > >>>> > >>>> On Wed, Nov 13, 2019 at 11:17 PM Yunfeng Ye <yeyunfeng@xxxxxxxxxx> wrote: > >>>>> > >>>>> The commit 0f27cff8597d ("ACPI: sysfs: Make ACPI GPE mask kernel > >>>>> parameter cover all GPEs") says: > >>>>> "Use a bitmap of size 0xFF instead of a u64 for the GPE mask so 256 > >>>>> GPEs can be masked" > >>>>> > >>>>> But the masking of GPE 0xFF it not supported and the check condition > >>>>> "gpe > ACPI_MASKABLE_GPE_MAX" is not valid because the type of gpe is > >>>>> u8. > >>>>> > >>>>> So modify the macro ACPI_MASKABLE_GPE_MAX to 0x100, and drop the "gpe > > >>>>> ACPI_MASKABLE_GPE_MAX" check. In addition, update the docs "Format" for > >>>>> acpi_mask_gpe parameter. > >>>>> > >>>>> Fixes: 0f27cff8597d ("ACPI: sysfs: Make ACPI GPE mask kernel parameter cover all GPEs") > >>>>> Signed-off-by: Yunfeng Ye <yeyunfeng@xxxxxxxxxx> > >>>>> --- > >>>>> v1 -> v2: > >>>>> - drop the "gpe > ACPI_MASKABLE_GPE_MAX" check > >>>>> - update the docs "Format" from <int> to <byte> for acpi_mask_gpe parameter > >>>>> - update the commit comment > >>>>> > >>>>> Documentation/admin-guide/kernel-parameters.txt | 2 +- > >>>>> drivers/acpi/sysfs.c | 4 ++-- > >>>>> 2 files changed, 3 insertions(+), 3 deletions(-) > >>>> > >>>> Bisect flags commit eb09878e1301 "ACPI: sysfs: Change > >>>> ACPI_MASKABLE_GPE_MAX to 0x100" in -next as the reason for a boot > >>>> regression in my qemu-kvm test environment. It spews: > >>>> > >>>> [ 1.456728] ACPI: Masking GPE 0x0. > >>>> ... > >>>> [ 161.721420] ACPI: Masking GPE 0x0. > >>>> > >>>> ...and then hangs. > >>>> > >>>> A straight revert gets the configuration back on its feet. > >>>> > >>>> qemu-system-x86_64 --version > >>>> QEMU emulator version 4.0.50 (v4.0.0-928-g49c6c6ac0cd8) > >>> > >>> OK, I'll drop it then, thanks! > >> > >> We're seeing the same issue wtih 5.4.0-rc7-next-20191118 on a Linux VM > >> running on Hyper-V : > >> > >> [ 0.133029] ACPI: 1 ACPI AML tables successfully acquired and loaded > >> [ 0.144023] ACPI: Interpreter enabled > >> [ 0.145023] ACPI: (supports S0 S5) > >> [ 0.146023] ACPI: Using IOAPIC for interrupt routing > >> [ 0.147024] PCI: Using host bridge windows from ACPI; if necessary, > >> use "pci=nocrs" and report a bug > >> [ 0.148031] ACPI: Masking GPE 0x0. > >> ... > >> [ 774.839023] ACPI: Masking GPE 0x0. > >> [ 774.840023] ACPI: Masking GPE 0x0. > >> > >> I guess the patch is only tested on a physical machine and not on a VM... > > > > It looks like the patch hasn't been tested at all. > > > > Please try to change the data type of gpe in > > acpi_gpe_apply_masked_gpes() to u16 and see if that helps. > > > Sorry for this problem, I have no good test after modification according to > inspection opinions. I see. Well, reviewers make mistakes too ... > The first version patch is ok, the type of gpe is changed to u32. and I have > test it before. OK So I have added the u8 -> u16 change for gpe in acpi_gpe_apply_masked_gpes() and applied it again, as that should work AFAICS.