While the changes I suggested earlier plus the hga driver allow X -configure
to create a multiheaded isa configuration, it probably isn't a surprise that it crashes
during initialization. The crash happens at the bottom of setAccess in xf86Bus.c:
/*
* If device is not under access control it is enabled.
* If it needs bus routing do it here as it isn't bus
* type specific. Any conflicts should be checked at this
* stage
*/
if (!pEnt->access->pAccess
&& (pEnt->entityProp & (state == SETUP ? NEED_VGA_ROUTED_SETUP :
NEED_VGA_ROUTED)))
((BusAccPtr)pEnt->busAcc)->set_f(pEnt->busAcc);
}
The crash happens because pEnt->busAcc is NULL for isa devices. Since pAccess
is explicitly cleared up above, the question is should there be a test for pEnt->busAcc
being NULL or should the VGA_ROUTED properties be turned off?
The code that sets the properties is in checkRoutingForScreens (also in xf86Bus.c)
and looks like this:
vga = pEnt->busAcc; pEnt->entityProp |= (state == SETUP ? NEED_VGA_ROUTED_SETUP : NEED_VGA_ROUTED); if (state == OPERATING) { if (pAcc->val.type & ResMem) pEnt->entityProp |= NEED_VGA_MEM; else pEnt->entityProp |= NEED_VGA_IO; }
Since I'm dealing with a real, pure isa machine and specifying exclusive resources, the
concept of routing sounds wrong to me. Testing vga against NULL before turning on the
VGA_ROUTED properties sounds right to me. With that test added, my server works for
vesa (orchid fahrenheit) with hga and ati (vga wonder) with hga.
Any thoughts?
Enjoy
Lee
_______________________________________________ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel