<div dir="ltr">Sorry for not adding a subject to this thread - realized the second after I hit send :)<div><br></div><div>I made some progress by manually adding IOAPIC #4 (assuming its address is fixed) - Linux kernel does not panic anymore and some IRQ routing started working, but there are still some issues.</div><div><br></div><div>I'm still wondering why the detection code used on other MCP-55 boards fails. </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, May 13, 2015 at 12:15 PM, Nick <span dir="ltr"><<a href="mailto:nochristrequired@gmail.com" target="_blank">nochristrequired@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>I'm looking for a little advice (or steering in the right direction) in regards to IOAPICs and how Coreboot manages detection. I have two MCP-55 chipsets just like the nVidia l1_2pvv board.</div><div><br></div><div>When I boot Linux under the <i>vendor bios</i> with apic debugging enabled, I can see that I have two IOAPICs-</div><div><br></div><div><div>[    0.000000] IOAPIC[0]: apic_id 4, version 17, address 0xfec00000, GSI 0-23</div><div>[    0.000000] IOAPIC[1]: apic_id 5, version 17, address 0xb0400000, GSI 24-47</div></div><div><br></div><div>And, when I boot using Coreboot<i>,</i> I have only one-</div><div><br></div><div>[    0.000000] IOAPIC[0]: apic_id 5, version 17, address 0xf4340000, GSI 0-23<br></div><div><br></div><div>Now, I'm sure this output is coming from the MP Table which Linux is reading back.</div><div><br></div><div>In mptable.c a lot of the MCP-55 boards share this detection code for building the MP Table. Mine will only enter the if statement for bus_mcp55b.</div><div><br></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div><font size="1">get_bus_conf();</font></div></div><div><div><font size="1">sbdn = sysconf.sbdn;</font></div></div><div><div><font size="1">m = sysconf.mb;</font></div></div></blockquote><div><font size="1"><br></font></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div><font size="1">dev = dev_find_slot(m->bus_mcp55, PCI_DEVFN(sbdn+ 0x1,0));</font></div></div><div><div><font size="1"><span style="white-space:pre-wrap">           </span>if (dev) {</font></div></div><div><div><font size="1"><span style="white-space:pre-wrap">                    </span>res = find_resource(dev, PCI_BASE_ADDRESS_1);</font></div></div><div><div><font size="1"><span style="white-space:pre-wrap">                 </span>if (res)</font></div></div><div><div><font size="1"><span style="white-space:pre-wrap">                              </span>smp_write_ioapic(mc, m->apicid_mcp55, 0x11, res->base);</font></div></div></blockquote><div><font size="1"><br></font></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div><font size="1">if (m->bus_mcp55b) {</font></div></div><div><div><font size="1"><span style="white-space:pre-wrap">            </span>dev = dev_find_slot(m->bus_mcp55b, PCI_DEVFN(m->sbdnb + 0x1,0));</font></div></div><div><div><font size="1"><span style="white-space:pre-wrap">                </span>if (dev) {</font></div></div><div><div><font size="1"><span style="white-space:pre-wrap">                    </span>res = find_resource(dev, PCI_BASE_ADDRESS_1);</font></div></div><div><div><font size="1"><span style="white-space:pre-wrap">                 </span>if (res)</font></div></div><div><div><font size="1"><span style="white-space:pre-wrap">                              </span>smp_write_ioapic(mc, m->apicid_mcp55b, 0x11, res->base);</font></div></div><div><br></div></blockquote>So, my question is - what is responsible for detecting the IOAPICs? Is there some configuration somewhere which I may be missing? Any tips for where to look?<div><br></div><div>Here's a full output from Coreboot and the Linux kernel(apic=debug show_lapic=all): <i><a href="http://pastebin.com/PMVtt6hU" target="_blank">http://pastebin.com/PMVtt6hU</a></i></div><div><br></div><div>Here's Linux kernel output from the vendor bios:<i> <a href="http://pastebin.com/VscyMxM2" target="_blank">http://pastebin.com/VscyMxM2</a></i> (MPTable @ line 110.)</div><div><br></div><div>Thanks in advance!</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-Nick</div><div><br></div><div><br></div></font></span></div>
<br>--<br>
coreboot mailing list: <a href="mailto:coreboot@coreboot.org">coreboot@coreboot.org</a><br>
<a href="http://www.coreboot.org/mailman/listinfo/coreboot" target="_blank">http://www.coreboot.org/mailman/listinfo/coreboot</a><br></blockquote></div><br></div>