From ff4d378f1b9261ba7d1c53df4806ca72295779f1 Mon Sep 17 00:00:00 2001 From: Rob Bradford Date: Wed, 13 Jan 2021 10:01:35 +0000 Subject: [PATCH] vmm: device_manager: acpi: Add a power button (PNP0C0C) Add a power button to the devices defined in the \_SB Signed-off-by: Rob Bradford --- vmm/src/device_manager.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/vmm/src/device_manager.rs b/vmm/src/device_manager.rs index 9b49fdf6f..97de78db0 100644 --- a/vmm/src/device_manager.rs +++ b/vmm/src/device_manager.rs @@ -3426,6 +3426,15 @@ impl Aml for DeviceManager { let s5_sleep_data = aml::Name::new("_S5_".into(), &aml::Package::new(vec![&5u8])).to_aml_bytes(); + let power_button_dsdt_data = aml::Device::new( + "_SB_.PWRB".into(), + vec![ + &aml::Name::new("_HID".into(), &aml::EISAName::new("PNP0C0C")), + &aml::Name::new("_UID".into(), &aml::ZERO), + ], + ) + .to_aml_bytes(); + let ged_data = self .ged_notification_device .as_ref() @@ -3440,6 +3449,7 @@ impl Aml for DeviceManager { bytes.extend_from_slice(com1_dsdt_data.as_slice()); } bytes.extend_from_slice(s5_sleep_data.as_slice()); + bytes.extend_from_slice(power_button_dsdt_data.as_slice()); bytes.extend_from_slice(ged_data.as_slice()); bytes }