• Jan Beulich's avatar
    ACPI: fix FADT parsing · fcea94ba
    Jan Beulich authored
    The (1.0 inherited) separate length fields in the FADT are byte granular.
    Further, PM1a/b may have distinct lengths (if using the v2 fields was
    okay) and may live in distinct address spaces.  acpi_tb_convert_fadt()
    should account for all of these conditions.
    
    Apart from these changes I'm puzzled by the fact that, not just for
    acpi_gbl_xpm1{a,b}_enable, acpi_hw_low_level_{read,write}() get an
    explicit size passed rather than using the size found in the passed GAS.
    What happens on a platform that defines PM1{a,b} wider than 16 bits?  Of
    course, acpi_hw_low_level_{read,write}() at present are entirely
    un-prepared to deal with sizes other than 8, 16, or 32, not to speak of a
    non-zero bit_offset or access_width...
    Signed-off-by: default avatarJan Beulich <jbeulich@novell.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLen Brown <len.brown@intel.com>
    fcea94ba
tbfadt.c 15.6 KB