<div dir="ltr"><br><br><div class="gmail_quote">On Tue, Oct 14, 2008 at 3:23 PM, Carl-Daniel Hailfinger <span dir="ltr"><<a href="mailto:c-d.hailfinger.devel.2006@gmx.net">c-d.hailfinger.devel.2006@gmx.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div class="Wj3C7c">On 14.10.2008 23:13, Myles Watson wrote:<br>
> I'm tired of staring at this piece of code wondering why printk isn't<br>
> 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<br>
> mask and return):<br>
>     if (resource->flags)<br>
>     {<br>
>     printk(BIOS_DEBUG, "%s resource base %08lx limit %08lx size %08lx flags<br>
> %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<br>
> 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.<br>
> Is there a limit to the number of arguments you can pass to printk?<br>
><br>
<br>
</div></div>From a quick glance, this looks strange. Is this v2 or v3?</blockquote><div><br>v3<br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 I don't trust<br>
the v3 printk at the moment because I've not reviewed r921 yet.</blockquote><div> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

Oh, and please be aware that any multicore/multiprocessor machine in v3<br>
is completely BROKEN right now and has been that way for months. (Yes, I<br>
have a fix in the queue. Remind me in a few days.)</blockquote><div><br>single core, single processor.<br><br>Thanks,<br>Myles </div></div><br></div>