Find out the problem, should be typo error.
/* Now place the memory as high up as it will go */ mem2->base = resource_max(mem2); mem1->limit = mem2->base - 1; mem1->base = resource_max(mem2); ------> /* Now place the memory as high up as it will go */ mem2->base = resource_max(mem2); mem1->limit = mem2->base - 1; mem1->base = resource_max(mem1);
regards
YH -----Original Message----- From: YhLu Sent: Tuesday, October 19, 2004 2:04 PM To: Li-Ta Lo Cc: 'ebiederman@lnxi.com'; 'Ronald G. Minnich'; 'LinuxBIOS' Subject: RE: FYI: Merge in progress...
Eric,
after comment out something in
static void pci_domain_set_resources(device_t dev)
#if 0 /* Now reallocate the pci resources memory with the * highest addresses I can manage. */
It works now.
you may need to look at these lines.
Regards
YH -----Original Message----- From: Li-Ta Lo [mailto:ollie@lanl.gov] Sent: Tuesday, October 19, 2004 1:04 PM To: YhLu Cc: 'ebiederman@lnxi.com'; 'Ronald G. Minnich'; 'LinuxBIOS' Subject: RE: FYI: Merge in progress...
On Tue, 2004-10-19 at 14:02, YhLu wrote:
YhLu,
Which mainboard are you working on ? Is it some board that's already in the public tree ? If it is already in the public tree, could be commit you change so people on the list can try it.
Don't worry about broken code, every mainboard is broken in the current CVS.
Ollie
Align is not assigned and it will be used to calculate the base too.
(using
resource_max)
root mem limit=0x00febfffff, size=0x0022700000, align=28,
base=0x00d0000000
Allocating VGA resource PCI: 03:00.0 base1: a 0xd0000000 limit1: 0xfebfffff size: 0x1880000000000000 align: 0x1c00000000 base2: a 0xec000000 limit2: 0xfebfffff size: 0x06700000 align: 0x2bfc40000001a base1: b 0xf8000000 limit1: 0xf7ffffff size: 0x1880000000000000 align: 0x1c00000000 base2: b 0xf8000000 limit2: 0xfebfffff size: 0x06700000 align: 0x2bfc40000001a
-----Original Message----- From: YhLu Sent: Tuesday, October 19, 2004 12:31 PM To: YhLu; ebiederman@lnxi.com Cc: Ronald G. Minnich; Li-Ta Lo; 'LinuxBIOS' Subject: RE: FYI: Merge in progress...
strange size for prefmem of PCI_DOMAIN
root mem limit=0x00febfffff, size=0x0022700000, align=28,
base=0x00d0000000
Allocating VGA resource PCI: 03:00.0 base1: 0xf8000000 limit1: 0xf7ffffff size: 0x1880000000000000 base2: 0xf8000000 limit2: 0xfebfffff size: 0x06700000 PCI_DOMAIN: 0000 00 <- [0x0000001000 - 0x0000005fff] io PCI_DOMAIN: 0000 01 <- [0x00f8000000 - 0x01007fffff] prefmem PCI_DOMAIN: 0000 02 <- [0x00f8000000 - 0x00fe6fffff] mem
-----Original Message----- From: YhLu Sent: Tuesday, October 19, 2004 12:18 PM To: ebiederman@lnxi.com Cc: Ronald G. Minnich; Li-Ta Lo; 'LinuxBIOS' Subject: RE: FYI: Merge in progress...
Eric,
The PCI_DOMAIN has two mem resource, root calculate the mem base
correctly.
But PCI_DOMAIN get the wrong base.
root mem limit=0x00febfffff, size=0x0022700000, align=28,
base=0x00d0000000
Allocating VGA resource PCI: 03:00.0 PCI_DOMAIN: 0000 00 <- [0x0000001000 - 0x0000005fff] io PCI_DOMAIN: 0000 01 <- [0x00f8000000 - 0x01007fffff] prefmem PCI_DOMAIN: 0000 02 <- [0x00f8000000 - 0x00fe6fffff] mem
-----Original Message----- From: ebiederman@lnxi.com [mailto:ebiederman@lnxi.com] Sent: Monday, October 18, 2004 7:54 PM To: YhLu Cc: Ronald G. Minnich; Li-Ta Lo; 'LinuxBIOS' Subject: Re: FYI: Merge in progress...
YhLu YhLu@tyan.com writes:
Get more worse.
Ouch. If you can boot the board in linux please give me an lspci -vvv
I don't have enough information to even guess what is going on. I need to know what the size and limit of the resources are, so I can walk through the code and see what it would do.
At the moment I can't even begin to guess what is going wrong.
The obvious problem of doubly allocating a base register does not appear to apply. I am using the standard compute_allocate_resource function which should traverse the bus and do the right thing.
Unless my rewrite of the limit calculation code is causing a problem.
I just don't know where to look.
Eric _______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
_______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
YhLu YhLu@tyan.com writes:
Find out the problem, should be typo error.
/* Now place the memory as high up as it will go */ mem2->base = resource_max(mem2); mem1->limit = mem2->base - 1; mem1->base = resource_max(mem2);
------> /* Now place the memory as high up as it will go */ mem2->base = resource_max(mem2); mem1->limit = mem2->base - 1; mem1->base = resource_max(mem1);
regards
Thanks. That was a definite blind spot, on my side.
I have now committed the fix.
Eric