Skip to content

BufferField implicit conversion not supported in OperationRegion command #273

@martin-hughes

Description

@martin-hughes

NB: This issue repros only if #272 is worked around, otherwise that hits first.

My machine has an ASL block that simplifies down the snippet at below. The crate can't parse the OperationRegion command - ObjectNotOfExpectedType { expected: Integer, got: BufferField }.

I think BufferField should be implicitly converted to Integer here (and possibly other places too)?

Failing snippet

DefinitionBlock ("", "SSDT", 2, "AMD", "AmdTable", 0x00000002)
{
    Scope (\_SB)
    {
        Name (ADAT, Buffer (0x0010) //keep
        {
            /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........
            /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // ........

        })

        Device (AWR0)
        {
            Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
            Name (_UID, 0x90)  // _UID: Unique ID
            Device (ABR0)
            {
                Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
                Name (_UID, 0x80)  // _UID: Unique ID
                OperationRegion (A053, SystemMemory, (DerefOf (\_SB.ADAT [(0x04)])), 0x1000) // <--- this line fails
                Field (A053, ByteAcc, NoLock, Preserve)
                {
                    Offset (0x18),
                    A, 8
                }
            }
        }
    }
}

Quite happy to take a look if you give me a summary of how this is intended to work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions