On Thu, Feb 14, 2008 at 6:35 PM, Tom Sylla <<a href="mailto:tsylla@gmail.com">tsylla@gmail.com</a>> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">ron minnich wrote:<br>
> On Thu, Feb 14, 2008 at 2:32 PM, Carl-Daniel Hailfinger<br>
>>  Indeed. That would solve the problem very nicely without putting hacks<br>
>>  into the dts.<br>
>><br>
><br>
> OK, so we put nodes under the 5536, and specify 'disabled', and the<br>
> 5536 code knows to actually call VSA when it sees that they are<br>
> disabled. This is nice. It would use the device tree in a sensible<br>
> way.<br>
<br>
<br>
</div>Hm, hold on. I think there is a little bit of confusion with the word<br>
"disabled" here. For a Geode VPCI device, "disabling" it means<br>
completely hiding the header from config space. If you "disable" it with<br>
VPCI, and try to do config cycles to that device, VSA will respond as if<br>
it does not exist. (returning all 1's) That behavior continues forever,<br>
unless you "enable" the device again using VSA. (you wouldn't ever do<br>
that, in general)<br>
<br>
What does "disabled" mean for a real hardware device in the dts? I am<br>
pretty sure it does not mean "hide the header" (that is not possible in<br>
general, it is a VSA-ism).<br>
<br>
What if I want the VPCI device to exist, but want it "disabled" in the<br>
normal dts sense of "disable"? Overloading "disabled" in the dts makes<br>
that not possible (and is also *really* confusing)<br>
<br>
Maybe a better idea would be to just change:<br>
<div class="Ih2E3d"><br>
/* Disable unwanted virtualized PCI devices */<br>
<br>
</div>to<br>
<br>
/* Hide headers for unwanted virtualized PCI devices */<br>
<br>
since the original words seem to have lead to this confusion.</blockquote><div><br>Keeping in mind that I'm no expert or really even informed with the v3/dts internals or Geode, but similar behavior is seen on the intel ICH-series and via vt8237r, would it work to add another option, call it "hidden", to the device status, and then another stage to v3? We'd do whatever stage scans the pci bridge to find all the devices, then whatever devices are marked hidden have whatever mechanism that hides them run, and v3 "forgets" the devices ever existed. i82801xx (ICH) in v2 already works to hide these devices, but I can't really remember how it works. This is just a general idea, I figure you guys have a much better idea then I do if it'd work/be possible or not.<br>
<br>-Corey<br></div></div>