<div dir="ltr">I'm tired of staring at this piece of code wondering why printk isn't working as I expected.  Can someone point out what I've obviously missed?<br><br>code (inserted in pci_device.c in pci_get_resource() right before the limit mask and return): <br>
    if (resource->flags)<br>    {<br>    printk(BIOS_DEBUG, "%s resource base %08lx limit %08lx size %08lx flags %08lx\n",<br>                   dev_path(dev), resource->base, resource->limit,<br>                resource->size, resource->flags);<br>
<br>    printk(BIOS_DEBUG, "\t%s size %lx align %lx gran %lx\n",<br>            dev_path(dev), resource->size,<br>            resource->align, resource->gran);<br>    printk(BIOS_DEBUG, " just broken size %08lx\n", resource->size);<br>
<br>    printk(BIOS_DEBUG, " broken align %lx\n", resource->align);<br>    printk(BIOS_DEBUG, "%s resource size %08lx flags %08lx\n",<br>                   dev_path(dev), resource->size, resource->flags);<br>
<br>    printk(BIOS_DEBUG, "%s align %lx gran %lx\n",<br>            dev_path(dev),<br>            resource->align, resource->gran);<br>    }<br>output:<br>PCI: 01:00.0 resource base 00000000 limit 00000000 size ffffffff flags 00000000<br>
    PCI: 01:00.0 size 1000 align 0 gran c<br> just broken size 00001000<br> broken align c<br>PCI: 01:00.0 resource size 00001000 flags 00000000<br>PCI: 01:00.0 align c gran c<br><br>Notice that size is ffffffff in the first, 0x1000 in the rest.<br>
Align is 0 in the first, c in the rest.<br><br>It looks like printk is botching it.  I don't know how else to explain it.  Is there a limit to the number of arguments you can pass to printk?<br>Thanks,<br>Myles<br></div>