Kevin,
I'm currently out of the office. I'll try your patch when I return on July 22nd.
Thanks,
Dave
Kevin O'Connor <kevin(a)koconnor.net> wrote:
>On Fri, Jul 12, 2013 at 03:22:43PM -0500, Dave Frodin wrote:
>
>> I'm using the current seabios (master or stable) as a payload for
>> coreboot. If I build the current seabios I've found that commit
>> b98a4b1 "Convert PCIDevices list to use standard list manipultion
>> code." prevents the system from finding USB thumbdrives. The USB
>> keyboard and mouse still work.
>
>Thanks. The PCI list changes broke the ordering of the PCIDevices
>list. Can you confirm the patch below fixes it for you?
>
>-Kevin
>
>
>commit 2a9aeabdfb34374ecac25e7a8d21c9e368618cd4
>Author: Kevin O'Connor <kevin(a)koconnor.net>
>Date: Sun Jul 14 13:55:52 2013 -0400
>
>Fix USB EHCI detection that was broken in hlist conversion of
>PCIDevices.
>
> Make sure the PCI device list is ordered in bus order.
>
> Don't iterate past the end of the list when detecting EHCI devices.
>
> Signed-off-by: Kevin O'Connor <kevin(a)koconnor.net>
>
>diff --git a/src/pci.c b/src/pci.c
>index 6163a29..dc62c5c 100644
>--- a/src/pci.c
>+++ b/src/pci.c
>@@ -122,6 +122,7 @@ pci_probe_devices(void)
> }
> memset(dev, 0, sizeof(*dev));
> hlist_add(&dev->node, pprev);
>+ pprev = &dev->node.next;
> count++;
>
> // Find parent device.
>diff --git a/src/usb.c b/src/usb.c
>index ecccd75..42541ff 100644
>--- a/src/usb.c
>+++ b/src/usb.c
>@@ -444,7 +444,7 @@ usb_setup(void)
> }
> if (ehcipci->class == PCI_CLASS_SERIAL_USB)
> found++;
>- ehcipci = container_of(
>+ ehcipci = container_of_or_null(
> ehcipci->node.next, struct pci_device, node);
> if (!ehcipci || (pci_bdf_to_busdev(ehcipci->bdf)
> != pci_bdf_to_busdev(pci->bdf)))
Hi, i use seabios on qemu with Linux as guest OS and i am not able to boot
my machine because kernel says
ata_piix 0000:00:01.1: device not available (can't reserve [io
0x0000-0x0007])
i try with qemu v1.5.50 and v.1.4.2 and i have the same error.
Bisecting seabios i found that the error was introduced with this commit
76e58028d28e78431f9de3cee0b3c88d807fa39d - acpi: Eliminate BDAT parameter
passing to DSDT code.
the last good commit is:
3f8d735dd85edc9fc4da8d4018925012a8626877 - Rename src/ssdt-susp.dsl to
src/ssdt-misc.dsl.
I'm using the current seabios (master or stable) as a payload for coreboot.
If I build the current seabios I've found that commit b98a4b1 "Convert PCIDevices list to use standard list manipultion code."
prevents the system from finding USB thumbdrives. The USB keyboard and mouse still work.
This problem occurs for multiple mainboards (persimmon/parmer/gizmo).
Let me know if there's something else I can try for anybody.
Thanks,
Dave
Kevin,
I talked with Marc Jones about this and he sees value in the method I've proposed.
He also predicts that this will be an issue in the future on Intel motherboards.
The one major difference is that if you were building coreboot for a Family15 mainboard
you would only need to add one file (vendev_map) rather than 20 alias mapping files to
CBFS. I agree that the parsing code is more than clunky (what I wouldn't give for a sscanf()),
perhaps my patch could use some changes rather than throwing it out.
I'll re-attach my patch in case anybody wants to review it.
Thanks again,
Dave
----- Original Message -----
> From: "Kevin O'Connor" <kevin(a)koconnor.net>
> To: "Dave Frodin" <dave.frodin(a)se-eng.com>
> Cc: "seabios" <seabios(a)seabios.org>
> Sent: Tuesday, July 2, 2013 10:29:39 PM
> Subject: Re: [SeaBIOS] [PATCH] Seabios: allow mapping of multiple PCI option ROMs to one
>
> On Tue, Jul 02, 2013 at 07:40:17AM -0500, Dave Frodin wrote:
> > Kevin,
> >
> > Did you ever get a chance to look over this patch?
>
> I don't see the gain in introducing a config file parser for this
> task. What was wrong with the approach of creating "alias" files?
>
> -Kevin
>