From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1Ywrws-0000dJ-3U for mharc-grub-devel@gnu.org; Mon, 25 May 2015 08:57:42 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38659) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ywrwn-0000d2-DU for grub-devel@gnu.org; Mon, 25 May 2015 08:57:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ywrwg-0005vp-So for grub-devel@gnu.org; Mon, 25 May 2015 08:57:37 -0400 Received: from mail.gw90.de ([2a01:4f8:100:7463::3]:46310) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ywrwg-0005vg-Ep for grub-devel@gnu.org; Mon, 25 May 2015 08:57:30 -0400 Received: from p57aae46d.dip0.t-ipconnect.de ([87.170.228.109] helo=mattotaupa) by mail.gw90.de with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from ) id 1Ywrwf-0005MW-Oy for grub-devel@gnu.org; Mon, 25 May 2015 12:57:30 +0000 Message-ID: <1432558640.2384.32.camel@users.sourceforge.net> Subject: AHCI: SATA drive not detected by GRUB payload for coreboot From: Paul Menzel To: grub-devel@gnu.org Date: Mon, 25 May 2015 14:57:20 +0200 Content-Type: multipart/signed; micalg="pgp-sha1"; protocol="application/pgp-signature"; boundary="=-2d6wTzQkqdqV2No7/gey" X-Mailer: Evolution 3.12.12-1 Mime-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a01:4f8:100:7463::3 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 May 2015 12:57:40 -0000 --=-2d6wTzQkqdqV2No7/gey Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Dear GRUB folks, as already mentioned, currently using coreboot with the GRUB payload on the ASRock E350M1, the HDD connected over Serial ATA (SATA) at port 2, or any other port, is not detected. Using an SSD instead it=E2=80=99s also = *not* detected. This issue is present since at least last year and probably since the rewrite of `grub-core/disk/ahci.c`. I was able to reproduce it with latest master, that means commit 5e74a3e6 (disk/ahci: Use defines `GRUB_ATA_STATUS_BUSY` and `GRUB_ATA_STATUS_DRQ`). Doing `rmmod ahci` and `insmod ahci` the connected drive is mostly detected. Below are my changes for debugging. I added resetting the host bus adapter (HBA) and debug statements for port 2. diff --git a/grub-core/disk/ahci.c b/grub-core/disk/ahci.c index 7f75724..cf2075b 100644 --- a/grub-core/disk/ahci.c +++ b/grub-core/disk/ahci.c @@ -173,6 +173,7 @@ grub_ahci_pciinit (grub_pci_device_t dev, grub_pci_address_t addr; grub_uint32_t class; grub_uint32_t bar; + grub_uint64_t endtime; unsigned i, nports; volatile struct grub_ahci_hba *hba; =20 @@ -199,7 +200,7 @@ grub_ahci_pciinit (grub_pci_device_t dev, =20 hba =3D grub_pci_device_map_range (dev, bar & GRUB_PCI_ADDR_MEM_MASK, sizeof (*hba)); - grub_dprintf ("ahci", "dev: %x:%x.%x\n", dev.bus, dev.device, dev.functi= on); + grub_dprintf ("ahci", "dev: %x:%x.%x, (%04x,%04x)\n", dev.bus, dev.devic= e, dev.function, class, class); =20 grub_dprintf ("ahci", "tfd[0]: %x\n", hba->ports[0].task_file_data); @@ -219,16 +220,62 @@ grub_ahci_pciinit (grub_pci_device_t dev, grub_dprintf ("ahci", "err[1]: %x\n", hba->ports[1].sata_error); =20 - hba->ports[1].sata_error =3D hba->ports[1].sata_error; + grub_dprintf ("ahci", "tfd[2]: %x\n", + hba->ports[2].task_file_data); + grub_dprintf ("ahci", "cmd[2]: %x\n", + hba->ports[2].command); + grub_dprintf ("ahci", "st[2]: %x\n", + hba->ports[2].status); + grub_dprintf ("ahci", "err[2]: %x\n", + hba->ports[2].sata_error); + + /* Reset host bus adapter (HBA). */ + grub_dprintf ("ahci", "Reset host bus adapter (HBA).\n"); + grub_dprintf ("ahci", "GLC:%x, %4" PRIuGRUB_UINT64_T "\n", hba->global_c= ontrol, grub_get_time_ms ()); + hba->global_control |=3D GRUB_AHCI_HBA_GLOBAL_CONTROL_RESET; + /* Reset has to be finished after 1s. */ + endtime =3D grub_get_time_ms () + 1000; + while ((hba->global_control & GRUB_AHCI_HBA_GLOBAL_CONTROL_RESET) + && grub_get_time_ms () < endtime); + if (hba->global_control & GRUB_AHCI_HBA_GLOBAL_CONTROL_RESET) + { + grub_dprintf ("ahci", "Controller reset didn't finish within 1s.\n")= ; + } + grub_dprintf ("ahci", "GLC:%x, time: %4" PRIuGRUB_UINT64_T "\n", hba->gl= obal_control, grub_get_time_ms ()); + + grub_dprintf ("ahci", "tfd[0]: %x\n", + hba->ports[0].task_file_data); + grub_dprintf ("ahci", "cmd[0]: %x\n", + hba->ports[0].command); + grub_dprintf ("ahci", "st[0]: %x\n", + hba->ports[0].status); + grub_dprintf ("ahci", "err[0]: %x\n", + hba->ports[0].sata_error); =20 + grub_dprintf ("ahci", "tfd[1]: %x\n", + hba->ports[1].task_file_data); + grub_dprintf ("ahci", "cmd[1]: %x\n", + hba->ports[1].command); + grub_dprintf ("ahci", "st[1]: %x\n", + hba->ports[1].status); grub_dprintf ("ahci", "err[1]: %x\n", hba->ports[1].sata_error); =20 + hba->ports[1].sata_error =3D hba->ports[1].sata_error; + + grub_dprintf ("ahci", "tfd[2]: %x\n", + hba->ports[2].task_file_data); + grub_dprintf ("ahci", "cmd[2]: %x\n", + hba->ports[2].command); + grub_dprintf ("ahci", "st[2]: %x\n", + hba->ports[2].status); + grub_dprintf ("ahci", "err[2]: %x\n", + hba->ports[2].sata_error); + grub_dprintf ("ahci", "BH:%x\n", hba->bios_handoff); =20 if (! (hba->bios_handoff & GRUB_AHCI_BIOS_HANDOFF_OS_OWNED)) { - grub_uint64_t endtime; =20 grub_dprintf ("ahci", "Requesting AHCI ownership\n"); hba->bios_handoff =3D (hba->bios_handoff & ~GRUB_AHCI_BIOS_HANDOFF_R= WC) @@ -265,7 +312,6 @@ grub_ahci_pciinit (grub_pci_device_t dev, grub_dprintf ("ahci", "GLC:%x\n", hba->global_control); =20 /* { - grub_uint64_t endtime; hba->global_control |=3D 1; endtime =3D grub_get_time_ms () + 1000; while (hba->global_control & 1) @@ -392,7 +438,6 @@ grub_ahci_pciinit (grub_pci_device_t dev, adevs[i]->hba->ports[adevs[i]->port].command &=3D ~GRUB_AHCI_HBA_PORT_CMD= _FRE; } =20 - grub_uint64_t endtime; endtime =3D grub_get_time_ms () + 1000; =20 while (grub_get_time_ms () < endtime) With these changes the following debug output is created. disk/ahci.c:203: dev: 0:11.0, (1060140,1060140) disk/ahci.c:206: tfd[0]: 7f disk/ahci.c:208: cmd[0]: 2006 disk/ahci.c:210: st[0]: 0 disk/ahci.c:212: err[0]: 0 disk/ahci.c:215: tfd[1]: 7f disk/ahci.c:217: cmd[1]: 2006 disk/ahci.c:219: st[1]: 0 disk/ahci.c:221: err[1]: 0 disk/ahci.c:224: tfd[2]: 80 disk/ahci.c:226: cmd[2]: 2006 disk/ahci.c:228: st[2]: 123 disk/ahci.c:230: err[2]: 0 disk/ahci.c:233: Reset host bus adapter (HBA). disk/ahci.c:234: GLC:0, 1095 disk/ahci.c:244: GLC:0, time: 1095 disk/ahci.c:247: tfd[0]: 7f disk/ahci.c:249: cmd[0]: 2006 disk/ahci.c:251: st[0]: 0 disk/ahci.c:253: err[0]: 0 disk/ahci.c:256: tfd[1]: 7f disk/ahci.c:258: cmd[1]: 2006 disk/ahci.c:260: st[1]: 0 disk/ahci.c:262: err[1]: 0 disk/ahci.c:267: tfd[2]: 80 disk/ahci.c:269: cmd[2]: 2006 disk/ahci.c:271: st[2]: 123 disk/ahci.c:273: err[2]: 40d0000 disk/ahci.c:275: BH:0 disk/ahci.c:280: Requesting AHCI ownership disk/ahci.c:283: Waiting for BIOS to give up ownership disk/ahci.c:294: AHCI ownership obtained disk/ahci.c:299: GLC:0 disk/ahci.c:302: err[1]: 0 disk/ahci.c:305: AHCI is in compat mode. Switching disk/ahci.c:310: err[1]: 0 disk/ahci.c:312: GLC:0 disk/ahci.c:325: GLC:0 disk/ahci.c:328: err[1]: 0 disk/ahci.c:343: GLC:80000000 disk/ahci.c:346: err[1]: 0 disk/ahci.c:349: err[1]: 0 disk/ahci.c:351: GLC:80000000 disk/ahci.c:367: err[1]: 0 disk/ahci.c:369: GLC:80000000 disk/ahci.c:374: 32 AHCI ports, PI =3D 0x3f disk/ahci.c:405: err: 0 disk/ahci.c:436: found device ahci0 (port 0), command_table =3D 0xc= 7e42400, command_list =3D 0xc7e42c00 disk/ahci.c:405: err: 0 disk/ahci.c:436: found device ahci1 (port 1), command_table =3D 0xc= 7e41400, command_list =3D 0xc7e41c00 disk/ahci.c:405: err: 0 disk/ahci.c:436: found device ahci2 (port 2), command_table =3D 0xc= 7e40400, command_list =3D 0xc7e40c00 disk/ahci.c:405: err: 0 disk/ahci.c:436: found device ahci3 (port 3), command_table =3D 0xc= 7df7000, command_list =3D 0xc7e3fc00 disk/ahci.c:405: err: 0 disk/ahci.c:436: found device ahci4 (port 4), command_table =3D 0xc= 7df6000, command_list =3D 0xc7df6800 disk/ahci.c:405: err: 0 disk/ahci.c:436: found device ahci5 (port 5), command_table =3D 0xc= 7df5000, command_list =3D 0xc7df5800 disk/ahci.c:489: err: 0 disk/ahci.c:489: err: 0 disk/ahci.c:489: err: 0 disk/ahci.c:489: err: 0 disk/ahci.c:489: err: 0 disk/ahci.c:489: err: 0 disk/ahci.c:529: err: 0 disk/ahci.c:537: err: 0 disk/ahci.c:529: err: 0 disk/ahci.c:537: err: 0 disk/ahci.c:529: err: 0 disk/ahci.c:537: err: 0 disk/ahci.c:529: err: 0 disk/ahci.c:537: err: 0 disk/ahci.c:529: err: 0 disk/ahci.c:537: err: 0 disk/ahci.c:529: err: 0 disk/ahci.c:537: err: 0 disk/ahci.c:555: couldn't detect device on port 0 disk/ahci.c:555: couldn't detect device on port 1 disk/ahci.c:555: couldn't detect device on port 3 disk/ahci.c:555: couldn't detect device on port 4 disk/ahci.c:555: couldn't detect device on port 5 disk/ahci.c:564: err: 0 disk/ahci.c:570: err: 0 disk/ahci.c:574: err: 0 disk/ahci.c:580: offset: 220, tfd:80, CMD: 6016 disk/ahci.c:583: err: 0 disk/ahci.c:594: offset: 220, tfd:80, CMD: 6016 disk/ahci.c:597: err: 0 disk/ahci.c:622: port 2 is busy disk/ahci.c:650: cleaning up failed devs No RSDPv1 RSDPv2 signature:RSD PTR chksum:04 (valid), OEM-ID: CORE rev=3D2 RSDT=3Dc7fb8030 len=3D36 chksum=3Dba (valid) XSDT=3D00000000c7fb80e0 XSDT 92B rev=3D1 chksum=3D0x11 (valid) OEM=3DCORE COREBOOT OEMr= ev=3D00000000 CORE=20 00000000 FACP 244B rev=3D4 chksum=3D0xd0 (valid) OEM=3DCORE COREBOOT OEMr= ev=3D00000000 CORE=20 00000000 SSDT 69B rev=3D2 chksum=3D0xa1 (valid) OEM=3DCORE COREBOOT OEMr= ev=3D0000002a CORE=20 0000002a APIC 92B rev=3D1 chksum=3D0x9c (valid) OEM=3DCORE COREBOOT OEMr= ev=3D00000000 CORE=20 00000000 Local APIC=3Dfee00000 Flags=3D00000001 LAPIC ACPI_ID=3D00 APIC_ID=3D00 Flags=3D00000001 LAPIC ACPI_ID=3D01 APIC_ID=3D01 Flags=3D00000001 IOAPIC ID=3D02 address=3Dfec00000 GSI=3D00000000 Int Override bus=3D0 src=3D0 GSI=3D00000002 Flags=3D0000 Int Override bus=3D0 src=3D9 GSI=3D00000009 Flags=3D000f HEST 40B rev=3D1 chksum=3D0xb4 (valid) OEM=3DCORE COREBOOT OEMr= ev=3D00000000 CORE=20 00000000 SSDT 5774B rev=3D2 chksum=3D0x6e (valid) OEM=3DAMD ALIB OEMr= ev=3D00000001 MSFT=20 04000000 SSDT 990B rev=3D1 chksum=3D0xca (valid) OEM=3DAMD POWERNOW OEMr= ev=3D00000001 AMD =20 00000001 HPET 56B rev=3D1 chksum=3D0x71 (valid) OEM=3DCORE COREBOOT OEMr= ev=3D00000000 CORE=20 00000000 00:00.0 1022:1510 [0600] Host Bridge 00:01.0 1002:9802 [0300] VGA Controller 00:01.1 1002:1314 [0403] Multimedia device 00:11.0 1002:4391 [0106] SATA Controller [PI 01] 00:12.0 1002:4397 [0c03] USB Controller [PI 10] 00:12.2 1002:4396 [0c03] USB Controller [PI 20] 00:13.0 1002:4397 [0c03] USB Controller [PI 10] 00:13.2 1002:4396 [0c03] USB Controller [PI 20] 00:14.0 1002:4385 [0c05] Serial Bus Controller 00:14.2 1002:4383 [0403] Multimedia device 00:14.3 1002:439d [0601] ISA Bridge 00:14.4 1002:4384 [0604] PCI-PCI Bridge [PI 01] 00:14.5 1002:4399 [0c03] USB Controller [PI 10] 00:15.0 1002:43a0 [0604] PCI-PCI Bridge 00:15.1 1002:43a1 [0604] PCI-PCI Bridge 00:18.0 1022:1700 [0600] Host Bridge 00:18.1 1022:1701 [0600] Host Bridge 00:18.2 1022:1702 [0600] Host Bridge 00:18.3 1022:1703 [0600] Host Bridge 00:18.4 1022:1704 [0600] Host Bridge 00:18.5 1022:1718 [0600] Host Bridge 00:18.6 1022:1716 [0600] Host Bridge 00:18.7 1022:1719 [0600] Host Bridge 03:00.0 10ec:8168 [0200] Ethernet Controller GNU GRUB version 2.02~beta2 [=E2=80=A6] grub> ls (memdisk) (cbfsdisk)=20 grub> rmmod ahci grub> insmod ahci disk/ahci.c:203: dev: 0:11.0, (1060140,1060140) disk/ahci.c:206: tfd[0]: 7f disk/ahci.c:208: cmd[0]: 2006 disk/ahci.c:210: st[0]: 0 disk/ahci.c:212: err[0]: 0 disk/ahci.c:215: tfd[1]: 7f disk/ahci.c:217: cmd[1]: 2006 disk/ahci.c:219: st[1]: 0 disk/ahci.c:221: err[1]: 0 disk/ahci.c:224: tfd[2]: 80 disk/ahci.c:226: cmd[2]: 2006 disk/ahci.c:228: st[2]: 123 disk/ahci.c:230: err[2]: 0 disk/ahci.c:233: Reset host bus adapter (HBA). disk/ahci.c:234: GLC:80000000, 134260 disk/ahci.c:244: GLC:0, time: 134263 disk/ahci.c:247: tfd[0]: 7f disk/ahci.c:249: cmd[0]: 2006 disk/ahci.c:251: st[0]: 0 disk/ahci.c:253: err[0]: 0 disk/ahci.c:256: tfd[1]: 7f disk/ahci.c:258: cmd[1]: 2006 disk/ahci.c:260: st[1]: 0 disk/ahci.c:262: err[1]: 0 disk/ahci.c:267: tfd[2]: 150 disk/ahci.c:269: cmd[2]: 2006 disk/ahci.c:271: st[2]: 123 disk/ahci.c:273: err[2]: 40d0000 disk/ahci.c:275: BH:0 disk/ahci.c:280: Requesting AHCI ownership disk/ahci.c:283: Waiting for BIOS to give up ownership disk/ahci.c:294: AHCI ownership obtained disk/ahci.c:299: GLC:0 disk/ahci.c:302: err[1]: 0 disk/ahci.c:305: AHCI is in compat mode. Switching disk/ahci.c:310: err[1]: 0 disk/ahci.c:312: GLC:0 disk/ahci.c:325: GLC:0 disk/ahci.c:328: err[1]: 0 disk/ahci.c:343: GLC:80000000 disk/ahci.c:346: err[1]: 0 disk/ahci.c:349: err[1]: 0 disk/ahci.c:351: GLC:80000000 disk/ahci.c:367: err[1]: 0 disk/ahci.c:369: GLC:80000000 disk/ahci.c:374: 32 AHCI ports, PI =3D 0x3f disk/ahci.c:405: err: 0 disk/ahci.c:436: found device ahci0 (port 0), command_table =3D 0xc= 7e97000, command_list =3D 0xc7e97800 disk/ahci.c:405: err: 0 disk/ahci.c:436: found device ahci1 (port 1), command_table =3D 0xc= 7e89c00, command_list =3D 0xc7e96800 disk/ahci.c:405: err: 0 disk/ahci.c:436: found device ahci2 (port 2), command_table =3D 0xc= 7e88c00, command_list =3D 0xc7e89400 disk/ahci.c:405: err: 0 disk/ahci.c:436: found device ahci3 (port 3), command_table =3D 0xc= 7e87c00, command_list =3D 0xc7e88400 disk/ahci.c:405: err: 0 disk/ahci.c:436: found device ahci4 (port 4), command_table =3D 0xc= 7e86c00, command_list =3D 0xc7e87400 disk/ahci.c:405: err: 0 disk/ahci.c:436: found device ahci5 (port 5), command_table =3D 0xc= 7e60c00, command_list =3D 0xc7e61400 disk/ahci.c:489: err: 0 disk/ahci.c:489: err: 0 disk/ahci.c:489: err: 0 disk/ahci.c:489: err: 0 disk/ahci.c:489: err: 0 disk/ahci.c:489: err: 0 disk/ahci.c:529: err: 0 disk/ahci.c:537: err: 0 disk/ahci.c:529: err: 0 disk/ahci.c:537: err: 0 disk/ahci.c:529: err: 0 disk/ahci.c:537: err: 0 disk/ahci.c:529: err: 0 disk/ahci.c:537: err: 0 disk/ahci.c:529: err: 0 disk/ahci.c:537: err: 0 disk/ahci.c:529: err: 0 disk/ahci.c:537: err: 0 disk/ahci.c:555: couldn't detect device on port 0 disk/ahci.c:555: couldn't detect device on port 1 disk/ahci.c:555: couldn't detect device on port 3 disk/ahci.c:555: couldn't detect device on port 4 disk/ahci.c:555: couldn't detect device on port 5 disk/ahci.c:564: err: 0 disk/ahci.c:570: err: 0 disk/ahci.c:574: err: 0 disk/ahci.c:580: offset: 220, tfd:150, CMD: 6016 disk/ahci.c:583: err: 0 disk/ahci.c:594: offset: 220, tfd:150, CMD: 6016 disk/ahci.c:597: err: 0 disk/ahci.c:650: cleaning up failed devs grub> ls disk/ahci.c:1145: opening AHCI dev `ahci2' disk/ahci.c:956: AHCI tfd =3D 150 disk/ahci.c:962: AHCI tfd =3D 150 disk/ahci.c:966: AHCI tfd =3D 150 disk/ahci.c:972: grub_ahci_read (size=3D512, cmdsize =3D 0) disk/ahci.c:987: AHCI tfd =3D 150, CL=3D0xc7e89400 disk/ahci.c:998: AHCI tfd =3D 150 disk/ahci.c:1010: AHCI tfd =3D 150 disk/ahci.c:1017: AHCI tfd =3D 150 disk/ahci.c:1028: cfis: 27 80 ec 00 00 00 00 e0 disk/ahci.c:1033: cfis: 00 00 00 00 00 00 00 00 disk/ahci.c:1045: PRDT =3D c7e9e000, 0, 1ff (128) disk/ahci.c:1050: AHCI command schedulded disk/ahci.c:1052: AHCI tfd =3D 150 disk/ahci.c:1054: AHCI inten =3D 0 disk/ahci.c:1056: AHCI intstatus =3D 0 disk/ahci.c:1061: AHCI inten =3D fdc000ff disk/ahci.c:1063: AHCI tfd =3D 150 disk/ahci.c:1066: AHCI sig =3D 101 disk/ahci.c:1068: AHCI tfd =3D 1d0 disk/ahci.c:1093: AHCI command completed <0 2 50 200 0, 0 0> disk/ahci.c:1103: last PIO FIS 0058605f e0000000 00000000 500000ff = 00000200 00000000 00000000 00000000 disk/ahci.c:1113: last REG FIS 00000000 00000000 00000000 00000000 = 00000000 00000000 00000000 00000000 disk/ata.c:48: Serial: WD-WCAZA4234015 disk/ata.c:50: Firmware: 51.0AB51 disk/ata.c:52: Model: WDC WD20EARS-60MVWB0 =20 disk/ata.c:56: Addressing: 2 disk/ata.c:57: Sectors: 3907029168 disk/ata.c:58: Sector size: 512 (ahci2) disk/ahci.c:1145: opening AHCI dev `ahci2' disk/ahci.c:956: AHCI tfd =3D 50 disk/ahci.c:962: AHCI tfd =3D 50 disk/ahci.c:966: AHCI tfd =3D 50 disk/ahci.c:972: grub_ahci_read (size=3D512, cmdsize =3D 0) disk/ahci.c:987: AHCI tfd =3D 50, CL=3D0xc7e89400 disk/ahci.c:998: AHCI tfd =3D 50 disk/ahci.c:1010: AHCI tfd =3D 50 disk/ahci.c:1017: AHCI tfd =3D 50 disk/ahci.c:1028: cfis: 27 80 ec 00 00 00 00 e0 disk/ahci.c:1033: cfis: 00 00 00 00 00 00 00 00 disk/ahci.c:1045: PRDT =3D c7e9e000, 0, 1ff (128) disk/ahci.c:1050: AHCI command schedulded disk/ahci.c:1052: AHCI tfd =3D 50 disk/ahci.c:1054: AHCI inten =3D fdc000ff disk/ahci.c:1056: AHCI intstatus =3D 2 disk/ahci.c:1061: AHCI inten =3D fdc000ff disk/ahci.c:1063: AHCI tfd =3D 50 disk/ahci.c:1066: AHCI sig =3D 101 disk/ahci.c:1068: AHCI tfd =3D d0 disk/ahci.c:1093: AHCI command completed <0 2 50 200 0, 0 0> disk/ahci.c:1103: last PIO FIS 0058605f e0000000 00000000 500000ff = 00000200 00000000 00000000 00000000 disk/ahci.c:1113: last REG FIS 00000000 00000000 00000000 00000000 = 00000000 00000000 00000000 00000000 disk/ata.c:48: Serial: WD-WCAZA4234015 disk/ata.c:50: Firmware: 51.0AB51 disk/ata.c:52: Model: WDC WD20EARS-60MVWB0 =20 disk/ata.c:56: Addressing: 2 disk/ata.c:57: Sectors: 3907029168 disk/ata.c:58: Sector size: 512 disk/ata.c:293: grub_ata_readwrite (size=3D64, rw=3D0) disk/ata.c:337: rw=3D0, sector=3D0, batch=3D64 disk/ahci.c:956: AHCI tfd =3D 50 disk/ahci.c:962: AHCI tfd =3D 50 disk/ahci.c:966: AHCI tfd =3D 50 disk/ahci.c:972: grub_ahci_read (size=3D32768, cmdsize =3D 0) disk/ahci.c:987: AHCI tfd =3D 50, CL=3D0xc7e89400 disk/ahci.c:998: AHCI tfd =3D 50 disk/ahci.c:1010: AHCI tfd =3D 50 disk/ahci.c:1017: AHCI tfd =3D 50 disk/ahci.c:1028: cfis: 27 80 c8 00 00 00 00 e0 disk/ahci.c:1033: cfis: 00 00 00 00 40 00 00 00 disk/ahci.c:1045: PRDT =3D c7e4f000, 0, 7fff (128) disk/ahci.c:1050: AHCI command schedulded disk/ahci.c:1052: AHCI tfd =3D 50 disk/ahci.c:1054: AHCI inten =3D fdc000ff disk/ahci.c:1056: AHCI intstatus =3D 2 disk/ahci.c:1061: AHCI inten =3D fdc000ff disk/ahci.c:1063: AHCI tfd =3D 50 disk/ahci.c:1066: AHCI sig =3D 101 disk/ahci.c:1068: AHCI tfd =3D d0 disk/ahci.c:1093: AHCI command completed <0 1 50 8000 0, 0 0> disk/ahci.c:1103: last PIO FIS 0058605f e0000000 00000000 500000ff = 00000200 00000000 00000000 00000000 disk/ahci.c:1113: last REG FIS 00504034 e000003f 00000000 00000000 = 00000000 00000000 00000000 00000000 (ahci2,msdos2) (ahci2,msdos1) disk/ahci.c:1145: opening AHCI dev `a= hci2' disk/ahci.c:956: AHCI tfd =3D 50 disk/ahci.c:962: AHCI tfd =3D 50 disk/ahci.c:966: AHCI tfd =3D 50 disk/ahci.c:972: grub_ahci_read (size=3D512, cmdsize =3D 0) disk/ahci.c:987: AHCI tfd =3D 50, CL=3D0xc7e89400 disk/ahci.c:998: AHCI tfd =3D 50 disk/ahci.c:1010: AHCI tfd =3D 50 disk/ahci.c:1017: AHCI tfd =3D 50 disk/ahci.c:1028: cfis: 27 80 ec 00 00 00 00 e0 disk/ahci.c:1033: cfis: 00 00 00 00 00 00 00 00 disk/ahci.c:1045: PRDT =3D c7e88400, 0, 1ff (128) disk/ahci.c:1050: AHCI command schedulded disk/ahci.c:1052: AHCI tfd =3D 50 disk/ahci.c:1054: AHCI inten =3D fdc000ff disk/ahci.c:1056: AHCI intstatus =3D 1 disk/ahci.c:1061: AHCI inten =3D fdc000ff disk/ahci.c:1063: AHCI tfd =3D 50 disk/ahci.c:1066: AHCI sig =3D 101 disk/ahci.c:1068: AHCI tfd =3D d0 disk/ahci.c:1093: AHCI command completed <0 2 50 200 0, 0 0> disk/ahci.c:1103: last PIO FIS 0058605f e0000000 00000000 500000ff = 00000200 00000000 00000000 00000000 disk/ahci.c:1113: last REG FIS 00504034 e000003f 00000000 00000000 = 00000000 00000000 00000000 00000000 disk/ata.c:48: Serial: WD-WCAZA4234015 disk/ata.c:50: Firmware: 51.0AB51 disk/ata.c:52: Model: WDC WD20EARS-60MVWB0 =20 disk/ata.c:56: Addressing: 2 disk/ata.c:57: Sectors: 3907029168 disk/ata.c:58: Sector size: 512 (memdisk) (cbfsdisk)=20 grub> set debug=3D Judging from the following register values disk/ahci.c:267: tfd[2]: 80 disk/ahci.c:269: cmd[2]: 2006 disk/ahci.c:271: st[2]: 123 disk/ahci.c:273: err[2]: 40d0000 I=E2=80=99d say a port reset is missing. The ASRock E350M1 uses AMD=E2=80= =99s AGESA code which, I think, also does some SATA initialization. That might be the reason, that coreboot/GRUB payload users do not experience this with Intel hardware. Thanks, Paul --=-2d6wTzQkqdqV2No7/gey Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEABECAAYFAlVjHDcACgkQPX1aK2wOHViKTgCfSNfYqBiT/OIgr2/MJRMvQMD7 yWIAn1s0WKtp6ML+UkEsCPYOSz0H2DYA =mN8C -----END PGP SIGNATURE----- --=-2d6wTzQkqdqV2No7/gey--