No, Top to down will more worse.
1. I thank Northbridge PCI_DEV(0, 0x18, 0)... should be initial before CPU.... 2. In tree apic cluster is after pci_domain.....
YH
-----Original Message----- From: Li-Ta Lo [mailto:ollie@lanl.gov] Sent: Thursday, January 13, 2005 7:11 PM To: YhLu Cc: Sagiv Yefet; LinuxBIOS Subject: RE: Running with VGA
On Thu, 2005-01-13 at 20:00, YhLu wrote:
I would change dev_initalize to following void dev_initialize(void) { struct device *dev;
printk_info("Initializing devices...\n");
#if CONFIG_CONSOLE_VGA == 1 for (dev = all_devices; dev; dev = dev->next) { if (dev->enabled && !dev->initialized && dev->ops && dev->ops->init) { if( dev->on_mainboard && (dev->rom_address!=0)) continue; printk_debug("%s init\n", dev_path(dev)); dev->initialized = 1; dev->ops->init(dev); } } #endif for (dev = all_devices; dev; dev = dev->next) { if (dev->enabled && !dev->initialized && dev->ops && dev->ops->init) { printk_debug("%s init\n", dev_path(dev)); dev->initialized = 1; dev->ops->init(dev); } } printk_info("Devices initialized\n"); }
If we really have to do that, I think we should change the init order to "top to down" instead of "first to last" in the device tree.
Ollie
-----Original Message----- From: YhLu Sent: Thursday, January 13, 2005 6:51 PM To: Li-Ta Lo Cc: Sagiv Yefet; LinuxBIOS Subject: RE: Running with VGA
It seems after if after cpu init do the onboard vga init, it will work.
The CPU init only do the init ECC and clear that after 1M. ... Werid! And
it
is not wiped out after power off.
YH
-----Original Message----- From: Li-Ta Lo [mailto:ollie@lanl.gov] Sent: Thursday, January 13, 2005 3:15 PM To: YhLu Cc: Sagiv Yefet; LinuxBIOS Subject: RE: Running with VGA
On Thu, 2005-01-13 at 16:23, YhLu wrote:
S2892 has onboard atirage xl S2895 has no onboard.
With exactly the same chip and BIOS? Then probably the order of calling device::init() does matter.
Ollie
-----Original Message----- From: Li-Ta Lo [mailto:ollie@lanl.gov] Sent: Thursday, January 13, 2005 3:10 PM To: YhLu Cc: Sagiv Yefet; LinuxBIOS Subject: RE: Running with VGA
On Thu, 2005-01-13 at 15:45, YhLu wrote:
No, no problem.
Same addon card (ati rage xl) (pci) on S2895 works well.
I am confused. Are you using S2895 or S2892? And is the rage xl on board or as an addon card?
Ollie
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
On Thu, 2005-01-13 at 20:26, YhLu wrote:
No, Top to down will more worse.
- I thank Northbridge PCI_DEV(0, 0x18, 0)... should be initial before
CPU.... 2. In tree apic cluster is after pci_domain.....
The northbridge .init is 0. The .init of apic initialize the CPU. So I don't think a top down dev_initialize() would make it worse.
The only problem is how do we do a non-recursive broad first tree traversal?
Ollie
YH
-----Original Message----- From: Li-Ta Lo [mailto:ollie@lanl.gov] Sent: Thursday, January 13, 2005 7:11 PM To: YhLu Cc: Sagiv Yefet; LinuxBIOS Subject: RE: Running with VGA
On Thu, 2005-01-13 at 20:00, YhLu wrote:
I would change dev_initalize to following void dev_initialize(void) { struct device *dev;
printk_info("Initializing devices...\n");
#if CONFIG_CONSOLE_VGA == 1 for (dev = all_devices; dev; dev = dev->next) { if (dev->enabled && !dev->initialized && dev->ops && dev->ops->init) { if( dev->on_mainboard && (dev->rom_address!=0)) continue; printk_debug("%s init\n", dev_path(dev)); dev->initialized = 1; dev->ops->init(dev); } } #endif for (dev = all_devices; dev; dev = dev->next) { if (dev->enabled && !dev->initialized && dev->ops && dev->ops->init) { printk_debug("%s init\n", dev_path(dev)); dev->initialized = 1; dev->ops->init(dev); } } printk_info("Devices initialized\n"); }
If we really have to do that, I think we should change the init order to "top to down" instead of "first to last" in the device tree.
Ollie
-----Original Message----- From: YhLu Sent: Thursday, January 13, 2005 6:51 PM To: Li-Ta Lo Cc: Sagiv Yefet; LinuxBIOS Subject: RE: Running with VGA
It seems after if after cpu init do the onboard vga init, it will work.
The CPU init only do the init ECC and clear that after 1M. ... Werid! And
it
is not wiped out after power off.
YH
-----Original Message----- From: Li-Ta Lo [mailto:ollie@lanl.gov] Sent: Thursday, January 13, 2005 3:15 PM To: YhLu Cc: Sagiv Yefet; LinuxBIOS Subject: RE: Running with VGA
On Thu, 2005-01-13 at 16:23, YhLu wrote:
S2892 has onboard atirage xl S2895 has no onboard.
With exactly the same chip and BIOS? Then probably the order of calling device::init() does matter.
Ollie
-----Original Message----- From: Li-Ta Lo [mailto:ollie@lanl.gov] Sent: Thursday, January 13, 2005 3:10 PM To: YhLu Cc: Sagiv Yefet; LinuxBIOS Subject: RE: Running with VGA
On Thu, 2005-01-13 at 15:45, YhLu wrote:
No, no problem.
Same addon card (ati rage xl) (pci) on S2895 works well.
I am confused. Are you using S2895 or S2892? And is the rage xl on board or as an addon card?
Ollie
Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
On Thu, Jan 13, 2005 at 09:18:00PM -0700, Li-Ta Lo wrote:
The only problem is how do we do a non-recursive broad first tree traversal?
If recursion is the only problem and RAM is up then plain iteration and a "manual" stack could work.
//Peter