https://bugs.freedesktop.org/show_bug.cgi?id=99372

--- Comment #6 from Ilia Mirkin <[email protected]> ---
OK, so ... similar issue as before - it creates a temporary buffer sized to the
incoming argument's size, and THEN truncates the size argument. Great.... so we
just get the first 4K back with the "fast acpi" method. However at that point,
the checksum really oughtn't match. But I don't see the "checksum failed"
message. So it does match? Or somehow the second bogus image increases the
score to 4? Not sure...

Method (_ROM, 2, NotSerialized)  // _ROM: Read-Only Memory
{
    Local0 = Arg0
    Local1 = Arg1
    Name (VROM, Buffer (Local1)
    {
         0x00                                             /* . */
    })
    If (Local1 > 0x1000)
    {
        Local1 = 0x1000
    }

    If (Arg0 > RVBS)
    {
        Return (VROM) /* \_SB_.PCI0.PEG0.PEGP._ROM.VROM */
    }

    Local2 = (Arg0 + Arg1)
    If (Local2 > RVBS)
    {
        Local1 = (RVBS - Local0)
    }

    If (Local0 < 0x8000)
    {
        Mid (VBS1, Local0, Local1, VROM) /* \_SB_.PCI0.PEG0.PEGP._ROM.VROM */
    }
    Else
    {
        Local0 -= 0x8000
        If (Local0 < 0x8000)
        {
            Mid (VBS2, Local0, Local1, VROM) /* \_SB_.PCI0.PEG0.PEGP._ROM.VROM
*/
        }
        Else
        {
            Local0 -= 0x8000
            If (Local0 < 0x8000)
            {
                Mid (VBS3, Local0, Local1, VROM) /*
\_SB_.PCI0.PEG0.PEGP._ROM.VROM */
            }
            Else
            {
                Local0 -= 0x8000
                If (Local0 < 0x8000)
                {
                    Mid (VBS4, Local0, Local1, VROM) /*
\_SB_.PCI0.PEG0.PEGP._ROM.VROM */
                }
            }
        }
    }

    Return (VROM) /* \_SB_.PCI0.PEG0.PEGP._ROM.VROM */
}

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Nouveau mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to