[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 2.6.11-cvs and kbd



On Tue, 3 May 2005, Geert Uytterhoeven wrote:

> On Tue, 3 May 2005, Haakon Innerdal wrote:
> > Is anyone working on getting local kbd working?
> 
> Last time I tried, it worked fine. That's was on 2.6.8.1, though.
>
Ok, I was wondering if it was a known bug or something... hmm... I also 
seems to get the bug on the debian patched 2.6.8-4 sources (had to 
recompile with "Use one physical chunk of memory only" to get it to 
work tough...)
 
> > I get 
> > drivers/char/keyboard.c:1007: warning: #warning "Cannot generate rawmode
> > keyboard for your architecture yet."
> 
> Just a warning.
>
Ah. :-)
 
> > and a kernel oops in keyboard.c kbd_keycode() when pressing any key.
> > 
> > more specifically, in kbd_keycode:
> > 
> >         keysym = key_map[keycode];
> > 
> > fails, key_map isnt quite sane...
> 
> Hmmm....
>
Got some more info:
I've added some printk's in the kbd_keycode function...

When booting, it seems that the kbd_keycode() function is returning fine.
With booting, I mean, I can type on the keyboard from the point of 
initrc, my printk's shows that it gets values from the kbd, and the function 
returns, but as soon as I get to the point when booting is finished, as in 
singleuser boot when it waits for the root passwd, 
_then_ oopses are coming up when typing, and the system hangs, though it 
continues to responce with oopses on each keypress and release.

I have printk's before and after abovementioned line
> >         keysym = key_map[keycode];
when oopses are occuring: I only see the printk _before_ this line, 

I'll attach dmesg output at the end of this mail.

I have no problems with 2.4.27. So it was kinda strange. It seems that 
"everything else" works (I can safely work through ssh, as long as I dont 
touch the kbd on the amiga, but havent tested it very hard...)
 
(the same oopses are on 2.6.8, but I havent tested that extensively)
> > This is current code from:
> > :pserver:anon@linux-m68k-cvs.ubb.ca:/home/linux-m68k/cvsroot
> > on a 68060 A4000.
> 
> Then please CC linux-m68k. The Debian list is for Debian-specific issues.
>
Sorry about that! note that it occurs on debian -sources 2.6.8, and 
I moved onto latest cvs to just check if it was happening there also. 

I really dont know where to start debugging this, but since there seems to 
several others that have working 2.6.x -kernels, this may be something 
special (faulty?) about my system, my mainboard is stamped with "A4000cc 
Rev D", and I have been told that it was one of the latest revisions 
before the A4000 (and commodore) folded, and not so very common in the 
market... but that is probably totally irrelevant. I'll continue debugging 
and see if I can find out more... but as I'm no kernel expert, I'm just 
fumbling in the dark here... hoping if anybody has some advice...


Okay: dmesg output:
Theese lines are my own:
--
keyboard.c: keycode=30, shift_final=0 ;
keyboard.c: done
--
just before, and just after the now famous:
         keysym = key_map[keycode];

I'm typing 'b' (hex=30) on the keyboard several times, first, while in 
initrc, when oopses occurs, the prompt waits on root password for 
singleuser, sorry for not having the complete console output, only kernel 
messages..

>>>>>>>>>>>>>>>>>>>>
Linux version 2.6.11-m68k (root@kvark) (gcc version 2.95.3 20010315 (release)) #9 Tue May 3 20:00:13 CEST 2005
Ignoring last 1 chunks of physical memory
Enabling workaround for errata I14
Amiga hardware found: [A4000] VIDEO BLITTER AUDIO FLOPPY A4000_IDE KEYBOARD MOUSE SERIAL PARALLEL A3000_CLK CHIP_RAM PAULA LISA ALICE_PAL ZORRO3 
Built 1 zonelists
Kernel command line: root=/dev/hda9 video=amifb:pal debug=mem ro single
PID hash table entries: 512 (order: 9, 8192 bytes)
Console: colour dummy device 80x25
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 74256k/77824k available (2048k kernel code, 1336k data, 88k init)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
NET: Registered protocol family 16
Zorro: Probing AutoConfig expansion devices: 2 devices
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
NTFS driver 2.1.22 [Flags: R/O].
Initializing Cryptographic API
Console: switching to colour frame buffer device 80x32
fb0: Amiga AGA frame buffer device, using 1280K of video memory
Amiga-builtin serial driver version 4.30
ttyS0 is the amiga builtin serial port
Generic RTC Driver v1.07
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered
loop: loaded (max 8 devices)
eth0: Hydra at 0x00e90000, address ae:55:53:00:15:fb (hydra.c v3.0alpha)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
ide0: Gayle IDE interface (A4000 style)
hda: WDC WD136AA, ATA DISK drive
hdb: CREATIVE DVD-ROM DVD1241E, ATAPI CD/DVD-ROM drive
ide0 at 0x80dd2020 on irq 12
hda: max request size: 128KiB
hda: 26564832 sectors (13601 MB) w/2048KiB Cache, CHS=26354/16/63
 hda: RDSK (512) hda1 (DOS^E)(res 2 spb 1) hda2 (NBR^G)(res 0 spb 2) hda3 (NBS^A)(res 0 spb 2) hda4 (NBU^G)(res 0 spb 2) hda5 (NBU^G)(res 0 spb 2) hda6 (DOS^E)(res 2 spb 1) hda7 (DOS^E)(res 2 spb 1) hda8 (SWP^@)(res 2 spb 1) hda9 (LNX^@)(res 2 spb 1) hda10 (LNX^@)(res 2 spb 1)
hdb: ATAPI 40X DVD-ROM drive, 512kB Cache
Uniform CD-ROM driver Revision: 3.20
mice: PS/2 mouse device common for all mice
input: Amiga keyboard
input: Amiga mouse at joy0dat
Amiga DMA sound driver rev 016 installed
Core driver edition 01.06 : AMIGA driver edition 00.04
Write will use    4 fragments of   32768 bytes as default
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
SCTP: Hash tables configured (established 2048 bind 2048)
VFS: Mounted root (ext2 filesystem) readonly.
Warning: unable to open an initial console.
version 0 swap is no longer supported. Use mkswap -v1 /dev/hda8
keyboard.c: keycode=30, shift_final=0 ;
keyboard.c: done
keyboard.c: keycode=30, shift_final=0 ;
keyboard.c: done
AFFS: Dircache FS - mounting hda7 read only
kjournald starting.  Commit interval 5 seconds
EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
EXT3 FS on hda10, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
version 0 swap is no longer supported. Use mkswap -v1 /dev/hda8
keyboard.c: keycode=30, shift_final=0 ;
keyboard.c: done
keyboard.c: keycode=30, shift_final=0 ;
keyboard.c: done
nfs warning: mount version older than kernel
keyboard.c: keycode=30, shift_final=0 ;
Unable to handle kernel access at virtual address f20061a8
Oops: 00000000
PC: [<00112ab4>] kbd_keycode+0x286/0x350

SR: 2200  SP: 00283e80  a2: 00201fa4
d0: 00000039    d1: 0000168e    d2: 0025fa40    d3: 00000000
d4: 00000000    d5: 00000001    a0: 801dc000    a1: 00202c0c
Process swapper (pid: 0, stackpage=00202fa4)
Stack from 00283e80:
        0000168e 0025fa40 00000000 00000000 00000001 801dc000 00202c0c 00201fa4
        00000039 ffffffff 00000000 22000011 2ab44008 f20061a8 01451000 001e738f
        00000030 00000000 001e7377 00000004 0025fa40 00000001 00000030 00000001
        00283fac 0000ffff 0489ba60 0025f408 00202a00 002029f8 00112ba2 00000030
        00000001 00000000 00283fac 001436ec 0489ba60 00000001 00000030 00000001
        00000030 00000011 00000003 0802cb01 002405e4 002029e0 00202a00 00145358
Call Trace: [<0000725e>] cia_handler+0x58/0x80
 [<001452a0>] amikbd_interrupt+0x0/0xf8
 [<00004350>] sys_ptrace+0x38e/0x42c
 [<00014c78>] _060_isp_cas_restart+0x11c/0x1908
 [<001b4cf6>] schedule+0x0/0x35c
 [<0000320a>] process_int+0x42/0x70
 [<000022dc>] inthandler+0x2a/0x2c
 [<00004350>] sys_ptrace+0x38e/0x42c
 [<00002448>] default_idle+0x0/0xe
 [<00002468>] cpu_idle+0x12/0x1e
 [<0001983c>] printk+0x0/0x18
 [<00002022>] rest_init+0x1a/0x1e
 [<0026cef6>] start_kernel+0x162/0x16a
 [<0026c2fc>] __start+0x2fc/0x988

Kernel panic - not syncing: Aiee, killing interrupt handler!
 <4>keyboard.c: keycode=30, shift_final=0 ;
Unable to handle kernel access at virtual address f20061a8
Oops: 00000000
PC: [<00112ab4>] kbd_keycode+0x286/0x350

SR: 2200  SP: 00283bf0  a2: 00201fa4
d0: 00000039    d1: 00001d61    d2: 0025fa40    d3: 00000000
d4: 00000000    d5: 00000001    a0: 801dc000    a1: 00202c0c
Process swapper (pid: 0, stackpage=00202fa4)
Stack from 00283bf0:
        00001d61 0025fa40 00000000 00000000 00000001 801dc000 00202c0c 00201fa4
        00000039 ffffffff 00000000 22000011 2ab44008 f20061a8 01451000 001e738f
        00000030 00000000 001e7377 00000004 0025fa40 00000000 00000030 00000001
        00283d1c 00000001 0489ba60 0025f408 00202a00 002029f8 00112ba2 00000030
        00000000 00000000 00283d1c 001436ec 0489ba60 00000001 00000030 00000000
        00000030 00000011 00000003 00000001 002405e4 002029e0 00202a00 00145358
Call Trace: [<0000725e>] cia_handler+0x58/0x80
 [<001452a0>] amikbd_interrupt+0x0/0xf8
 [<000f5304>] bust_spinlocks+0x0/0x44
 [<0001983c>] printk+0x0/0x18
 [<0000320a>] process_int+0x42/0x70
 [<000022dc>] inthandler+0x2a/0x2c
 [<000190ac>] no_blink+0x0/0x6
 [<00008b6b>] _060_fpsp_effadd+0x15d7/0xd518
 [<0001983c>] printk+0x0/0x18
 [<0001b046>] do_exit+0x22/0x218
 [<001c2ca6>] sine_data+0x77e/0x3b88
 [<0001983c>] printk+0x0/0x18
 [<00002ffc>] die_if_kernel+0xe0/0xe6
 [<000051e2>] send_fault_sig+0xde/0xf4
 [<001c1854>] frame_extra_sizes+0x840/0x11f3
 [<001c183c>] frame_extra_sizes+0x828/0x11f3
 [<00005378>] do_page_fault+0x180/0x188
 [<0000292e>] buserr_c+0x8c/0x110
 [<0001983c>] printk+0x0/0x18
 [<0000214a>] buserr+0x1e/0x28
 [<0000168e>] _stext+0x68e/0x1000
 [<001e738f>] NR_TYPES+0x1e7/0x2206
 [<001e7377>] NR_TYPES+0x1cf/0x2206
 [<0000ffff>] _060_fpsp_effadd+0x8a6b/0xd518
 [<00112ba2>] kbd_event+0x24/0x5a
 [<001436ec>] input_event+0x310/0x328
 [<00145358>] amikbd_interrupt+0xb8/0xf8
 [<0000725e>] cia_handler+0x58/0x80
 [<001452a0>] amikbd_interrupt+0x0/0xf8
 [<00004350>] sys_ptrace+0x38e/0x42c
 [<00014c78>] _060_isp_cas_restart+0x11c/0x1908
 [<001b4cf6>] schedule+0x0/0x35c
 [<0000320a>] process_int+0x42/0x70
 [<000022dc>] inthandler+0x2a/0x2c
 [<00004350>] sys_ptrace+0x38e/0x42c
 [<00002448>] default_idle+0x0/0xe
 [<00002468>] cpu_idle+0x12/0x1e
 [<0001983c>] printk+0x0/0x18
 [<00002022>] rest_init+0x1a/0x1e
 [<0026cef6>] start_kernel+0x162/0x16a
 [<0026c2fc>] __start+0x2fc/0x988

... etc ... 

<<<<<<<<<<<<<<<<<<<<


Hope all this stuff makes sense. 

Perhaps someone can provide me a kernel-image that works for them, and see 
how it works on my system? (with one phys. mem chunk option)?

Kind regards, Haakon



Reply to: