General frame buffer questions (for NS9360)
From: Terence Soh <hidden>
Date: 2005-07-25 22:26:23
Hi,
I am modifying FSForth GPL fb driver for 8-bit STN displays and ran into
segmentation fault running arm konqueror embedded. The strace records are
shmget(1829502980, 32768, IPC_CREAT|0600) = 0
shmat(0, 0, 0) = 0x407d9000
brk(0) = 0x2fe000
brk(0x2ff000) = 0x2ff000
open("/dev/fb0", O_RDWR) = 4
ioctl(4, FBIOGET_FSCREENINFO, 0xbefff9a0) = 0
ioctl(4, FBIOGET_VSCREENINFO, 0xbefff900) = 0
old_mmap(NULL, 76800, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0) = 0x407e1000
ioctl(4, FBIOGETCMAP, 0x2fe270) = -1 EINVAL (Invalid argument)
open("/dev/console", O_WRONLY) = 5
write(5, "\33[9;0]\33[?33l\33[?25l\0", 19) = 19
close(5) = 0
open("/dev/tty", O_WRONLY) = -1 ENXIO (No such device or
address)
open("/dev/tty0", O_WRONLY) = 5
write(5, "\33[9;0]\33[?33l\33[?25l\0", 19) = 19
close(5) = 0
ioctl(4, FBIOGET_VSCREENINFO, 0xbefff97c) = 0
ioctl(4, FBIOGET_FSCREENINFO, 0xbefff938) = 0
brk(0) = 0x2ff000
brk(0x300000) = 0x300000
ioctl(4, FBIOPUTCMAP, 0xbefff920) = 0--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
My configuration is info.fb.var.bit_per_pixel = 8 info.fb.var.red.offset = 0 info.fb.var.green.offset = 0 info.fb.var.blue.offset = 0 info.fb.var.red.length = 8 info.fb.var.green.length = 8 info.fb.var.blue.length = 8 I am assuming that the FBIOPUTCMAP ioctl is causing the sigsegv. I am also assuming that ioctl(4, FBIOPUTCMAP, 0xbefff920) would be serviced by .fb_ioctl callback but I am not getting the printk(s) in my .fb_ioctl callback on the console. What am I getting wrong? Thanks in advance, Terence.