VERSION:
XFree86 4.2.1
VIDEO DRIVER:
i810(i830)
OPERATING SYSTEM:
FreeBSD 5.0 RC2
VIDEO CARD:
MODEL:
i830m
GRAPHICS CHIPSET:
RAMDAC:
CLOCKCHIP:
VIDEO MEMORY:
BUS TYPE:
REPORT:
using following Device-Section in XF86Config
Section "Device"
Identifier "TB80"
Driver "i810"
Chipset "i830M"
EndSection
XFree86 dumps core
in xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
These problems are caused by insufficient varible initialization.
sample fix follows
Index ./xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c
- --- ./xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c-ORIG Wed Jan 9
03:59:29 2002
+++ ./xc/programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c Thu Jan 9 22:56:36
+2003
@@ -602,6 +602,11 @@
/* Process the options */
xf86CollectOptions (pScrn,NULL);
xf86ProcessOptions (pScrn->scrnIndex,pScrn->options,I830BIOSOptions);
+ /* XXXX---- */
+ if (!(pI810->Options = xalloc(sizeof(I830BIOSOptions))))
+ return FALSE;
+ memcpy(pI810->Options, I830BIOSOptions, sizeof(I830BIOSOptions));
+ /* ----XXXX */
/* We have to use PIO to probe, because we haven't mapped yet */
I810SetPIOAccess (pI810);
@@ -767,7 +772,7 @@
/* Load vbe module */
if((pVbeModule = xf86LoadSubModule(pScrn, "vbe")) == NULL) return FALSE;
xf86LoaderReqSymLists(I810vbeSymbols, NULL);
- - if((pVbe = VBEInit(pVesa->pInt, pVesa->pEnt->index)) == NULL) return FALSE;
+ if((pVbe = VBEInit(pVesa->pInt, pI810->pEnt->index)) == NULL) return FALSE;
/* Load ddc module */
if((pDDCModule = xf86LoadSubModule(pScrn, "ddc")) == NULL) return FALSE;
@@ -1035,6 +1040,7 @@
while (pMode != pScrn->modes);
}
+#if 0 /* XXXX---- */
DPRINTF (PFX,
"data->block->HorizontalTotal = %lu\n"
"data->block->HorizontalSyncStart = %lu\n"
@@ -1054,6 +1060,7 @@
data->block->Flags,
data->block->PixelClock,
data->block->RefreshRate);
+#endif /* ----XXXX */
pScrn->currentMode = pScrn->modes;
@@ -2171,6 +2178,9 @@
vgaHWGetIOBase(hwp);
DPRINTF(PFX,"assert( if(!vgaHWMapMem(pScrn)) )\n");
if(!vgaHWMapMem(pScrn)) return FALSE;
+ /* XXXX---- */
+ pVesa->VGAbase = hwp->Base;
+ /* ----XXXX */
/* Handle Setup of the mode here */
DPRINTF(PFX,"assert( if(!(I830BIOSInitializeFirstMode(scrnIndex))) )\n");
_______________________________________________
XFree86 mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xfree86