• Dexuan Cui's avatar
    ACPI: PM: Make acpi_sleep_state_supported() non-static · ad5a449b
    Dexuan Cui authored
    With some upcoming patches to save/restore the Hyper-V drivers related
    states, a Linux VM running on Hyper-V will be able to hibernate. When
    a Linux VM hibernates, unluckily we must disable the memory hot-add/remove
    and balloon up/down capabilities in the hv_balloon driver
    (drivers/hv/hv_balloon.c), because these can not really work according to
    the design of the related back-end driver on the host.
    
    By default, Hyper-V does not enable the virtual ACPI S4 state for a VM;
    on recent Hyper-V hosts, the administrator is able to enable the virtual
    ACPI S4 state for a VM, so we hope to use the presence of the virtual ACPI
    S4 state as a hint for hv_balloon to disable the aforementioned
    capabilities. In this way, hibernation will work more reliably, from the
    user's perspective.
    
    By marking acpi_sleep_state_supported() non-static, we'll be able to
    implement a hv_is_hibernation_supported() API in the always-built-in
    module arch/x86/hyperv/hv_init.c, and the API will be called by hv_balloon.
    Signed-off-by: default avatarDexuan Cui <decui@microsoft.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    ad5a449b
sleep.c 31.7 KB