Your patch works too.

Thanks!
Rafael


YASUOKA Masahiko <[email protected]> writes:

> On Tue, 16 Mar 2021 16:03:27 -0700
> Rafael Ávila de Espíndola <[email protected]> wrote:
>> Patrick Wildt <[email protected]> writes:
>> 
>>> Am Tue, Mar 16, 2021 at 03:25:46PM -0700 schrieb Rafael Ávila de Espíndola:
>>>> 
>>>> Patrick Wildt <[email protected]> writes:
>>>> 
>>>> > Am Tue, Mar 16, 2021 at 09:24:46AM -0700 schrieb Rafael Ávila de 
>>>> > Espíndola:
>>>> >> Patrick Wildt <[email protected]> writes:
>>>> >> 
>>>> >> > Am Tue, Mar 16, 2021 at 08:17:09AM -0700 schrieb Rafael Ávila de 
>>>> >> > Espíndola:
>>>> >> >> Got the same error this morning after updating to MP#408.
>>>> >> >> 
>>>> >> >> Cheers,
>>>> >> >> Rafael
>>>> >> >
>>>> >> > Is this a regression? Did 6.8 work and 6.9-beta broke it?  Were you
>>>> >> > already following snapshots and switching from one snapshot to the
>>>> >> > other broke it?
>>>> >> 
>>>> >> I was following snapshots, but not very frequently. The last one that I
>>>> >> was using without any problems was from Feb 15 (or at least that is when
>>>> >> I got the "upgrade log" email).
>>>> >> 
>>>> >> Cheers,
>>>> >> Rafael
>>>> >
>>>> > Can this be the cause?  There have been only few changes in ACPI, and
>>>> > this definitely does some AML store thing:
>>>> >
>>>> > https://github.com/openbsd/src/commit/c1053d6a5a6ff0c23fa9cda5b6bd2d6feb9d82b6
>>>> 
>>>> Yes, that is the one. A patch with
>>>> c1053d6a5a6ff0c23fa9cda5b6bd2d6feb9d82b6,
>>>> abe2aacc6845fd5ce80896a50e770d4116e9f80c and
>>>> 71a585ed804adbdd9d4eee13175b0812699dc34b reverted boots fine, but one
>>>> with just the last two reverted fails in the same way as the snapshot.
>>>> 
>>>> Thanks,
>>>> Rafael
>>>> 
>>>
>>> Wait, so which one is it?
>> 
>> c1053d6a5a6ff0c23fa9cda5b6bd2d6feb9d82b6 is the one that causes the
>> problem.
>
> How about the following diff instead of reverting c1053d6a5a6ff0?
>
> Previous breaks if LocalX itself is an object reference.
>
> Index: sys/dev/acpi/dsdt.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/acpi/dsdt.c,v
> retrieving revision 1.260
> diff -u -p -r1.260 dsdt.c
> --- sys/dev/acpi/dsdt.c       10 Mar 2021 22:20:44 -0000      1.260
> +++ sys/dev/acpi/dsdt.c       17 Mar 2021 02:42:36 -0000
> @@ -2961,10 +2961,13 @@ aml_store(struct aml_scope *scope, struc
>               aml_rwfield(rhs, 0, rhs->v_field.bitlen, &tmp, ACPI_IOREAD);
>               rhs = &tmp;
>       }
> +     /* Store to LocalX: free value */
> +     if (lhs->stack >= AMLOP_LOCAL0 && lhs->stack <= AMLOP_LOCAL7)
> +             aml_freevalue(lhs);
>  
>       lhs = aml_gettgt(lhs, AMLOP_STORE);
>  
> -     /* Store to LocalX: free value */
> +     /* Store to LocalX: free value again */
>       if (lhs->stack >= AMLOP_LOCAL0 && lhs->stack <= AMLOP_LOCAL7)
>               aml_freevalue(lhs);
>       switch (lhs->type) {

Reply via email to