From nobody Sat Apr 27 01:52:20 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) client-ip=78.46.105.101; envelope-from=seabios-bounces@seabios.org; helo=coreboot.org; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) smtp.mailfrom=seabios-bounces@seabios.org ARC-Seal: i=1; a=rsa-sha256; t=1616930661; cv=none; d=zohomail.com; s=zohoarc; b=E+M1vW1cuF1zKY4l0wcIkj+f7s9BX1N4hV/bzgTiFuIwb+EyA5o+d6VpfrqMMFEHqGxes1/O5oVs3O6cDICFjGNqlrEkc+dUgDP5jA3Z+QTUkTcETH1gddlJLj6WkvwDv7Mj7nAZJXaY+2atmkdVk3MS84ltnwdBr/oT+6GajEw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1616930661; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:To; bh=ON9cwvFy37eH99tycOz4ITLhmA7Uyqo8+AUDEbM/RwA=; b=Md6jeBO6+asRGq0l6TcK5StQjKvaIP1/MOuQ+U+5BVRjC+o9Xt9OalyUimg6cIDq5pdt/AJuTxRTkHqxayq9wLksla+pXlixtPmbN0xraOHAGnu+XftalkF9w4/zuCrB08TlwQ1wN1ygxzpBczG2u2NqDWA0gHHob3mpZ8yAUxI= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) smtp.mailfrom=seabios-bounces@seabios.org Return-Path: Received: from coreboot.org (coreboot.org [78.46.105.101]) by mx.zohomail.com with SMTPS id 1616930661669988.7177335674085; Sun, 28 Mar 2021 04:24:21 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTPA id AD88216A09C0; Sun, 28 Mar 2021 11:24:17 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTP id 0CAD116A0988 for ; Sun, 28 Mar 2021 11:23:56 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) (10.28.252.161) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Sun, 28 Mar 2021 19:23:51 +0800 Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) (10.29.252.164) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Sun, 28 Mar 2021 19:23:51 +0800 Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) zxbjmbx1.zhaoxin.com ([fe80::290a:f538:51e7:1416%16]) with mapi id 15.01.2176.009; Sun, 28 Mar 2021 19:23:51 +0800 From: RunaGuo-oc To: Gerd Hoffmann Thread-Topic: [SeaBIOS] [PATCH] AHCI: The attached ATA device cannot be detected when binding AHCI controller to Virtual Machine Thread-Index: AQHWlxibxIfH0aq0G06y4jhhDWXb/aqaOKbE Date: Sun, 28 Mar 2021 11:23:50 +0000 Message-ID: References: <159653982592.14.11229416791250419589@b63950293ec5>,<20200930105820.x6fdtjro4zb6sekd@sirius.home.kraxel.org> In-Reply-To: <20200930105820.x6fdtjro4zb6sekd@sirius.home.kraxel.org> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: MIME-Version: 1.0 Message-ID-Hash: MFZDCU5JAAR4F6NKNJWD23R3NVFB4JZM X-Message-ID-Hash: MFZDCU5JAAR4F6NKNJWD23R3NVFB4JZM X-MailFrom: RunaGuo-oc@zhaoxin.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-seabios.seabios.org-0; header-match-seabios.seabios.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: "seabios@seabios.org" X-Mailman-Version: 3.3.4b1 Precedence: list Subject: [SeaBIOS] =?eucgb2312_cn?q?=B4=F0=B8=B4=3A_=5BPATCH=5D_AHCI=3A_The_attached_ATA_device_cannot_be_detected_when_binding_AHCI_controller_to_Virtual_Machine?= List-Id: SeaBIOS mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: multipart/mixed; boundary="===============1243962864904488489==" Authentication-Results: coreboot.org; auth=pass smtp.auth=mailman@coreboot.org smtp.mailfrom=seabios-bounces@seabios.org X-Spamd-Bar: / --===============1243962864904488489== Content-Language: zh-CN Content-Type: multipart/alternative; boundary="_000_b11ae18e4cdd45eb9ec946b4aa17c6a8zhaoxincom_" --_000_b11ae18e4cdd45eb9ec946b4aa17c6a8zhaoxincom_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 DQpJIGFtIHNvIHNvcnJ5IHRvIHJlcGx5IGxhdGUuDQoNCg0KSGVyZSBpcyB0aGUgbmV3bHkgcmVi YXNlIHBhdGNoLCBwbHMgaGVscCAgY2hlY2ssIHRoYW5rcy4NCg0KDQoxOiBGb3IgQVRBIGRldmlj ZSwgdGhlIGZpcnN0IEFUQV9DTURfSURFTlRJRllfUEFDS0VUX0RFVklDRSBjb21tYW5kIHdpbGwg YmUgZmFpbGVkIHdpdGggUE9SVF9JUlFfVEYgc2V0IHRvIDEgZnJvbSBhaGNpIHNwZWM7DQoyOiBG b3Igc2VhYmlvcywgdGhpcyBmYWlsIHdpbGwgYmUgY29uc2lkZXJlZCBhcyB0aW1lb3V0IGZvciBp dCBvbmx5IHBvbGxpbmcgUE9SVF9JUlFfRDJIX1JFRy9QSU9fRklTOw0KMzogRnJvbSBhaGNpIHNw ZWMsIEkgaGF2ZSBub3QgeWV0IGZvdW5kICBhbnkgZXZpZGVuY2VzIHdoaWNoIGNhbiBiZSB1c2Ug dG8gY29tYmluZSB0aGUgYWJvdmUgZmFpbCB3aXRoIHRoZXNlIGFib3ZlIGVycm9yOw0KDQpNYXkg YmUsIHdlIGNhbiBhbHNvIGFkZCBQT1JUX0lSUV9URl9FUlIgYml0IGNoZWNrIHdoaWxlIHBvbGxp bmcgY29tbWFuZCBjb21wbGV0aW9uPw0KDQoNClNpZ25lZC1vZmYtYnk6IHpoYW94aW5ccnVuYWd1 b29jIDxSdW5hR3VvLW9jQHpoYW94aW4uY29tPg0KLS0tDQogc3JjL2h3L2FoY2kuYyB8IDMgKyst DQogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KDQpkaWZm IC0tZ2l0IGEvc3JjL2h3L2FoY2kuYyBiL3NyYy9ody9haGNpLmMNCmluZGV4IGQ0NWI0MzAuLjk5 OGI1ZmUgMTAwNjQ0DQotLS0gYS9zcmMvaHcvYWhjaS5jDQorKysgYi9zcmMvaHcvYWhjaS5jDQpA QCAtMTQzLDcgKzE0Myw4IEBAIHN0YXRpYyBpbnQgYWhjaV9jb21tYW5kKHN0cnVjdCBhaGNpX3Bv cnRfcyAqcG9ydF9nZiwgaW50IGlzd3JpdGUsIGludCBpc2F0YXBpLA0KICAgICAgICAgICAgICAg ICAgICAgZXJyb3IgID0gR0VUX0xPV0ZMQVQoZmlzLT5wc2Zpc1szXSk7DQogICAgICAgICAgICAg ICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgICBpZiAo aW50Yml0cyAmIDB4MDEpIHsNCisNCisgICAgICAgICAgICAgICAgaWYgKGludGJpdHMgJiAoMHgw MXwgUE9SVF9JUlFfVEZfRVJSKSkgew0KICAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0gR0VU X0xPV0ZMQVQoZmlzLT5yZmlzWzJdKTsNCiAgICAgICAgICAgICAgICAgICAgIGVycm9yICA9IEdF VF9MT1dGTEFUKGZpcy0+cmZpc1szXSk7DQogICAgICAgICAgICAgICAgICAgICBicmVhazsNCi0t DQoyLjE3LjENCg0KDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQq3orz+yMs6 IEdlcmQgSG9mZm1hbm4gPGtyYXhlbEByZWRoYXQuY29tPg0Kt6LLzcqxvOQ6IDIwMjDE6jnUwjMw yNUgMTg6NTg6MjANCsrVvP7IyzogUnVuYUd1by1vYw0Ks63LzTogc2VhYmlvc0BzZWFiaW9zLm9y Zw0K1vfM4jogUmU6IFtTZWFCSU9TXSBbUEFUQ0hdIEFIQ0k6IFRoZSBhdHRhY2hlZCBBVEEgZGV2 aWNlIGNhbm5vdCBiZSBkZXRlY3RlZCB3aGVuIGJpbmRpbmcgQUhDSSBjb250cm9sbGVyIHRvIFZp cnR1YWwgTWFjaGluZQ0KDQpPbiBUdWUsIEF1ZyAwNCwgMjAyMCBhdCAxMToxNzowNUFNIC0wMDAw LCBSdW5hR3VvLW9jQHpoYW94aW4uY29tIHdyb3RlOg0KPiBXaGVuIGJpbmRpbmcgQUhDSSBjb250 cm9sbGVyIHRvIHZpcnR1YWwgbWFjaGluZSwgdGhlIGF0dGFjaGVkIEFUQSBkZXZpY2UgY2Fubm90 IGJlIHJlY29nbml6ZWQgZm9yIHRoZSBmb2xsb3dpbmcgcmVhc29uOg0KPiAgVGhlIGZpcnN0IElk ZW50aWZ5IFBBQ0tFVCBDTUQgd2lsbCBiZSBmYWlsZWQgd2l0aG91dCBkb2J1dCB3aGljaCB3aWxs IGxlYWQgUE9SVF9JUlFfVEZfRVJSIGJlIHNldCBpbiBQeElTIGR1ZSB0byBFUlIgYml0IHNldCB0 byAxIGluIEQySCBSZWdpc3RlciBGSVMoUHhURkQuU1RTLkVSUj0xKS4gSW4gdGhpcyBjYXNlLCB0 aGUgZmlyc3QgQ01EIHdpbGwgYmUgdGltZW91dCBmb3Igc2VhYmlvcyBvbmx5IHBvbGxpbmcgUE9S VF9JUlFfRDJIX1JFR19GSVMgJiBQT1JUX0lSUV9QSU9TX0ZJUyBiZWZvcmUgdHJpZ2dlcmluZyBl cnJvciBoYW5kbGluZyB3aGljaCBsZWFkcyBBSENJIGNvbnRyb2xsZXIgaXMgYW4gZXJyb3Igc3Rh dGUsIHRoZW4gdGhlIHNlY29uZCBJREVOVElGWSBDTUQgY2Fubm90IGJlIGlzc3VlZCBieSBBSENJ IGNvbnRyb2xsZXIsIG5vIEFUQSBkZXZpY2Ugd2lsbCBiZSBkZXRlY3RlZC4NCj4NCj4gIEluIEFI Q0kgc3BlYyBIQkEgUG9ydCBTdGF0ZSBNYWNoaW5lIHNlY3Rpb24oNS4zLjguMSBhbmQgNS4zLjE2 LjUpLCB3ZSBjYW4gc2VlIHRoaXMgc2VxdWVuY2U6IFJlZ0ZJUzpFbnRyeSAtLT4gRVJSOkZhdGFs VGFza2ZpbGUgKFB4VEZELlNUUy5FUlI9MSkgLS0+IEVSUjpXYWl0Rm9yQ2xlYXIsIG5vIGVudHJ5 IGZvciBQT1JUX0lSUV9EMkhfUkVHX0ZJUy9QT1JUX0lSUV9QSU9TX0ZJUyB0byBiZSBzZXQgYXQg dGhpcyB0aW1lLg0KPg0KPiAgTWF5IGJlIHdlIGNhbiBhbHNvIGFkZCBQT1JUX0lSUV9URl9FUlIg Yml0IGNoZWNrIHdoZW4gcG9sbGluZyBjb21tYW5kIGNvbXBsZXRpb24gc3RhdHVzPw0KPg0KPiAg ZmFpbCBsb2c6DQo+ICAwMi4zODY6IHxiZmZhNjAwMHwgQUhDSS8xOiBsaW5rIHVwDQo+ICAwMi4z ODc6IHxiZmZhNjAwMHwgQUhDSS8xOiBzZW5kIGNtZCAuLi4NCj4gIDAyLjM4NzogfGJmZmE3MDAw fCBwaHlzX2ZyZWUgYmZmYTljMDAgKGRldGFpbD0weGJmZmFhMzIwKQ0KPiAgMDIuMzk2OiB8YmZm YTcwMDB8IHBoeXNfZnJlZSBiZmZhYTIwMCAoZGV0YWlsPTB4YmZmYWExZDApDQo+ICAwMi4zOTY6 IHxiZmZhNzAwMHwgcGh5c19mcmVlIGJmZmFhMDAwIChkZXRhaWw9MHhiZmZhYTFhMCkNCj4gIDAy LjM5NjogfGJmZmE3MDAwfCBwaHlzX2ZyZWUgYmZmYWEzODAgKGRldGFpbD0weGJmZmFhMzUwKQ0K PiAgMDIuNDAwOiBcYmZmYTcwMDAvIEVuZCB0aHJlYWQNCj4gIDAyLjQwMTogcGh5c19mcmVlIGJm ZmE3MDAwIChkZXRhaWw9MHhiZmZhYTE3MCkNCj4gIDM0LjM5MTogfGJmZmE2MDAwfCBXQVJOSU5H IC0gVGltZW91dCBhdCBhaGNpX2NvbW1hbmQ6MTUzIQ0KPiAgMzQuMzkyOiB8YmZmYTYwMDB8IEFI Q0kvMTogc2VuZCBjbWQgLi4uDQo+ICA2Ni4zOTc6IHxiZmZhNjAwMHwgV0FSTklORyAtIFRpbWVv dXQgYXQgYWhjaV9jb21tYW5kOjE1MyENCj4NCj4gU2lnbmVkLW9mZi1ieTogemhhb3hpblxydW5h Z3Vvb2MgPFJ1bmFHdW8tb2NAemhhb3hpbi5jb20+DQoNClBhdGNoIGRvZXNuJ3QgYXBwbHkgdG8g Z2l0IG1hc3Rlci4gIENhbiB5b3UgcmViYXNlIGFuZCByZXNlbmQ/ICBBbmQNCndoaWxlIGJlaW5n IGF0IGl0IHdyYXAgdGhlIGNvbW1pdCBtZXNzYWdlIHRvIGhvdCBoYXZlIGxpbmVzIGxvbmdlciB0 aGFuDQo4MCBjaGFycz8NCg0KdGhhbmtzLA0KICBHZXJkDQoNCg== --_000_b11ae18e4cdd45eb9ec946b4aa17c6a8zhaoxincom_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable


I am so sorry to reply late.


Here is the newly rebase patch, pls help  check, thanks.


1: For ATA device, the first ATA_CMD_IDENTIFY_PACKET_DEVICE command wi= ll be failed with PORT_IRQ_TF set to 1 from ahci spec;
2: For seabios, this fail will be considered as timeout for it only po= lling PORT_IRQ_D2H_REG/PIO_FIS;
3: From ahci spec, I have not yet found  any evidences which can = be use to combine the above fail with these above error;

May be, we can also add PORT_IRQ_TF_ERR bit check while polling comman= d completion?


Signed-off-by: zhaoxin\runaguooc <RunaGuo-oc@zhaoxin.com>
---
 src/hw/ahci.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/hw/ahci.c b/src/hw/ahci.c
index d45b430..998b5fe 100644
--- a/src/hw/ahci.c
+++ b/src/hw/ahci.c
@@ -143,7 +143,8 @@ static int ahci_command(struct ahci_port_s *po= rt_gf, int iswrite, int isatapi,
                    =  error  =3D GET_LOWFLAT(fis->psfis[3]);
                    =  break;
                 }
-                if (intbits &= amp; 0x01) {
+
+                if (intbi= ts & (0x01| PORT_IRQ_TF_ERR)) {
                    =  status =3D GET_LOWFLAT(fis->rfis[2]);
                    =  error  =3D GET_LOWFLAT(fis->rfis[3]);
                    =  break;
-- 
2.17.1



=B7=A2=BC=FE=C8=CB: Gerd = Hoffmann <kraxel@redhat.com>
=B7=A2=CB=CD=CA=B1=BC=E4: 2020=C4=EA9=D4=C230=C8=D5 18:58:20
=CA=D5=BC=FE=C8=CB: RunaGuo-oc
=B3=AD=CB=CD: seabios@seabios.org
=D6=F7=CC=E2: Re: [SeaBIOS] [PATCH] AHCI: The attached ATA device ca= nnot be detected when binding AHCI controller to Virtual Machine
 
On Tue, Aug 04, 2020 at 11:17:05AM -0000, RunaGuo-= oc@zhaoxin.com wrote:
> When binding AHCI controller to virtual machine, the attached ATA devi= ce cannot be recognized for the following reason:
>  The first Identify PACKET CMD will be failed without dobut which= will lead PORT_IRQ_TF_ERR be set in PxIS due to ERR bit set to 1 in D2H Re= gister FIS(PxTFD.STS.ERR=3D1). In this case, the first CMD will be timeout = for seabios only polling PORT_IRQ_D2H_REG_FIS & PORT_IRQ_PIOS_FIS before triggering error handling which leads AHCI = controller is an error state, then the second IDENTIFY CMD cannot be issued= by AHCI controller, no ATA device will be detected.
>
>  In AHCI spec HBA Port State Machine section(5.3.8.1 and 5.3.16.5= ), we can see this sequence: RegFIS:Entry --> ERR:FatalTaskfile (PxTFD.S= TS.ERR=3D1) --> ERR:WaitForClear, no entry for PORT_IRQ_D2H_REG_FIS/PORT= _IRQ_PIOS_FIS to be set at this time.
>
>  May be we can also add PORT_IRQ_TF_ERR bit check when polling co= mmand completion status?
>
>  fail log:
>  02.386: |bffa6000| AHCI/1: link up
>  02.387: |bffa6000| AHCI/1: send cmd ...
>  02.387: |bffa7000| phys_free bffa9c00 (detail=3D0xbffaa320)
>  02.396: |bffa7000| phys_free bffaa200 (detail=3D0xbffaa1d0)
>  02.396: |bffa7000| phys_free bffaa000 (detail=3D0xbffaa1a0)
>  02.396: |bffa7000| phys_free bffaa380 (detail=3D0xbffaa350)
>  02.400: \bffa7000/ End thread
>  02.401: phys_free bffa7000 (detail=3D0xbffaa170)
>  34.391: |bffa6000| WARNING - Timeout at ahci_command:153!
>  34.392: |bffa6000| AHCI/1: send cmd ...
>  66.397: |bffa6000| WARNING - Timeout at ahci_command:153!
>
> Signed-off-by: zhaoxin\runaguooc <RunaGuo-oc@zhaoxin.com>

Patch doesn't apply to git master.  Can you rebase and resend?  A= nd
while being at it wrap the commit message to hot have lines longer than
80 chars?

thanks,
  Gerd

--_000_b11ae18e4cdd45eb9ec946b4aa17c6a8zhaoxincom_-- --===============1243962864904488489== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org --===============1243962864904488489==--