From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Williams, Dan J" Subject: [GIT PULL] libnvdimm, nfit: fix for 4.5-rc7 Date: Sat, 5 Mar 2016 01:07:51 +0000 Message-ID: <1457140067.17242.11.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-7" Content-Transfer-Encoding: 8BIT Return-path: Received: from mga09.intel.com ([134.134.136.24]:52566 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755567AbcCEBHy convert rfc822-to-8bit (ORCPT ); Fri, 4 Mar 2016 20:07:54 -0500 Content-Language: en-US Content-ID: <6F184B1EDD20654388FB444C71D8DB15@intel.com> Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: "torvalds@linux-foundation.org" , "akpm@linux-foundation.org" Cc: "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" , "linux-acpi@vger.kernel.org" Hi Linus, please pull from: +AKA- git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes ...to receive one straggling fix for NVDIMM support. The KVM/QEMU enabling for NVDIMMs has recently reached the point where it is able to accept some ACPI +AF8-DSM requests from a guest VM. +AKA-However they immediately found that the 4.5-rc kernel is unusable because the kernel's 'nfit' driver fails to load upon seeing a valid +ACI-not supported+ACI- response from the virtual BIOS for an address range scrub command. It is not mandatory that a platform implement address range scrubbing, so this fix from Vishal properly treats the +ACI-not supported+ACI- response as +ACI-skip scrubbing and continue loading the driver+ACI-. The following changes since commit fc77dbd34c5c99bce46d40a2491937c3bcbd10af: +AKA- Linux 4.5-rc6 (2016-02-28 08:41:20 -0800) are available in the git repository at: +AKA- git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes for you to fetch changes up to 6e2452dff4441e3dc24d415c8b2cda8a3ba52116: +AKA- nfit: Continue init even if ARS commands are unimplemented (2016-03-04 16:46:13 -0800) ---------------------------------------------------------------- Vishal Verma (1): +AKAAoACgAKAAoACg-nfit: Continue init even if ARS commands are unimplemented +AKA-drivers/acpi/nfit.c +AHw- 15 +-+-+-+-+-+-+-+-+-+-+----- +AKA-1 file changed, 11 insertions(+-), 4 deletions(-) commit 6e2452dff4441e3dc24d415c8b2cda8a3ba52116 Author: Vishal Verma +ADw-vishal.l.verma+AEA-intel.com+AD4- Date:+AKAAoACg-Thu Mar 3 15:39:41 2016 -0700 +AKAAoACgAKA-nfit: Continue init even if ARS commands are unimplemented +AKAAoACgAKA- +AKAAoACgAKA-If firmware doesn't implement any of the ARS commands, take that to +AKAAoACgAKA-mean that ARS is unsupported, and continue to initialize regions without +AKAAoACgAKA-bad block lists. We cannot make the assumption that ARS commands will be +AKAAoACgAKA-unconditionally supported on all NVDIMMs. +AKAAoACgAKA- +AKAAoACgAKA-Reported-by: Haozhong Zhang +ADw-haozhong.zhang+AEA-intel.com+AD4- +AKAAoACgAKA-Signed-off-by: Vishal Verma +ADw-vishal.l.verma+AEA-intel.com+AD4- +AKAAoACgAKA-Acked-by: Xiao Guangrong +ADw-guangrong.xiao+AEA-linux.intel.com+AD4- +AKAAoACgAKA-Tested-by: Haozhong Zhang +ADw-haozhong.zhang+AEA-intel.com+AD4- +AKAAoACgAKA-Signed-off-by: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4- diff --git a/drivers/acpi/nfit.c b/drivers/acpi/nfit.c index fb53db187854..35947ac87644 100644 --- a/drivers/acpi/nfit.c +-+-+- b/drivers/acpi/nfit.c +AEAAQA- -1590,14 +-1590,21 +AEAAQA- static int acpi+AF8-nfit+AF8-find+AF8-poison(struct acpi+AF8-nfit+AF8-desc +ACo-acpi+AF8-desc, +AKA- start +AD0- ndr+AF8-desc-+AD4-res-+AD4-start+ADs- +AKA- len +AD0- ndr+AF8-desc-+AD4-res-+AD4-end - ndr+AF8-desc-+AD4-res-+AD4-start +- 1+ADs- +AKA- +- /+ACo- +- +AKAAKg- If ARS is unimplemented, unsupported, or if the 'Persistent Memory +- +AKAAKg- Scrub' flag in extended status is not set, skip this but continue +- +AKAAKg- initialization +- +AKAAKg-/ +AKA- rc +AD0- ars+AF8-get+AF8-cap(nd+AF8-desc, ars+AF8-cap, start, len)+ADs- +- if (rc +AD0APQ- -ENOTTY) +AHs- +- dev+AF8-dbg(acpi+AF8-desc-+AD4-dev, +- +ACI-Address Range Scrub is not implemented, won't create an error list+AFw-n+ACI-)+ADs- +- rc +AD0- 0+ADs- +- goto out+ADs- +- +AH0- +AKA- if (rc) +AKA- goto out+ADs- +AKA- - /+ACo- - +AKAAKg- If ARS is unsupported, or if the 'Persistent Memory Scrub' flag in - +AKAAKg- extended status is not set, skip this but continue initialization - +AKAAKg-/ +AKA- if ((ars+AF8-cap-+AD4-status +ACY- 0xffff) +AHwAfA- +AKA- +ACE-(ars+AF8-cap-+AD4-status +AD4APg- 16 +ACY- ND+AF8-ARS+AF8-PERSISTENT)) +AHs- +AKA- dev+AF8-warn(acpi+AF8-desc-+AD4-dev, From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by ml01.01.org (Postfix) with ESMTP id D0F501A1E05 for ; Fri, 4 Mar 2016 17:08:03 -0800 (PST) From: "Williams, Dan J" Subject: [GIT PULL] libnvdimm, nfit: fix for 4.5-rc7 Date: Sat, 5 Mar 2016 01:07:51 +0000 Message-ID: <1457140067.17242.11.camel@intel.com> Content-Language: en-US Content-ID: <6F184B1EDD20654388FB444C71D8DB15@intel.com> MIME-Version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-7" Content-Transfer-Encoding: base64 Errors-To: linux-nvdimm-bounces@lists.01.org Sender: "Linux-nvdimm" To: "torvalds@linux-foundation.org" , "akpm@linux-foundation.org" Cc: "linux-acpi@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" List-ID: SGkgTGludXMsIHBsZWFzZSBwdWxsIGZyb206CgorQUtBIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1 Yi9zY20vbGludXgva2VybmVsL2dpdC9udmRpbW0vbnZkaW1tIGxpYm52ZGltbS1maXhlcwoKLi4u dG8gcmVjZWl2ZSBvbmUgc3RyYWdnbGluZyBmaXggZm9yIE5WRElNTSBzdXBwb3J0LgoKVGhlIEtW TS9RRU1VIGVuYWJsaW5nIGZvciBOVkRJTU1zIGhhcyByZWNlbnRseSByZWFjaGVkIHRoZSBwb2lu dCB3aGVyZQppdCBpcyBhYmxlIHRvIGFjY2VwdCBzb21lIEFDUEkgX0RTTSByZXF1ZXN0cyBmcm9t IGEgZ3Vlc3QgVk0uICtBS0EtSG93ZXZlcgp0aGV5IGltbWVkaWF0ZWx5IGZvdW5kIHRoYXQgdGhl IDQuNS1yYyBrZXJuZWwgaXMgdW51c2FibGUgYmVjYXVzZSB0aGUKa2VybmVsJ3MgJ25maXQnIGRy aXZlciBmYWlscyB0byBsb2FkIHVwb24gc2VlaW5nIGEgdmFsaWQgIm5vdApzdXBwb3J0ZWQiIHJl c3BvbnNlIGZyb20gdGhlIHZpcnR1YWwgQklPUyBmb3IgYW4gYWRkcmVzcyByYW5nZSBzY3J1Ygpj b21tYW5kLgoKSXQgaXMgbm90IG1hbmRhdG9yeSB0aGF0IGEgcGxhdGZvcm0gaW1wbGVtZW50IGFk ZHJlc3MgcmFuZ2Ugc2NydWJiaW5nLApzbyB0aGlzIGZpeCBmcm9tIFZpc2hhbCBwcm9wZXJseSB0 cmVhdHMgdGhlICJub3Qgc3VwcG9ydGVkIiByZXNwb25zZSBhcwoic2tpcCBzY3J1YmJpbmcgYW5k IGNvbnRpbnVlIGxvYWRpbmcgdGhlIGRyaXZlciIuCgpUaGUgZm9sbG93aW5nIGNoYW5nZXMgc2lu Y2UgY29tbWl0IGZjNzdkYmQzNGM1Yzk5YmNlNDZkNDBhMjQ5MTkzN2MzYmNiZDEwYWY6CgorQUtB IExpbnV4IDQuNS1yYzYgKDIwMTYtMDItMjggMDg6NDE6MjAgLTA4MDApCgphcmUgYXZhaWxhYmxl IGluIHRoZSBnaXQgcmVwb3NpdG9yeSBhdDoKCitBS0EgZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHVi L3NjbS9saW51eC9rZXJuZWwvZ2l0L252ZGltbS9udmRpbW0gbGlibnZkaW1tLWZpeGVzCgpmb3Ig eW91IHRvIGZldGNoIGNoYW5nZXMgdXAgdG8gNmUyNDUyZGZmNDQ0MWUzZGMyNGQ0MTVjOGIyY2Rh OGEzYmE1MjExNjoKCitBS0EgbmZpdDogQ29udGludWUgaW5pdCBldmVuIGlmIEFSUyBjb21tYW5k cyBhcmUgdW5pbXBsZW1lbnRlZCAoMjAxNi0wMy0wNCAxNjo0NjoxMyAtMDgwMCkKCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K VmlzaGFsIFZlcm1hICgxKToKK0FLQUFvQUNnQUtBQW9BQ2ctbmZpdDogQ29udGludWUgaW5pdCBl dmVuIGlmIEFSUyBjb21tYW5kcyBhcmUgdW5pbXBsZW1lbnRlZAoKK0FLQS1kcml2ZXJzL2FjcGkv bmZpdC5jIHwgMTUgKy0rLSstKy0rLSstKy0rLSstKy0rLS0tLS0KK0FLQS0xIGZpbGUgY2hhbmdl ZCwgMTEgaW5zZXJ0aW9ucygrLSksIDQgZGVsZXRpb25zKC0pCgpjb21taXQgNmUyNDUyZGZmNDQ0 MWUzZGMyNGQ0MTVjOGIyY2RhOGEzYmE1MjExNgpBdXRob3I6IFZpc2hhbCBWZXJtYSA8dmlzaGFs LmwudmVybWFAaW50ZWwuY29tPgpEYXRlOitBS0FBb0FDZy1UaHUgTWFyIDMgMTU6Mzk6NDEgMjAx NiAtMDcwMAoKK0FLQUFvQUNnQUtBLW5maXQ6IENvbnRpbnVlIGluaXQgZXZlbiBpZiBBUlMgY29t bWFuZHMgYXJlIHVuaW1wbGVtZW50ZWQKK0FLQUFvQUNnQUtBCitBS0FBb0FDZ0FLQS1JZiBmaXJt d2FyZSBkb2Vzbid0IGltcGxlbWVudCBhbnkgb2YgdGhlIEFSUyBjb21tYW5kcywgdGFrZSB0aGF0 IHRvCitBS0FBb0FDZ0FLQS1tZWFuIHRoYXQgQVJTIGlzIHVuc3VwcG9ydGVkLCBhbmQgY29udGlu dWUgdG8gaW5pdGlhbGl6ZSByZWdpb25zIHdpdGhvdXQKK0FLQUFvQUNnQUtBLWJhZCBibG9jayBs aXN0cy4gV2UgY2Fubm90IG1ha2UgdGhlIGFzc3VtcHRpb24gdGhhdCBBUlMgY29tbWFuZHMgd2ls bCBiZQorQUtBQW9BQ2dBS0EtdW5jb25kaXRpb25hbGx5IHN1cHBvcnRlZCBvbiBhbGwgTlZESU1N cy4KK0FLQUFvQUNnQUtBCitBS0FBb0FDZ0FLQS1SZXBvcnRlZC1ieTogSGFvemhvbmcgWmhhbmcg PGhhb3pob25nLnpoYW5nQGludGVsLmNvbT4KK0FLQUFvQUNnQUtBLVNpZ25lZC1vZmYtYnk6IFZp c2hhbCBWZXJtYSA8dmlzaGFsLmwudmVybWFAaW50ZWwuY29tPgorQUtBQW9BQ2dBS0EtQWNrZWQt Ynk6IFhpYW8gR3Vhbmdyb25nIDxndWFuZ3JvbmcueGlhb0BsaW51eC5pbnRlbC5jb20+CitBS0FB b0FDZ0FLQS1UZXN0ZWQtYnk6IEhhb3pob25nIFpoYW5nIDxoYW96aG9uZy56aGFuZ0BpbnRlbC5j b20+CitBS0FBb0FDZ0FLQS1TaWduZWQtb2ZmLWJ5OiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxp YW1zQGludGVsLmNvbT4KCmRpZmYgLS1naXQgYS9kcml2ZXJzL2FjcGkvbmZpdC5jIGIvZHJpdmVy cy9hY3BpL25maXQuYwppbmRleCBmYjUzZGIxODc4NTQuLjM1OTQ3YWM4NzY0NCAxMDA2NDQKLS0t IGEvZHJpdmVycy9hY3BpL25maXQuYworLSstKy0gYi9kcml2ZXJzL2FjcGkvbmZpdC5jCkBAIC0x NTkwLDE0ICstMTU5MCwyMSBAQCBzdGF0aWMgaW50IGFjcGlfbmZpdF9maW5kX3BvaXNvbihzdHJ1 Y3QgYWNwaV9uZml0X2Rlc2MgKmFjcGlfZGVzYywKK0FLQQlzdGFydCA9IG5kcl9kZXNjLT5yZXMt PnN0YXJ0OworQUtBCWxlbiA9IG5kcl9kZXNjLT5yZXMtPmVuZCAtIG5kcl9kZXNjLT5yZXMtPnN0 YXJ0ICstIDE7CitBS0EKKy0JLyoKKy0JK0FLQSogSWYgQVJTIGlzIHVuaW1wbGVtZW50ZWQsIHVu c3VwcG9ydGVkLCBvciBpZiB0aGUgJ1BlcnNpc3RlbnQgTWVtb3J5CistCStBS0EqIFNjcnViJyBm bGFnIGluIGV4dGVuZGVkIHN0YXR1cyBpcyBub3Qgc2V0LCBza2lwIHRoaXMgYnV0IGNvbnRpbnVl CistCStBS0EqIGluaXRpYWxpemF0aW9uCistCStBS0EqLworQUtBCXJjID0gYXJzX2dldF9jYXAo bmRfZGVzYywgYXJzX2NhcCwgc3RhcnQsIGxlbik7CistCWlmIChyYyA9PSAtRU5PVFRZKSB7Cist CQlkZXZfZGJnKGFjcGlfZGVzYy0+ZGV2LAorLQkJCSJBZGRyZXNzIFJhbmdlIFNjcnViIGlzIG5v dCBpbXBsZW1lbnRlZCwgd29uJ3QgY3JlYXRlIGFuIGVycm9yIGxpc3QrQUZ3LW4iKTsKKy0JCXJj ID0gMDsKKy0JCWdvdG8gb3V0OworLQl9CitBS0EJaWYgKHJjKQorQUtBCQlnb3RvIG91dDsKK0FL QQotCS8qCi0JK0FLQSogSWYgQVJTIGlzIHVuc3VwcG9ydGVkLCBvciBpZiB0aGUgJ1BlcnNpc3Rl bnQgTWVtb3J5IFNjcnViJyBmbGFnIGluCi0JK0FLQSogZXh0ZW5kZWQgc3RhdHVzIGlzIG5vdCBz ZXQsIHNraXAgdGhpcyBidXQgY29udGludWUgaW5pdGlhbGl6YXRpb24KLQkrQUtBKi8KK0FLQQlp ZiAoKGFyc19jYXAtPnN0YXR1cyAmIDB4ZmZmZikgfHwKK0FLQQkJIShhcnNfY2FwLT5zdGF0dXMg Pj4gMTYgJiBORF9BUlNfUEVSU0lTVEVOVCkpIHsKK0FLQQkJZGV2X3dhcm4oYWNwaV9kZXNjLT5k ZXYsCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4 LW52ZGltbSBtYWlsaW5nIGxpc3QKTGludXgtbnZkaW1tQGxpc3RzLjAxLm9yZwpodHRwczovL2xp c3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW52ZGltbQo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760022AbcCEBH4 (ORCPT ); Fri, 4 Mar 2016 20:07:56 -0500 Received: from mga09.intel.com ([134.134.136.24]:52566 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755567AbcCEBHy convert rfc822-to-8bit (ORCPT ); Fri, 4 Mar 2016 20:07:54 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,538,1449561600"; d="scan'208";a="927200221" From: "Williams, Dan J" To: "torvalds@linux-foundation.org" , "akpm@linux-foundation.org" CC: "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" , "linux-acpi@vger.kernel.org" Subject: [GIT PULL] libnvdimm, nfit: fix for 4.5-rc7 Thread-Topic: [GIT PULL] libnvdimm, nfit: fix for 4.5-rc7 Thread-Index: AQHRdntw2I+GVw5Cc0qizJoTSzHFWw== Date: Sat, 5 Mar 2016 01:07:51 +0000 Message-ID: <1457140067.17242.11.camel@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.7.201.18] Content-Type: text/plain; charset="utf-7" Content-ID: <6F184B1EDD20654388FB444C71D8DB15@intel.com> Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Linus, please pull from: +AKA- git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes ...to receive one straggling fix for NVDIMM support. The KVM/QEMU enabling for NVDIMMs has recently reached the point where it is able to accept some ACPI +AF8-DSM requests from a guest VM. +AKA-However they immediately found that the 4.5-rc kernel is unusable because the kernel's 'nfit' driver fails to load upon seeing a valid +ACI-not supported+ACI- response from the virtual BIOS for an address range scrub command. It is not mandatory that a platform implement address range scrubbing, so this fix from Vishal properly treats the +ACI-not supported+ACI- response as +ACI-skip scrubbing and continue loading the driver+ACI-. The following changes since commit fc77dbd34c5c99bce46d40a2491937c3bcbd10af: +AKA- Linux 4.5-rc6 (2016-02-28 08:41:20 -0800) are available in the git repository at: +AKA- git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes for you to fetch changes up to 6e2452dff4441e3dc24d415c8b2cda8a3ba52116: +AKA- nfit: Continue init even if ARS commands are unimplemented (2016-03-04 16:46:13 -0800) ---------------------------------------------------------------- Vishal Verma (1): +AKAAoACgAKAAoACg-nfit: Continue init even if ARS commands are unimplemented +AKA-drivers/acpi/nfit.c +AHw- 15 +-+-+-+-+-+-+-+-+-+-+----- +AKA-1 file changed, 11 insertions(+-), 4 deletions(-) commit 6e2452dff4441e3dc24d415c8b2cda8a3ba52116 Author: Vishal Verma +ADw-vishal.l.verma+AEA-intel.com+AD4- Date:+AKAAoACg-Thu Mar 3 15:39:41 2016 -0700 +AKAAoACgAKA-nfit: Continue init even if ARS commands are unimplemented +AKAAoACgAKA- +AKAAoACgAKA-If firmware doesn't implement any of the ARS commands, take that to +AKAAoACgAKA-mean that ARS is unsupported, and continue to initialize regions without +AKAAoACgAKA-bad block lists. We cannot make the assumption that ARS commands will be +AKAAoACgAKA-unconditionally supported on all NVDIMMs. +AKAAoACgAKA- +AKAAoACgAKA-Reported-by: Haozhong Zhang +ADw-haozhong.zhang+AEA-intel.com+AD4- +AKAAoACgAKA-Signed-off-by: Vishal Verma +ADw-vishal.l.verma+AEA-intel.com+AD4- +AKAAoACgAKA-Acked-by: Xiao Guangrong +ADw-guangrong.xiao+AEA-linux.intel.com+AD4- +AKAAoACgAKA-Tested-by: Haozhong Zhang +ADw-haozhong.zhang+AEA-intel.com+AD4- +AKAAoACgAKA-Signed-off-by: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4- diff --git a/drivers/acpi/nfit.c b/drivers/acpi/nfit.c index fb53db187854..35947ac87644 100644 --- a/drivers/acpi/nfit.c +-+-+- b/drivers/acpi/nfit.c +AEAAQA- -1590,14 +-1590,21 +AEAAQA- static int acpi+AF8-nfit+AF8-find+AF8-poison(struct acpi+AF8-nfit+AF8-desc +ACo-acpi+AF8-desc, +AKA- start +AD0- ndr+AF8-desc-+AD4-res-+AD4-start+ADs- +AKA- len +AD0- ndr+AF8-desc-+AD4-res-+AD4-end - ndr+AF8-desc-+AD4-res-+AD4-start +- 1+ADs- +AKA- +- /+ACo- +- +AKAAKg- If ARS is unimplemented, unsupported, or if the 'Persistent Memory +- +AKAAKg- Scrub' flag in extended status is not set, skip this but continue +- +AKAAKg- initialization +- +AKAAKg-/ +AKA- rc +AD0- ars+AF8-get+AF8-cap(nd+AF8-desc, ars+AF8-cap, start, len)+ADs- +- if (rc +AD0APQ- -ENOTTY) +AHs- +- dev+AF8-dbg(acpi+AF8-desc-+AD4-dev, +- +ACI-Address Range Scrub is not implemented, won't create an error list+AFw-n+ACI-)+ADs- +- rc +AD0- 0+ADs- +- goto out+ADs- +- +AH0- +AKA- if (rc) +AKA- goto out+ADs- +AKA- - /+ACo- - +AKAAKg- If ARS is unsupported, or if the 'Persistent Memory Scrub' flag in - +AKAAKg- extended status is not set, skip this but continue initialization - +AKAAKg-/ +AKA- if ((ars+AF8-cap-+AD4-status +ACY- 0xffff) +AHwAfA- +AKA- +ACE-(ars+AF8-cap-+AD4-status +AD4APg- 16 +ACY- ND+AF8-ARS+AF8-PERSISTENT)) +AHs- +AKA- dev+AF8-warn(acpi+AF8-desc-+AD4-dev,