I seee. Do you know whether it&#39;s possible to use pure acpi functions only w/o reading the conf space manually? I&#39;m just wondering how much could I acpi-ed my kernel<br><br>Hilfi Alkaff<br><br><div class="gmail_quote">
On Mon, Aug 15, 2011 at 11:42 AM, Timothy Roscoe <span dir="ltr">&lt;<a href="mailto:troscoe@inf.ethz.ch">troscoe@inf.ethz.ch</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Hilfi,<br>
<br>
We do low-level PCI reads/writes to configuration space just like<br>
everyone else does - the only difference is the use of the Mackerel<br>
DSL to specify register formats.  pci_hdr1.dev is a Mackerel<br>
specification of the PCI type 1 (bridge) header; the format is<br>
documented in the Mackerel manual (Technical note #2).   If you read<br>
that documentation, plus the pci_hdr1.dev file, you&#39;ll see that<br>
pci_hdr1_vendor_id_rd() is the function to read the vendor id field of<br>
a PCI config header.<br>
<br>
 -- Mothy<br>
<div><div></div><div class="h5"><br>
At Mon, 15 Aug 2011 11:03:41 -0700, hilfi alkaff &lt;<a href="mailto:hilfialkaff@berkeley.edu">hilfialkaff@berkeley.edu</a>&gt; wrote:<br>
&gt; Hi,<br>
&gt;<br>
&gt; I have some follow up questions regarding the same topic. how do you guys<br>
&gt; read the device ID, vendor ID of the pci? I see this function<br>
&gt; pci_hdr1_vendor_id_rd() but I don&#39;t really understand about the .dev file<br>
&gt; format. Do you guys read from the pci conf headers or using acpi commands?<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Hilfi Alkaff<br>
&gt;<br>
&gt; On Thu, Aug 4, 2011 at 5:01 PM, hilfi alkaff &lt;<a href="mailto:hilfialkaff@berkeley.edu">hilfialkaff@berkeley.edu</a>&gt;wrote:<br>
&gt;<br>
&gt; &gt; Oh, of course, how I did not realize that, &gt;.&lt;,, Thanks!<br>
&gt; &gt;<br>
&gt; &gt; Hilfi Alkaff<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On Thu, Aug 4, 2011 at 4:16 PM, Baumann Andrew &lt;<a href="mailto:andrewb@inf.ethz.ch">andrewb@inf.ethz.ch</a>&gt;wrote:<br>
&gt; &gt;<br>
&gt; &gt;&gt;  Hi,****<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; ** **<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; I’m not sure what you mean by this, since pci_add_root() is a function in<br>
&gt; &gt;&gt; Barrelfish and not ACPICA, but the general answer to your question is<br>
&gt; &gt;&gt; probably that you can’t use the ACPICA reference in isolation: you also need<br>
&gt; &gt;&gt; to grok parts of the PCI spec (or just the bad Mindshare books), the ACPI<br>
&gt; &gt;&gt; spec, the PNPBIOS spec (mainly just for the device IDs), and if in doubt<br>
&gt; &gt;&gt; also the source code to something clean like FreeBSD to make sense of it<br>
&gt; &gt;&gt; all.****<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; ** **<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Good luck :)****<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; ** **<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Andrew****<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; ** **<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; *From:* hilfi alkaff [mailto:<a href="mailto:hilfialkaff@berkeley.edu">hilfialkaff@berkeley.edu</a>]<br>
&gt; &gt;&gt; *Sent:* Thursday, 04 August, 2011 15:47<br>
&gt; &gt;&gt; *To:* <a href="mailto:barrelfish-users@lists.inf.ethz.ch">barrelfish-users@lists.inf.ethz.ch</a><br>
&gt; &gt;&gt; *Subject:* [Barrelfish-users] Details regarding pci support with acpi****<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; ** **<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Hi,<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; I&#39;m an undergraduate currently working on a research operating system and<br>
&gt; &gt;&gt; I&#39;m having problems when initializing pci and mapping its interrupts with<br>
&gt; &gt;&gt; ACPI. I&#39;m wondering how do you guys figure out the pci_add_root() function<br>
&gt; &gt;&gt; because I could not find any meaningful details in Intel&#39;s acpica reference.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Thanks,<br>
</div></div>&gt; &gt;&gt; Hilfi Alkaff****<br>
&gt; &gt;&gt;<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt;<br>
</blockquote></div><br>