Override DSDT table with varying GNVS OperationRegion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I'm trying to fix some issues on a old Android Baytrail tablet caused
by a broken ACPI DSDT table. To do that, I've fixed some of the device
entries (e.g. added missing GPIOs or moved a device to the correct
parent) and re-compiled the DSDT table. I override the original DSDT
table at runtime by placing the fixed version into initrd. This is
working well for my own device, however it seems like the DSDT tables
from different devices of the same model vary by a few bytes. When I
decompile DSDT tables from these devices, they differ only by an
address in the "GNVS" OperationRegion, e.g.:

 DefinitionBlock ("", "DSDT", 2, "ALASKA", "A M I ", 0x00000003)
 {
     /* ... */

-    OperationRegion (GNVS, SystemMemory, 0x395FEA98, 0x0340)
+    OperationRegion (GNVS, SystemMemory, 0x395F1A98, 0x0340)
     Field (GNVS, AnyAcc, Lock, Preserve)
     {
         OSYS,   16,
         /* ... */
     }

     /* ... */
 }

This value appears to be different on each device and even changes
when changing certain BIOS options. It also seems like it is important
that this value is correct (e.g. see
http://www.spinics.net/lists/linux-acpi/msg56985.html) to avoid
additional problems.

I'd like to apply my fixes to all devices of the same model, without
requiring every single user to manually decompile, fix and re-compile
the DSDT table of the device. Is there any way to use a single fixed
version and apply the correct value for the OperationRegion
dynamically at runtime?

Thanks in advance,
Lambdadroid
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux