Re: [XFree86] Sol/Sparc: XLUT MapSbusMem failure
On 16 Jun 2003, Mike Russo wrote: OK. Then please figure out what errno is when xf86MapSbusMem()'s call to mmap() fails. Using perror(), I found that both the fb and x32 memory regions don't map privately, but they do map shared. The xlut region does not map as either private or shared, and in each case the mmap() error number is EACCES (#13), permission denied. The Solaris 8 man page for mmap(2) mentions: The mmap() function will fail if: EACCES The fildes file descriptor is not open for read, regardless of the protection specified, or fildes is not open for write and PROT_WRITE was specified for a MAP_SHARED type mapping. Well, the same file descriptor is being used for all three regions and it is definitely being open()'ed for read write, so I don't see why the XLUT mmap() is the only one failing with EACCES. However, it seems the OS' device driver is imposing additional restrictions not documented in the mmap() man page, given FB and X32 private mmap()'s are being nixed. What do(es) the cg14 related man page(s) say? Marc. +--+---+ | Marc Aurele La France | work: 1-780-492-9310 | | Computing and Network Services | fax:1-780-492-1729 | | 352 General Services Building | email: [EMAIL PROTECTED] | | University of Alberta +---+ | Edmonton, Alberta | | | T6G 2H1 | Standard disclaimers apply| | CANADA | | +--+---+ XFree86 Core Team member. ATI driver and X server internals. ___ XFree86 mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xfree86
Re: [XFree86] Sol/Sparc: XLUT MapSbusMem failure
Using perror(), I found that both the fb and x32 memory regions don't map privately, but they do map shared. The xlut region does not map as either private or shared, and in each case the mmap() error number is EACCES (#13), permission denied. The Solaris 8 man page for mmap(2) mentions: The mmap() function will fail if: EACCES The fildes file descriptor is not open for read, regardless of the protection specified, or fildes is not open for write and PROT_WRITE was specified for a MAP_SHARED type mapping. I am running as root for now, perhaps I don't have enough memory? I have 4MB of video memory, if the X server will only run in 32bpp mode it might not be enough. I'll keep updating from CVS and checking out new builds (this test was done with 4.3.99.6). Thanks!!! On Thu, 2003-06-12 at 10:50, Marc Aurele La France wrote: OK. Then please figure out what errno is when xf86MapSbusMem()'s call to mmap() fails. Thanks. Marc. ___ XFree86 mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xfree86 -- Mike Russo [EMAIL PROTECTED] ReadQ Systems, Inc. ___ XFree86 mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xfree86
Re: [XFree86] Sol/Sparc: XLUT MapSbusMem failure
On 11 Jun 2003, Mike Russo wrote: This is a question for anyone who knows anything about the SPARC port :-) I compiled and configured v4.3.0 under Solaris 8/gcc 3.2.2 for a SS-20 with an SX/CG14 fb, but kept receiving AddScreen/ScreenInit failed for driver 0. This inspired me to put some debugging messages in /usr/src/xc/programs/Xserver/hw/xfree86/drivers/suncg14/cg14_driver.c before all the places where it can return FALSE. Consequently, I found that it dies when it is trying to map the XLUT region of memory: pCg14-xlut = xf86MapSbusMem (pCg14-psdp, CG14_XLUT_VOFF, 4096); then I check all the pointers and write a message using xf86DrvMsg(): if (!pCg14-fb) xf86DrvMsg(pScrn-scrnIndex,X_WARNING,pCg14-fb null); if (!pCg14-x32) xf86DrvMsg(pScrn-scrnIndex,X_WARNING,pCg14-x32 null); if (!pCg14-xlut) xf86DrvMsg(pScrn-scrnIndex,X_WARNING,pCg14-xlut null); In my output logfile, I see the message xlut null before the inevitable failure. I have tried to get in contact with Dave Miller or Jakub at RedHat, but they have not responded. Just throwing it out there in case someone knows, because Sun's X server just blows. :-( This looks like a page size issue. Please try the attached (or update from CVS). Thanks for reporting the problem. Unfortunately this patch produces the same effect. (After patching, I removed Sbus.o and re-ran make Everything.) xf86MapSbuMem still fails to map the XLUT region of memory. But thank you boatloads for trying. if you would like to me to try anything else, let me know (it's not important and I will be trying to next release). OK. Then please figure out what errno is when xf86MapSbusMem()'s call to mmap() fails. Thanks. Marc. +--+---+ | Marc Aurele La France | work: 1-780-492-9310 | | Computing and Network Services | fax:1-780-492-1729 | | 352 General Services Building | email: [EMAIL PROTECTED] | | University of Alberta +---+ | Edmonton, Alberta | | | T6G 2H1 | Standard disclaimers apply| | CANADA | | +--+---+ XFree86 Core Team member. ATI driver and X server internals. ___ XFree86 mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xfree86
Re: [XFree86] Sol/Sparc: XLUT MapSbusMem failure
Unfortunately this patch produces the same effect. (After patching, I removed Sbus.o and re-ran make Everything.) xf86MapSbuMem still fails to map the XLUT region of memory. But thank you boatloads for trying. if you would like to me to try anything else, let me know (it's not important and I will be trying to next release). thanks again, mike On Tue, 2003-06-10 at 16:50, Marc Aurele La France wrote: On 3 Jun 2003, Mike Russo wrote: This is a question for anyone who knows anything about the SPARC port :-) I compiled and configured v4.3.0 under Solaris 8/gcc 3.2.2 for a SS-20 with an SX/CG14 fb, but kept receiving AddScreen/ScreenInit failed for driver 0. This inspired me to put some debugging messages in /usr/src/xc/programs/Xserver/hw/xfree86/drivers/suncg14/cg14_driver.c before all the places where it can return FALSE. Consequently, I found that it dies when it is trying to map the XLUT region of memory: pCg14-xlut = xf86MapSbusMem (pCg14-psdp, CG14_XLUT_VOFF, 4096); then I check all the pointers and write a message using xf86DrvMsg(): if (!pCg14-fb) xf86DrvMsg(pScrn-scrnIndex,X_WARNING,pCg14-fb null); if (!pCg14-x32) xf86DrvMsg(pScrn-scrnIndex,X_WARNING,pCg14-x32 null); if (!pCg14-xlut) xf86DrvMsg(pScrn-scrnIndex,X_WARNING,pCg14-xlut null); In my output logfile, I see the message xlut null before the inevitable failure. I have tried to get in contact with Dave Miller or Jakub at RedHat, but they have not responded. Just throwing it out there in case someone knows, because Sun's X server just blows. :-( This looks like a page size issue. Please try the attached (or update from CVS). Thanks for reporting the problem. Marc. +--+---+ | Marc Aurele La France | work: 1-780-492-9310 | | Computing and Network Services | fax:1-780-492-1729 | | 352 General Services Building | email: [EMAIL PROTECTED] | | University of Alberta +---+ | Edmonton, Alberta | | | T6G 2H1 | Standard disclaimers apply| | CANADA | | +--+---+ XFree86 Core Team member. ATI driver and X server internals. -- Mike Russo [EMAIL PROTECTED] ReadQ Systems, Inc. ___ XFree86 mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xfree86
Re: [XFree86] Sol/Sparc: XLUT MapSbusMem failure
On 3 Jun 2003, Mike Russo wrote: This is a question for anyone who knows anything about the SPARC port :-) I compiled and configured v4.3.0 under Solaris 8/gcc 3.2.2 for a SS-20 with an SX/CG14 fb, but kept receiving AddScreen/ScreenInit failed for driver 0. This inspired me to put some debugging messages in /usr/src/xc/programs/Xserver/hw/xfree86/drivers/suncg14/cg14_driver.c before all the places where it can return FALSE. Consequently, I found that it dies when it is trying to map the XLUT region of memory: pCg14-xlut = xf86MapSbusMem (pCg14-psdp, CG14_XLUT_VOFF, 4096); then I check all the pointers and write a message using xf86DrvMsg(): if (!pCg14-fb) xf86DrvMsg(pScrn-scrnIndex,X_WARNING,pCg14-fb null); if (!pCg14-x32) xf86DrvMsg(pScrn-scrnIndex,X_WARNING,pCg14-x32 null); if (!pCg14-xlut) xf86DrvMsg(pScrn-scrnIndex,X_WARNING,pCg14-xlut null); In my output logfile, I see the message xlut null before the inevitable failure. I have tried to get in contact with Dave Miller or Jakub at RedHat, but they have not responded. Just throwing it out there in case someone knows, because Sun's X server just blows. :-( This looks like a page size issue. Please try the attached (or update from CVS). Thanks for reporting the problem. Marc. +--+---+ | Marc Aurele La France | work: 1-780-492-9310 | | Computing and Network Services | fax:1-780-492-1729 | | 352 General Services Building | email: [EMAIL PROTECTED] | | University of Alberta +---+ | Edmonton, Alberta | | | T6G 2H1 | Standard disclaimers apply| | CANADA | | +--+---+ XFree86 Core Team member. ATI driver and X server internals. sbus.diff.gz Description: Binary data