it's working now, here's patch.
it even probes for options roms etc. We can try vga now!
Need an ack.
ron
ron minnich wrote:
This gets us to etherboot again, but this time devices are set up correctly on bus 1 --- i.e., the scan of the 8111 bridge works. It even tries to find the vga rom to run it, which we did not get before.
Signed-off-by: Ronald G. Minnich rminnich@gmail.com
If you explain the below, it's:
Acked-by: Peter Stuge peter@stuge.se
+++ southbridge/amd/amd8111/usb.c (working copy)
- .phase4_enable_disable = amd8111_enable,
Ok, enable USB.
+++ mainboard/amd/serengeti/dts (working copy) pci0@18,0 { /config/("northbridge/amd/k8/pci"); pci@0,0 {
/config/("southbridge/amd/amd8111/amd8111.dts");
/config/("southbridge/amd/amd8111/pci.dts");
pci@5,0{
/config/("southbridge/amd/amd8111/nic.dts");
}; }; pci@4,0 { /config/("southbridge/amd/amd8111/ide.dts"); };
pci@5,0 {
/config/("southbridge/amd/amd8111/nic.dts");
};};
Why treat nic and ide differently here? And what about that USB? Is it automatically added - and ide+nic needs to be explicitly listed?
+++ arch/x86/Makefile (working copy)
pci_ops_conf1.c resourcemap.c
pci_ops_conf1.c
Just cleanup? Isn't resourcemap needed because of the change or was it never needed?
//Peter
Why treat nic and ide differently here?
I can answer this one. They are on different busses. The nic hangs off the pci controller in the 8111, and IDE doesn't. You can reference the picture from the data sheet in this thread.
+++ arch/x86/Makefile (working copy)
pci_ops_conf1.c resourcemap.c
pci_ops_conf1.c
Just cleanup? Isn't resourcemap needed because of the change or was it never needed?
It just got moved to a different Makefile.
Thanks, Myles
OK, here you go, I cleaned the dts up a bit more and get: <8>dynamic PCI: 00:00.0(PCI: 00:06.0): enabled 1 have_resources 1 initialized 1 <8>dynamic PCI: 00:07.0(PCI: 00:07.0): enabled 1 have_resources 1 initialized 1 <8>dynamic PCI: 00:07.1(PCI: 00:07.1): enabled 1 have_resources 1 initialized 1 <8>dynamic PCI: 00:07.2(PCI: 00:07.2): enabled 1 have_resources 1 initialized 1 <8>dynamic PCI: 00:07.3(PCI: 00:07.3): enabled 1 have_resources 1 initialized 1 <8>dynamic PCI: 00:07.5(PCI: 00:07.5): enabled 1 have_resources 1 initialized 1 <8>dynamic PCI: 00:07.6(PCI: 00:07.6): enabled 1 have_resources 1 initialized 1 <8>dynamic PCI: 00:07.7(PCI: 00:07.7): enabled 1 have_resources 1 initialized 1 <8>dynamic PCI: 00:0a.1(PCI: 00:0a.1): enabled 1 have_resources 1 initialized 1 <8>dynamic PCI: 00:0b.0(PCI: 00:0b.0): enabled 1 have_resources 1 initialized 0 <8>dynamic PCI: 00:0b.1(PCI: 00:0b.1): enabled 1 have_resources 1 initialized 1 <8>dynamic PCI: 01:00.0(PCI: 01:00.0): enabled 1 have_resources 1 initialized 1 <8>dynamic PCI: 01:00.1(PCI: 01:00.1): enabled 1 have_resources 1 initialized 1 <8>dynamic PCI: 01:00.2(PCI: 01:00.2): enabled 1 have_resources 1 initialized 1 <8>dynamic PCI: 01:01.0(PCI: 01:01.0): enabled 1 have_resources 1 initialized 1 <8>dynamic PCI: 01:04.0(PCI: 01:04.0): enabled 1 have_resources 1 initialized 1 <8>dynamic PCI: 01:05.0(PCI: 01:05.0): enabled 1 have_resources 1 initialized 1
which exactly matches simnow.
On Thu, Oct 9, 2008 at 6:41 AM, Peter Stuge peter@stuge.se wrote:
Ok, enable USB.
I just added it in to dts and it finds both usb and usb2.
Why treat nic and ide differently here? And what about that USB? Is it automatically added - and ide+nic needs to be explicitly listed?
I now list them all.
+++ arch/x86/Makefile (working copy)
pci_ops_conf1.c resourcemap.c
pci_ops_conf1.c
Just cleanup? Isn't resourcemap needed because of the change or was it never needed?
It turns out many newer targets will not need this done in stage0, and space is limited. So mainboards that need it in stage0 will have to list it.
Committed revision 910.
And etherboot is working :-)
ron
Why treat nic and ide differently here? And what about that USB? Is it automatically added - and ide+nic needs to be explicitly listed?
I now list them all.
Very nice. Now how do we disable the 8111 nic and EHCI (like v2 does)? I'm still curious how that works.
Thanks, Myles
On Thu, Oct 9, 2008 at 8:07 AM, Myles Watson mylesgw@gmail.com wrote:
Why treat nic and ide differently here? And what about that USB? Is it automatically added - and ide+nic needs to be explicitly listed?
I now list them all.
Very nice. Now how do we disable the 8111 nic and EHCI (like v2 does)? I'm still curious how that works.
Disable for scanning or disable once it is all scanned and address space allocated?
ron
Very nice. Now how do we disable the 8111 nic and EHCI (like v2 does)?
I'm
still curious how that works.
Disable for scanning or disable once it is all scanned and address space allocated?
Good question. What did the v2 disable mean?
Thanks, Myles
On Thu, Oct 9, 2008 at 8:30 AM, Myles Watson mylesgw@gmail.com wrote:
Very nice. Now how do we disable the 8111 nic and EHCI (like v2 does)?
I'm
still curious how that works.
Disable for scanning or disable once it is all scanned and address space allocated?
Good question. What did the v2 disable mean?
so here are the cases. You might not want to scan the device, or you might want the device to actually not be visible.
make it not scanned, put enabled = "0" in dts. *possibly* make it disappear, put enabled = "0" in dts but also have a phase4_enable_disable that will look at dev->enabled and make the magic happen.
For now, you can try enabled = "0"; in the dts entry for the nic.
ron
On 09.10.2008 17:40, ron minnich wrote:
On Thu, Oct 9, 2008 at 8:30 AM, Myles Watson mylesgw@gmail.com wrote:
Very nice. Now how do we disable the 8111 nic and EHCI (like v2 does)?
I'm
still curious how that works.
Disable for scanning or disable once it is all scanned and address space allocated?
Good question. What did the v2 disable mean?
so here are the cases. You might not want to scan the device, or you might want the device to actually not be visible.
make it not scanned, put enabled = "0" in dts. *possibly* make it disappear, put enabled = "0" in dts but also have a phase4_enable_disable that will look at dev->enabled and make the magic happen.
That disappearance trick only works only with geode right now and needs disable_vpci or somesuch set in the dts. I had a patch which allowed you to use "hidden" as a property in the dts. I can dig it up if you want.
For now, you can try enabled = "0"; in the dts entry for the nic.
I thought it was disabled; but I'm not so sure anymore.
Regards, Carl-Daniel
On Thu, Oct 9, 2008 at 3:29 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
That disappearance trick only works only with geode right now and needs disable_vpci or somesuch set in the dts. I had a patch which allowed you to use "hidden" as a property in the dts. I can dig it up if you want.
there has been hardware in the past -- in v1 days in particular -- wherein a bit set in function 0 made another function disappear -- not visible in config space. It really happens ...
ron
On 10.10.2008 00:33, ron minnich wrote:
On Thu, Oct 9, 2008 at 3:29 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
That disappearance trick only works only with geode right now and needs disable_vpci or somesuch set in the dts. I had a patch which allowed you to use "hidden" as a property in the dts. I can dig it up if you want.
there has been hardware in the past -- in v1 days in particular -- wherein a bit set in function 0 made another function disappear -- not visible in config space. It really happens ...
Yes, the "works only in geode right now" was about us having only geode-specific code for disabling devices.
My ICH4 laptop can hide the SMBus device as well. Later ICH can probably do the same.
Regards, Carl-Daniel
ron minnich wrote:
On Thu, Oct 9, 2008 at 3:29 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
That disappearance trick only works only with geode right now and needs disable_vpci or somesuch set in the dts. I had a patch which allowed you to use "hidden" as a property in the dts. I can dig it up if you want.
there has been hardware in the past -- in v1 days in particular -- wherein a bit set in function 0 made another function disappear -- not visible in config space. It really happens ...
Many chipsets liek the 690.600 can do this as well. Marc
On Thu, Oct 9, 2008 at 6:58 PM, Marc Jones marc.jones@amd.com wrote:
ron minnich wrote:
On Thu, Oct 9, 2008 at 3:29 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
That disappearance trick only works only with geode right now and needs disable_vpci or somesuch set in the dts. I had a patch which allowed you to use "hidden" as a property in the dts. I can dig it up if you want.
there has been hardware in the past -- in v1 days in particular -- wherein a bit set in function 0 made another function disappear -- not visible in config space. It really happens ...
Many chipsets liek the 690.600 can do this as well. Marc
On CN700, everything but d0f0 is hidden by default, and needs to be enabled by setting a bit.
-Corey
On 10.10.2008 01:02, Corey Osgood wrote:
On Thu, Oct 9, 2008 at 6:58 PM, Marc Jones marc.jones@amd.com wrote
ron minnich wrote
On Thu, Oct 9, 2008 at 3:29 PM, Carl-Daniel Hailfinger wrote:
That disappearance trick only works only with geode right now and needs disable_vpci or somesuch set in the dts. I had a patch which allowed you to use "hidden" as a property in the dts. I can dig it up if you want.
there has been hardware in the past -- in v1 days in particular -- wherein a bit set in function 0 made another function disappear -- not visible in config space. It really happens ...
Many chipsets liek the 690.600 can do this as well. Marc
On CN700, everything but d0f0 is hidden by default, and needs to be enabled by setting a bit.
OK, you all get your "disabled" dts property. Ping me after I submit the C7 CAR for v3.
Regards, Carl-Daniel
On Thu, Oct 9, 2008 at 3:29 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
I thought it was disabled; but I'm not so sure anymore.
if (streq(prop->name, "enabled")){ enabled = 1; } if (streq(prop->name, "disabled")){ enabled = 0; }
sorry, you are right.
ron