• Radim Krčmář's avatar
    pvpanic: handle missing _STA correctly · 55cd3f01
    Radim Krčmář authored
    pvpanic was not properly detected when _STA was missing.
    
    ACPI 6.0 April 2015, 6.3.7 _STA (Status)
      If a device object (including the processor object) does not have an
      _STA object, then OSPM assumes that all of the above bits are set
      (i.e., the device is present, enabled, shown in the UI, and
      functioning).
    
    Not adhering to the specification made pvpanic dormant under QEMU 2.3.
    
    The original patch used acpi_bus_get_status_handle, which was not
    being exported, so module build blew up;  switch to acpi_bus_get_status
    and use the status it populates.
    
    Populated status is a bitfield so we can make the code self-documenting.
    We do not check 'present' because 'enabled' has to be false in that case
    by specification.  Older QEMUs set 0xff to status and newer ones do 0xb.
    Suggested-by: default avatarIgor Mammedov <imammedo@redhat.com>
    Signed-off-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
    Reviewed-by: default avatarIgor Mammedov <imammedo@redhat.com>
    [dvhart@linux.intel.com: Merge acpi_bug_get_status fix to avoid bisect breakage]
    Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
    55cd3f01
pvpanic.c 2.84 KB