On 04.09.2008 02:59, ron minnich wrote:
btw, I'm pretty happy with how this previous patch is working. It took me about 5 mins to make the last mod and now I have this:
Could you please resend your latest patch? Thanks.
struct device dev_root = { .path = { .type = DEVICE_PATH_ROOT }, .next = &dev_cpu_0, .link = { [0] = { .dev = &dev_root, .link = 0, .children = &dev_cpu_0 }, [1] = { .dev = &dev_root, .link = 0, .children = &dev_apic_0 }, [2] = { .dev = &dev_root, .link = 0, .children = &dev_domain_0 }, }, .links = 3, .bus = &dev_root.link[0], .next = &dev_cpu_0, .ops = &default_dev_ops_root, .dtsname = "root", .enabled = 1 };
Multiple links that work. Does this work? I don't know.
I'll try to modify a qemu target for testing and report back.
I am not sure this it totally right yet, however: struct device dev_domain_0 = { .path = {.type=DEVICE_PATH_PCI_DOMAIN,{.pci_domain={ .domain = 0x0 }}}, .device_configuration = &domain_0, .ops = &geodelx_north_domain, .link = { [0] = { .dev = &dev_domain_0, .link = 0, .children = &dev_pci_0_0_1_0 },
[1] = { .dev = &dev_domain_0, .link = 0, .children = &dev_pci_0_0_f_0 }, [2] = { .dev = &dev_domain_0, .link = 0, .children = &dev_pci_0_0_f_2 },
The list of links "feels" wrong. I can't yet express that feeling in technical terms, but I'll revisit this issue tomorrow. One thing would be that PCI devices are now direct children of the domain, not of the bus. That may cause problems.
}, .links = 3, .bus = &dev_root.link[2], .dtsname = "domain_0", .enabled = 1 };
Anyway, no further progess is possible on k8 until this is working as the v2 config tool did for multiple links. It's the current showstopper. So we need to solve it. I'm totally out of the loop starting, well, very soon now and for next 10 days, so those with a better idea are welcome to implement it :-)
I'll look at v2 again and try to compare.
Regards, Carl-Daniel