FreeBSD 5.2.1 hangs on boot with acpi disabled

From: Alex Hoff <ahoff_at_sandvine.com>
Date: Mon, 5 Jul 2004 17:32:55 -0400
A fellow colleague posted a message on the same topic (see
http://lists.freebsd.org/pipermail/freebsd-current/2004-March/023045.html),
and I have spent some time investigating the same problem. In response to
the original post, yes the machine boots fine with acpi enabled. 

I have traced the hang to one particular function : isa_probe_children. In
this function it attempts a bus probe, then attempts to retrieve a pointer
array to all the device's children. The children's device names (when
booting with no acpi) are shown below: 
Note the names are retrieved using this function device_get_nameunit(child)

isa_probe_children = 0 orm0
isa_probe_children = 1 pmtimer0
isa_probe_children = 2 adv0
.....
isa_probe_children = 24 vt0
and 
isa_probe_children = 25 (null)
...
isa_probe_children = 42 (null)
When acpi IS enabled, 25-42 disappear.

The function continues through the first 2 for loops and goes to the for
loop under this line printf("isa_probe_children: probing PnP devices\n");
Now devices 0-25 satisfy the following condition
if (!TAILQ_FIRST(&idev->id_configs))
			continue;
and the rest of the devices try have resources assigned to them. This is
where the problem occurs, in that the pointers and requested resources by
the children are all incorrect (ie negative memory requests). Thus the
allocate memory function loops forever. A quick "hackish" work around was to
skip over the devices that requested to have resources assigned to them. 

Now my question is, how and where do these devices (specifically on isa0)
get their children populated from? I cant seem to find that section of code.
Moving forward, I would imagine there is a bug in that code which is
incorrectly populating the isa0 device struct, and thus causing the hang. 
The machine itself is a SuperMicro X5DP8 with dual Xeon 2800s with a total
of 4GB of memory. We have some other supermicro motherboards (such as
X5DPR-8G2) which do not have the same problem.

Thanks
Received on Mon Jul 05 2004 - 19:33:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:00 UTC