• J
    Fix FADT parsing · 01a5bba5
    Jan Beulich 提交于
    The (1.0 inherited) separate length fields in the FADT are byte granular.
    Further, PM1a/b may have distinct lengths and 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: NJan Beulich <jbeulich@novell.com>
    Signed-off-by: NAndi Kleen <ak@linux.intel.com>
    Cc: Len Brown <lenb@kernel.org>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    01a5bba5
tbfadt.c 15.0 KB