Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.hurd.bug > #12061
| Path | csiph.com!goblin3!goblin.stu.neva.ru!panix!usenet.stanford.edu!not-for-mail |
|---|---|
| From | Damien Zammit <damien@zamaudio.com> |
| Newsgroups | gnu.hurd.bug |
| Subject | Re: PCI arbiter crash on last qemu image |
| Date | Sat, 22 Aug 2020 22:43:11 +1000 |
| Lines | 93 |
| Approved | bug-hurd@gnu.org |
| Message-ID | <mailman.736.1598100201.2469.bug-hurd@gnu.org> (permalink) |
| References | <78d17df2-64dd-692e-4151-ad14e25a97d6@mailfence.com> <2f03cf83-9dff-1b92-a6e0-96ae20bfda49@zamaudio.com> <e3d57b71-af84-c035-7799-0c4dc6bfdae4@mailfence.com> <c5ae2597-dd25-58f6-8aa2-18b60b91fe5f@zamaudio.com> <ce86a983-886d-cf4d-bb44-106a17ad9282@mailfence.com> <728b60a0-d226-5d36-ba76-82f1f6ce3101@zamaudio.com> <fc77f621-d051-06ba-0d0a-839a269b89ee@mailfence.com> <2559279e-72a6-a87a-ad0d-cbe71102f69e@zamaudio.com> |
| NNTP-Posting-Host | lists.gnu.org |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset=utf-8 |
| Content-Transfer-Encoding | 8bit |
| X-Trace | usenet.stanford.edu 1598100202 16099 209.51.188.17 (22 Aug 2020 12:43:22 GMT) |
| X-Complaints-To | action@cs.stanford.edu |
| To | jlledom@member.fsf.org, bug-hurd@gnu.org |
| Envelope-to | bug-hurd@gnu.org |
| DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=zamaudio-com.20150623.gappssmtp.com; s=20150623; h=subject:to:references:from:autocrypt:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=grQvtpSxVCn3l6BSTcypfCPbdWFvRicFSruFbuXbGNQ=; b=MstbaIjEajDWy15I0aQSBx5+NQA9OsyyAJbCLicH3B/XFS7pgrE4d7057FTiEHjcai GimcYlGTYYGZSUewRYNYKpgoyTlSjH/RrOKhGRoYGyoC58UZJyOCumTrkmcdHAf+Elua PJdaPXrtSN8NuhQN42JQlfHHyqHu9ewSGEMao04KNTo8ej6UKLjtWXghZTZmUBNkHnOc UGGbbYE04YU+1fdyXBztUsC89XUeLygydP3luWIlEFjfYyeopaWta4+rlojTvaHSQZ5K On8ZQcuheLdS81Q+87khL/ifbnr6jhRhNd9Y0QifnKmkoGvKJ6XtyqAh4bV/hOXHH7Ex iIjQ== |
| X-Google-DKIM-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:autocrypt:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=grQvtpSxVCn3l6BSTcypfCPbdWFvRicFSruFbuXbGNQ=; b=P1SwhvsH9mKK/r4PgI8Dpa2GWXSNNoEQrVj4Z9jDgjz2lPNdMdyAz6TrcurLvyiQZB FXo3C4qBSXdf7+LFbvWbwla1JO4Ozly3wC3p54+ljQ3oSWLhXnUPvh4hQVgkyfiRyUNU kB0D/tNh45aTXfDnSbfvUZgox5mxbK2kYn2lLhsX1w+97Ut21CCPsvjD0J+FiuyCJBB6 Mchdsmg842cX0Oqfi2/RIH0pA1CNZy4WBW/ee2YuVCQllnYtVs+CbdEv0nWc2HFUKhMm KS6q57oOKIrwH+Dh0W7oE711mHs+ljdMx8KsDu+0baTQMOZfoEDX/aIUx6ouPsjQxZdW //Jg== |
| X-Gm-Message-State | AOAM5331fk5WbPJSaN2XFywIuXKjYt4nY+LlhOLTeAfqpvZ2cNLsyMX6 TIn/Av9GC6jejzwfJxJPReAHGw+AzUUhqA== |
| X-Google-Smtp-Source | ABdhPJzFO+Es9ptPGnK0YRot1kzTPI+8H9EVHkOB609rbDwGd86G19pzr1xwoU29z2rv/DLN+6ePKw== |
| X-Received | by 2002:a65:4808:: with SMTP id h8mr5464664pgs.113.1598100196194; Sat, 22 Aug 2020 05:43:16 -0700 (PDT) |
| Autocrypt | addr=damien@zamaudio.com; prefer-encrypt=mutual; keydata= mQENBFKCKqwBCACxNliUKB4XUVDmLbY9bBx+XONng5jqnGz2Hheo/1vfdNtuigTaYBWML2ma lDAImfihvPpHS7eyISb7SuCrUZ84RV21wIf03IO9hqDumM0xE6GNxWosRvegjYKAiiGsN9gn 8F7tmeQEuDEqzt5HLnktOSwlrQ3CFk+aiqrYjYhTIduF1MQPgYarRjiiIJtSFoinfRTeHKW4 bgxIIYKvwa4C3McCqPHkTJbkHxITWnlnOuskxFszglDt9UiGtlbapBRvmFSe+9xOrjOkOJe/ 9riyZ04mpO/xADjOsDnXaT+OcQIiZgift+nQs1IP0HEIf2TK5c0Gfrqn1FLiU8gMk+zjABEB AAG0I0RhbWllbiBaYW1taXQgPGRhbWllbkB6YW1hdWRpby5jb20+iQE4BBMBAgAiBQJSgiqs AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBXfBc5WF+pII7uB/9iMYVbS7AhnYJi DiCV9X6C27E4fYxA6/mGdy6MgjZ3kDAnBnBLYcbxtvcjMiCBiPNsyE//yQr12CyoyNqjh9BQ 4AXDdkhJZ6oW1HeP0Dqo+q1+uThlyXEMHC5qKxH2RWFnStmwR6qEr35By3LD8RQO5h7C2mpT VzzArYz5896qpqZizkPcVztbH4eymwQoZBCD0aF/76extAymQ8y7CxQueSrtDLedLKVPAANC msuaLNYaw5CdqkFo16iA0eBadjrrnTyX/FAnbnUKLbnVVE56gPLebz4ay9ZmQXJpLdjnHfkb m21z8IQ0K2ct5cZQRbA5ge27V87ts+OmutBlSk6zuQENBFKCKqwBCADLGxUiBOiRNXroZp1a PwgzXRAhrHDpp5qlXJ3vpqU6HAJYVc6Ozp65ADy2e6Du5GYi3KOmc+YITfLEIZ/CDrzz4IfZ whnoYd1kpMeTasq3wP44WOYzVx/1/Rmo9JlSOdaFi4TVlEX7qF4kUfWLqt0wSFYgPg/OpQeL uNO9e3GIL4hk5UtD633PMVjmjShO6H52TosckQ4jiNt5yUJun8ABkDxBbcfycMrLlAMUGydL S1WAz+/fp1P0VL2bmnsOif+ZO19EvN7JhohQEovfaZ3R7UCtcJm6ZfjH1e1Zw80HQtZ+MnTN 0PmCRydmWJzyDecBffoRVlhwes+ff6tx+9RVABEBAAGJAR8EGAECAAkFAlKCKqwCGwwACgkQ V3wXOVhfqSD5lAf/aAMTm5qknUBqfyE8Z6PuXa3hwcH1ZmkXYrm8u3V4SJUTz69iixihi/kI hzM63n6IpllQvxYjT6bvSH5KNzJYUlqdA3pLun0J+cNMda4VQXWUuLRtc2NyYJE0liyKRdm+ op65BkRqr6wP5Af2Wj9hfMrCn2eFaiYh9ymFmg2Ee4yfFdwU5BFiYNMPbx9mbf78Q4f4VSBG 1XO6Ob55JEbC/7UhbnPkEG18MrNLx1ea5YpaRbKPXVVSonKk8YVIzCJxcDcse4ZRZogSnrJF C+GZpY4WoQQ/5kWRmNFQbIw38KfJGf2BmLa4dr9Kl/Qg288nbo66HJxqv+pWaWwmaja5Sg== |
| User-Agent | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 |
| In-Reply-To | <fc77f621-d051-06ba-0d0a-839a269b89ee@mailfence.com> |
| Content-Language | en-US |
| Received-SPF | none client-ip=2607:f8b0:4864:20::542; envelope-from=damien@zamaudio.com; helo=mail-pg1-x542.google.com |
| X-detected-operating-system | by eggs.gnu.org: No matching host in p0f cache. That's all we know. |
| X-Spam_score_int | -18 |
| X-Spam_score | -1.9 |
| X-Spam_bar | - |
| X-Spam_report | (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no |
| X-Spam_action | no action |
| X-BeenThere | bug-hurd@gnu.org |
| X-Mailman-Version | 2.1.23 |
| Precedence | list |
| List-Id | Bug reports for the GNU Hurd <bug-hurd.gnu.org> |
| List-Unsubscribe | <https://lists.gnu.org/mailman/options/bug-hurd>, <mailto:bug-hurd-request@gnu.org?subject=unsubscribe> |
| List-Archive | <https://lists.gnu.org/archive/html/bug-hurd> |
| List-Post | <mailto:bug-hurd@gnu.org> |
| List-Help | <mailto:bug-hurd-request@gnu.org?subject=help> |
| List-Subscribe | <https://lists.gnu.org/mailman/listinfo/bug-hurd>, <mailto:bug-hurd-request@gnu.org?subject=subscribe> |
| X-Mailman-Original-Message-ID | <2559279e-72a6-a87a-ad0d-cbe71102f69e@zamaudio.com> |
| X-Mailman-Original-References | <78d17df2-64dd-692e-4151-ad14e25a97d6@mailfence.com> <2f03cf83-9dff-1b92-a6e0-96ae20bfda49@zamaudio.com> <e3d57b71-af84-c035-7799-0c4dc6bfdae4@mailfence.com> <c5ae2597-dd25-58f6-8aa2-18b60b91fe5f@zamaudio.com> <ce86a983-886d-cf4d-bb44-106a17ad9282@mailfence.com> <728b60a0-d226-5d36-ba76-82f1f6ce3101@zamaudio.com> <fc77f621-d051-06ba-0d0a-839a269b89ee@mailfence.com> |
| Xref | csiph.com gnu.hurd.bug:12061 |
Show key headers only | View raw
On 22/8/20 8:38 pm, Joan Lledó wrote:
> However, I think the problem here is the x86 backend, not the common
> interface. If we take a look at all other backends we'll see that:
>
> 1.- Neither of them call its probe() from its create(). So it's the
> client who must call pci_device_probe(), it's our arbiter who should do
> it and it doesn't.
OK, so we need to add this patch upstream:
---
src/x86_pci.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/src/x86_pci.c b/src/x86_pci.c
index ac598b1..1614729 100644
--- a/src/x86_pci.c
+++ b/src/x86_pci.c
@@ -814,10 +814,6 @@ pci_system_x86_scan_bus (uint8_t bus)
d->base.device_class = reg >> 8;
- err = pci_device_x86_probe (&d->base);
- if (err)
- return err;
-
pci_sys->devices = devices;
pci_sys->num_devices++;
--
2.25.1
> 2.- Neither of them map memory from its probe(). So again it's the
> client who must call either pci_device_map_range() or
> pci_device_map_region(), and again it's our arbiter who is not doing it.
And so my original patch for this part was correct:
---
src/x86_pci.c | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)
diff --git a/src/x86_pci.c b/src/x86_pci.c
index 0d9f2e7..ac598b1 100644
--- a/src/x86_pci.c
+++ b/src/x86_pci.c
@@ -630,9 +630,6 @@ pci_device_x86_region_probe (struct pci_device *dev, int reg_num)
if (err)
return err;
}
-
- /* Clear the map pointer */
- dev->regions[reg_num].memory = 0;
}
else if (dev->regions[reg_num].size > 0)
{
@@ -649,15 +646,11 @@ pci_device_x86_region_probe (struct pci_device *dev, int reg_num)
if (err)
return err;
}
-
- /* Map the region in our space */
- if ( (err = map_dev_mem(&dev->regions[reg_num].memory,
- dev->regions[reg_num].base_addr,
- dev->regions[reg_num].size,
- 1)) )
- return err;
}
+ /* Clear the map pointer */
+ dev->regions[reg_num].memory = 0;
+
return 0;
}
--
2.25.1
> This is due to our transition from having a libpciaccess copy of x86
> backend embedded in the arbiter to use libpciaccess. When it was
> embedded, I modified it to probe and map everything during the bus scan,
> but the original code in libpciaccess[1] didn't do it. So we are not
> using libpciaccess properly and we modified libpciaccess to fit us
> instead of the other way around.
I see now. Sorry, I think I added the probe() in create()!
> Would you like to fix the backend and I fix the arbiter?
Can you confirm I have it correct this time? If so I will alter my merge request upstream.
Thanks,
Damien
Back to gnu.hurd.bug | Previous | Next | Find similar
Re: PCI arbiter crash on last qemu image Damien Zammit <damien@zamaudio.com> - 2020-08-22 22:43 +1000
csiph-web