• Lv Zheng's avatar
    ACPI / tables: Convert initrd table override to table upgrade mechanism · 5d881327
    Lv Zheng authored
    This patch converts the initrd table override mechanism to the table
    upgrade mechanism by restricting its usage to the tables released with
    compatibility and more recent revision.
    
    This use case has been encouraged by the ACPI specification:
    
     1. OEMID:
        An OEM-supplied string that identifies the OEM.
    
     2. OEM Table ID:
        An OEM-supplied string that the OEM uses to identify the particular data
        table. This field is particularly useful when defining a definition
        block to distinguish definition block functions. OEM assigns each
        dissimilar table a new OEM Table Id.
    
     3. OEM Revision:
        An OEM-supplied revision number. Larger numbers are assumed to be newer
        revisions.
    
    For OEMs, good practices will ensure consistency when assigning OEMID and
    OEM Table ID fields in any table. The intent of these fields is to allow
    for a binary control system that support services can use. Because many
    support function can be automated, it is useful when a tool can
    programatically determine which table release is a compatible and more
    recent revision of a prior table on the same OEMID and OEM Table ID.
    
    The facility can now be used by the vendors to upgrade wrong tables for bug
    fixing purpose, thus lockdep disabling taint is not suitable for it and it
    should be a default 'y' option to implement the spec encouraged use case.
    
    Note that, by implementing table upgrade inside of ACPICA itself, it is
    possible to remove acpi_table_initrd_override() and tables can be upgraded
    by acpi_install_table() automatically. Though current ACPICA impelentation
    hasn't implemented this, this patched changes the table flag setting timing
    to allow this to be implemented in ACPICA without changing the code here.
    
    Documentation of initrd override mechanism is upgraded accordingly.
    Original-by: default avatarOctavian Purdila <octavian.purdila@intel.com>
    Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    5d881327
tables.c 21.4 KB