RE: [PATCH] add PCI ROMs to sysfs

From: Jon Smirl
Date: Wed Aug 11 2004 - 19:44:40 EST


Changing the quirk in fixup.c from FINAL to HEADER fixes the problem.
Only the length was coming from the wrong place, the ROM contents came
from the shadow memory.

Any ideas on how to solve this problem...

Originally I had this in the enable ROM routine
/* assign the ROM an address if it doesn't have one */
if (r->parent == NULL)
pci_assign_resource(dev->pdev, PCI_ROM_RESOURCE);


I removed the call to pci_assign_resource(). The sysfs attribute code
builds the attributes before the pci subsystem is fully initialized.
specifically before arch pcibios_init() has been called. If
pci_assign_resource() is called for the ROM before pcibios_init() the
kernel's resource maps have not been built yet. This will result in the
ROM being located on top of the framebuffer; as soon as it is enabled
the system will lock. Right now the code relies on the BIOS getting the
ROM address set up right. If we can figure out how to initialize the
sysfs attributes after pcibios_init() then I can put the assign call
back.

--- "Pallipadi, Venkatesh" <venkatesh.pallipadi@xxxxxxxxx> wrote:

>
> One issue with x86 quirk in this patch.
> The actual sysfs entries are created during the PCI bus scan.
> But, pci_fixup_video() gets called later during device_initcalls.
> So, PCI_ROM_SHADOW is kind of ineffective now.
>
> Thanks,
> Venki

=====
Jon Smirl
jonsmirl@xxxxxxxxx



__________________________________
Do you Yahoo!?
Yahoo! Mail Address AutoComplete - You start. We finish.
http://promotions.yahoo.com/new_mail
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/