Crash on Cobalt with CONFIG_SERIO=y
Subsystems (2)
I get the following crash on Cobalt when CONFIG_SERIO=y is set. I realize that this option is not really necessary on Cobalt but the kernel should neverless not crash if it is enabled.
Activating ISA DMA hang workarounds.
rtc: Digital UNIX epoch (1952) detected
Real Time Clock Driver v1.12a
Cobalt LCD Driver v2.10
i8042.c: i8042 controller self test timeout.
Unhandled kernel unaligned access[#1]:
Cpu 0
$ 0 : 0000000000000000 ffffffff940044e0 996bffffff4093b8 0000000000000000
$ 4 : ffffffff8026a280 ffffffffdc620028 0000000000000000 996bffffff409398
$ 8 : 980000000032c000 980000000032fdc0 0000000000000000 ffffffff80300000
$12 : ffffffff940044e0 000000001000001e ffffffff802a0000 ffffffff80300000
$16 : 980000000032fdc0 ffffffff802a2408 0000000000000000 ffffffff80310000
$20 : ffffffff802b0000 ffffffff802a0000 ffffffff802a0000 ffffffff80280000
$24 : ffffffff80310000 ffffffff802b0000
$28 : 980000000032c000 980000000032fd90 ffffffff80270000 ffffffff8008236c
Hi : 000000000000007b
Lo : e76c8b43957fdc00
epc : ffffffff80089a58 do_ade+0x398/0x4a0 Not tainted
ra : ffffffff8008236c handle_adel_int+0x34/0x48
Status: 940044e2 KX SX UX KERNEL EXL
Cause : 00808010
BadVA : 996bffffff40939f
PrId : 000028a0
Modules linked in:
Process swapper (pid: 1, threadinfo=980000000032c000, task=9800000000331788)
Stack : ffffffff80310000 ffffffff802a2408 ffffffff940044e1 ffffffff80310000
ffffffff8008236c ffffffff80300000 0000000000000000 ffffffff940044e0
0033ffffffc01510 996bffffff409370 ffffffff80310000 9800000001000000
000000000000006f ffffffff802a23f8 000000000000006f 0000000080000000
ffffffff80300000 ffffffff80300000 ffffffff802a0000 ffffffff80300000
ffffffff802a0000 ffffffff80300000 ffffffff80310000 ffffffff802a2408
ffffffff940044e1 ffffffff80310000 ffffffff802b0000 ffffffff802a0000
ffffffff802a0000 ffffffff80280000 ffffffff80310000 ffffffff802b0000
980000000032feb8 ffffffff801bbe70 980000000032c000 980000000032fef0
ffffffff80270000 ffffffff802f3944 ffffffff940044e2 000000000000007b
...
Call Trace:
[<ffffffff8008236c>] handle_adel_int+0x34/0x48
[<ffffffff801bbe70>] i8042_command+0x1e8/0x3a8
[<ffffffff802f3944>] i8042_init+0x11c/0xac8
[<ffffffff800dc878>] kfree+0x70/0x110
[<ffffffff802f3944>] i8042_init+0x11c/0xac8
[<ffffffff801c8e70>] bus_register+0x120/0x270
[<ffffffff80080600>] init+0x158/0x448
[<ffffffff80083900>] kernel_thread_helper+0x10/0x18
[<ffffffff800838f0>] kernel_thread_helper+0x0/0x18Code: 00621824 5460ff7d de020100 <68e30007> 6ce30000 24020000 1440ffa0 00051402 08022657 Kernel panic - not syncing: Attempted to kill init!
The only difference between a broken and working kernel is:
config-working renamed from config-broken +2 -7
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.15 -# Fri Jan 20 00:24:47 2006 +# Fri Jan 20 00:30:33 2006 # CONFIG_MIPS=y
@@ -531,12 +531,7 @@ # # Hardware I/O ports # -CONFIG_SERIO=y -CONFIG_SERIO_I8042=y -CONFIG_SERIO_SERPORT=y -# CONFIG_SERIO_PCIPS2 is not set -# CONFIG_SERIO_LIBPS2 is not set -# CONFIG_SERIO_RAW is not set +# CONFIG_SERIO is not set # CONFIG_GAMEPORT is not set #
Signature · 2 lines
Martin Michlmayr http://www.cyrius.com/
Quoted 11 lines · Martin Michlmayr
I get the following crash on Cobalt when
CONFIG_SERIO=yis set. I realize that this option is not really necessary on Cobalt but the kernel should neverless not crash if it is enabled.Activating ISA DMA hang workarounds.
rtc: Digital UNIX epoch (1952) detected
Real Time Clock Driver v1.12a
Cobalt LCD Driver v2.10
i8042.c: i8042 controller self test timeout.
Unhandled kernel unaligned access[#1]:
The i8042 error message is a little surprising. The Cobalt boards afair have some sort of SuperIO chip on the board which includes PS/2 keyboard even though that has not been wired. I wonder if anybody can take a look at the board what type of SuperIO is there?
Anyway, the kernel code seems to be correct at a glance so I have to assume the PS/2 hardware really doesn't work and I propose below patch.
Ralf
arch/mips/Kconfig +5 -0
@@ -251,6 +251,7 @@ config LASAT select MIPS_GT64120 select MIPS_NILE4 select R5000_CPU_SCACHE + select SERIO_I8042 select SYS_HAS_CPU_R5000 select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
@@ -438,6 +439,7 @@ config MIPS_XXS1500 config PNX8550_V2PCI bool "Support for Philips PNX8550 based Viper2-PCI board" select PNX8550 + select SERIO_I8042 select SYS_SUPPORTS_LITTLE_ENDIAN config PNX8550_JBS
@@ -550,6 +552,7 @@ config SGI_IP22 select HW_HAS_EISA select IP22_CPU_SCACHE select IRQ_CPU + select SERIO_I8042 select SWAP_IO_SPACE select SYS_HAS_CPU_R4X00 select SYS_HAS_CPU_R5000
@@ -713,6 +716,7 @@ config SNI_RM200_PCI select HW_HAS_PCI select I8259 select ISA + select SERIO_I8042 select SYS_HAS_CPU_R4X00 select SYS_SUPPORTS_32BIT_KERNEL select SYS_SUPPORTS_64BIT_KERNEL if EXPERIMENTAL
@@ -762,6 +766,7 @@ config TOSHIBA_RBTX4938 select HW_HAS_PCI select I8259 select ISA + select SERIO_I8042 select SWAP_IO_SPACE select SYS_HAS_CPU_TX49XX select SYS_SUPPORTS_32BIT_KERNEL
arch/mips/configs/atlas_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:26 2006 +# Fri Jan 20 14:16:02 2006 # CONFIG_MIPS=y
@@ -903,7 +903,6 @@ CONFIG_MOUSE_SERIAL=m # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set CONFIG_SERIO_LIBPS2=y
arch/mips/configs/bigsur_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:27 2006 +# Fri Jan 20 14:16:03 2006 # CONFIG_MIPS=y
@@ -535,7 +535,6 @@ CONFIG_NET_SB1250_MAC=y # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/cobalt_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:27 2006 +# Fri Jan 20 14:16:05 2006 # CONFIG_MIPS=y
@@ -530,7 +530,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/db1000_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:27 2006 +# Fri Jan 20 14:16:06 2006 # CONFIG_MIPS=y
@@ -604,7 +604,6 @@ CONFIG_INPUT_EVDEV=y # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_LIBPS2 is not set CONFIG_SERIO_RAW=m
arch/mips/configs/db1100_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:27 2006 +# Fri Jan 20 14:16:07 2006 # CONFIG_MIPS=y
@@ -580,7 +580,6 @@ CONFIG_INPUT_EVDEV=y # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y CONFIG_SERIO_LIBPS2=m CONFIG_SERIO_RAW=m
arch/mips/configs/db1200_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:28 2006 +# Fri Jan 20 14:16:08 2006 # CONFIG_MIPS=y
@@ -645,7 +645,6 @@ CONFIG_INPUT_EVDEV=y # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_LIBPS2 is not set CONFIG_SERIO_RAW=y
arch/mips/configs/db1500_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:28 2006 +# Fri Jan 20 14:16:10 2006 # CONFIG_MIPS=y
@@ -671,7 +671,6 @@ CONFIG_INPUT_EVDEV=y # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/db1550_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:28 2006 +# Fri Jan 20 14:16:11 2006 # CONFIG_MIPS=y
@@ -711,7 +711,6 @@ CONFIG_INPUT_EVDEV=y # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/ddb5476_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:28 2006 +# Fri Jan 20 14:16:12 2006 # CONFIG_MIPS=y
@@ -546,7 +546,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/ddb5477_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:29 2006 +# Fri Jan 20 14:16:13 2006 # CONFIG_MIPS=y
@@ -531,7 +531,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/e55_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:29 2006 +# Fri Jan 20 14:16:15 2006 # CONFIG_MIPS=y
@@ -511,7 +511,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240 # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_LIBPS2 is not set CONFIG_SERIO_RAW=m
arch/mips/configs/ev64120_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:29 2006 +# Fri Jan 20 14:16:17 2006 # CONFIG_MIPS=y
@@ -525,7 +525,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/ev96100_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:29 2006 +# Fri Jan 20 14:16:18 2006 # CONFIG_MIPS=y
@@ -478,7 +478,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_LIBPS2 is not set CONFIG_SERIO_RAW=m
arch/mips/configs/ip27_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:30 2006 +# Fri Jan 20 14:16:20 2006 # CONFIG_MIPS=y
@@ -633,7 +633,6 @@ CONFIG_SGI_IOC3_ETH_HW_TX_CSUM=y # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set CONFIG_SERIO_LIBPS2=m
arch/mips/configs/ip32_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Thu Jan 19 14:38:42 2006 +# Fri Jan 20 14:16:21 2006 # CONFIG_MIPS=y
@@ -591,7 +591,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_MACEPS2 is not set
arch/mips/configs/it8172_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:30 2006 +# Fri Jan 20 14:16:22 2006 # CONFIG_MIPS=y
@@ -571,7 +571,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_LIBPS2 is not set CONFIG_SERIO_RAW=m
arch/mips/configs/ivr_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:31 2006 +# Fri Jan 20 14:16:24 2006 # CONFIG_MIPS=y
@@ -537,7 +537,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/jmr3927_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:31 2006 +# Fri Jan 20 14:16:28 2006 # CONFIG_MIPS=y
@@ -508,7 +508,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/malta_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:31 2006 +# Fri Jan 20 14:16:31 2006 # CONFIG_MIPS=y
@@ -938,7 +938,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/mipssim_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:32 2006 +# Fri Jan 20 14:16:32 2006 # CONFIG_MIPS=y
@@ -509,7 +509,6 @@ CONFIG_INPUT=y # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_LIBPS2 is not set # CONFIG_SERIO_RAW is not set
arch/mips/configs/mpc30x_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:32 2006 +# Fri Jan 20 14:16:33 2006 # CONFIG_MIPS=y
@@ -584,7 +584,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/ocelot_3_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:32 2006 +# Fri Jan 20 14:16:34 2006 # CONFIG_MIPS=y
@@ -650,7 +650,6 @@ CONFIG_INPUT=y # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set # CONFIG_SERIO_SERPORT is not set # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/ocelot_c_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:32 2006 +# Fri Jan 20 14:16:35 2006 # CONFIG_MIPS=y
@@ -518,7 +518,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/ocelot_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:33 2006 +# Fri Jan 20 14:16:37 2006 # CONFIG_MIPS=y
@@ -474,7 +474,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_LIBPS2 is not set CONFIG_SERIO_RAW=y
arch/mips/configs/ocelot_g_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:33 2006 +# Fri Jan 20 14:16:38 2006 # CONFIG_MIPS=y
@@ -521,7 +521,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/pb1100_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:33 2006 +# Fri Jan 20 14:16:39 2006 # CONFIG_MIPS=y
@@ -598,7 +598,6 @@ CONFIG_INPUT_EVDEV=y # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_LIBPS2 is not set CONFIG_SERIO_RAW=m
arch/mips/configs/pb1500_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:33 2006 +# Fri Jan 20 14:16:40 2006 # CONFIG_MIPS=y
@@ -707,7 +707,6 @@ CONFIG_INPUT_EVDEV=y # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/pb1550_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:34 2006 +# Fri Jan 20 14:16:41 2006 # CONFIG_MIPS=y
@@ -699,7 +699,6 @@ CONFIG_INPUT_EVDEV=y # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/pnx8550-jbs_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:34 2006 +# Fri Jan 20 14:16:43 2006 # CONFIG_MIPS=y
@@ -643,7 +643,6 @@ CONFIG_INPUT=y # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set # CONFIG_SERIO_SERPORT is not set # CONFIG_SERIO_PCIPS2 is not set CONFIG_SERIO_LIBPS2=y
arch/mips/configs/sb1250-swarm_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:35 2006 +# Fri Jan 20 14:16:48 2006 # CONFIG_MIPS=y
@@ -549,7 +549,6 @@ CONFIG_NET_SB1250_MAC=y # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_LIBPS2 is not set
arch/mips/configs/workpad_defconfig +1 -2
@@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: -# Wed Jan 11 17:48:36 2006 +# Fri Jan 20 14:16:53 2006 # CONFIG_MIPS=y
@@ -536,7 +536,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # Hardware I/O ports # CONFIG_SERIO=y -# CONFIG_SERIO_I8042 is not set CONFIG_SERIO_SERPORT=y # CONFIG_SERIO_LIBPS2 is not set CONFIG_SERIO_RAW=m
drivers/input/serio/Kconfig +1 -1
@@ -21,7 +21,7 @@ if SERIO config SERIO_I8042 tristate "i8042 PC Keyboard controller" if EMBEDDED || !X86 default y - depends on !PARISC && (!ARM || ARCH_SHARK || FOOTBRIDGE_HOST) && !M68K + depends on !PARISC && (!ARM || ARCH_SHARK || FOOTBRIDGE_HOST) && !M68K && !MIPS ---help--- i8042 is the chip over which the standard AT keyboard and PS/2 mouse are connected to the computer. If you use these devices,
Quoted 4 lines · Ralf Baechle
The i8042 error message is a little surprising. The Cobalt boards afair have some sort of SuperIO chip on the board which includes PS/2 keyboard even though that has not been wired. I wonder if anybody can take a look at the board what type of SuperIO is there?
Maybe Peter Horton can take a look.
Quoted 2 lines
Anyway, the kernel code seems to be correct at a glance so I have to assume the PS/2 hardware really doesn't work and I propose below patch.
That's fine with me.
Signature · 2 lines
Martin Michlmayr http://www.cyrius.com/
Quoted 14 lines · Ralf Baechle
Quoted 11 lines · Martin Michlmayr
I get the following crash on Cobalt when
CONFIG_SERIO=yis set. I realize that this option is not really necessary on Cobalt but the kernel should neverless not crash if it is enabled.Activating ISA DMA hang workarounds.
rtc: Digital UNIX epoch (1952) detected
Real Time Clock Driver v1.12a
Cobalt LCD Driver v2.10
i8042.c: i8042 controller self test timeout.
Unhandled kernel unaligned access[#1]:
Quoted 5 lines
The i8042 error message is a little surprising. The Cobalt boards afair have some sort of SuperIO chip on the board which includes PS/2 keyboard even though that has not been wired. I wonder if anybody can take a look at the board what type of SuperIO is there?
No SuperIO, but there is a bog standard VIA PCI-ISA bridge which contains a bog standard PS/2 keyboard controller, which you would have thought should just work ...
P.
Quoted 9 lines · Peter Horton
Quoted 6 lines
Quoted 4 lines
Real Time Clock Driver v1.12a
Cobalt LCD Driver v2.10
i8042.c: i8042 controller self test timeout.
Unhandled kernel unaligned access[#1]:The i8042 error message is a little surprising. The Cobalt boards afair
No SuperIO, but there is a bog standard VIA PCI-ISA bridge which contains a bog standard PS/2 keyboard controller, which you would have thought should just work ...
That's really interesting. I tried latest git (2.6.16-rc5) to see if this is still there. First of all, 32-bit is fine, both regarding i8042 as well as ALSA with a PCI audio card. With a 64-bit kernel, i8042 appears to be okay now. I get:
Cobalt LCD Driver v2.10i8042.c: i8042 controller self test timeout.
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
and the kernel boots fine.
I then built ALSA support into the kernel to see whether
http://www.linux-mips.org/archives/linux-mips/2006-01/msg00325.html
disappeared too. I got almost the same oops as the one I got before because of i8042.
Peter, does that make any sense to you? I assume your recent PCI fix may be related.
...
Real Time Clock Driver v1.12a
Cobalt LCD Driver v2.10i8042.c: i8042 controller self test timeout.
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled ÿserial8250: ttyS0 at I/O 0xc800000 (irq = 21) is a ST16650V2
loop: loaded (max 8 devices)
...
Advanced Linux Sound Architecture Driver Version 1.0.11rc2 (Wed Jan 04 08:57:20 2006 UTC). Unhandled kernel unaligned access[#1]:
Cpu 0
$ 0 : 0000000000000000 ffffffff940044e0 9b64000001014c88 0000000000000000
$ 4 : ffffffff803b1c20 ffffffffdc820000 0000000000000000 9b64000001014c80
$ 8 : 98000000004d8000 98000000004dbc00 0000000000000000 ffffffff8040dc60
$12 : ffffffff940044e0 000000001000001e ffffffff803c9758 ffffffff804a0000
$16 : 98000000004dbc00 0000000000000004 0000000000000000 0000000000010000
$20 : 0000000000000004 0000000000000002 0000000000000002 98000000005dbc00
$24 : 0000000000000010 ffffffff80096fc8
$28 : 98000000004d8000 98000000004dbbd0 ffffffff803f0000 ffffffff8008234c
Hi : 0000000000000000
Lo : 0000000000000380
epc : ffffffff80089ae8 do_ade+0x398/0x4a0 Not tainted
ra : ffffffff8008234c handle_adel_int+0x34/0x48
Status: 940044e2 KX SX UX KERNEL EXL
Cause : 0080a010
BadVA : 9b64000001014c87
PrId : 000028a0
Process swapper (pid: 1, threadinfo=98000000004d8000, task=98000000004d7848)
Stack : 98000000005c7048 0000000000000004 90000000005f0000 0000000000010000
ffffffff8008234c ffffffff8040dd40 0000000000000000 ffffffff940044e0
0000000000000380 ffffffff940044e1 9b64000001014c80 9b64000001014cb8
9b64000001015000 0000000000004000 0000000000008000 ffffffff804a0000
0000000000000004 ffffffff8040dc60 0000000000000000 ffffffff80207a2c
ffffffff803c9758 ffffffff804a0000 98000000005c7048 0000000000000004
90000000005f0000 0000000000010000 0000000000000004 0000000000000002
0000000000000002 98000000005dbc00 0000000000000010 ffffffff80096fc8
00000000000005f0 ffffffff800dcd10 98000000004d8000 98000000004dbd30
ffffffff803f0000 ffffffff802b26c8 ffffffff940044e2 0000000000000000
...
Call Trace:
[<ffffffff8008234c>] handle_adel_int+0x34/0x48
[<ffffffff80207a2c>] memset_partial+0x48/0x60
[<ffffffff80096fc8>] blast_dcache32+0x0/0x100
[<ffffffff800dcd10>] __get_free_pages+0x60/0xf0
[<ffffffff802b26c8>] snd_dma_alloc_pages+0x118/0x1a8
[<ffffffff802b1d10>] mark_pages+0x60/0xa8
[<ffffffff802b1994>] snd_pcm_lib_preallocate_pages+0x16c/0x1e0
[<ffffffff802b1a68>] snd_pcm_lib_preallocate_pages_for_all+0x60/0xb0
[<ffffffff802a3b88>] snd_pcm_new+0x98/0x180
[<ffffffff802e008c>] snd_audiopci_probe+0x8f4/0xd00
[<ffffffff802dd290>] snd_ensoniq_mixer_free_ac97+0x0/0x10
[<ffffffff802170c0>] pci_device_probe+0x80/0xa8
[<ffffffff802503e8>] driver_probe_device+0x58/0x110
[<ffffffff802507c4>] __driver_attach+0x1cc/0x218
[<ffffffff802505f8>] __driver_attach+0x0/0x218
[<ffffffff8024f210>] bus_for_each_dev+0x50/0xb8
[<ffffffff80201c0c>] kobject_register+0x5c/0xa0
[<ffffffff8024f6f0>] bus_add_driver+0xb8/0x1f8
[<ffffffff80490000>] netlink_proto_init+0x1c8/0x3f8
[<ffffffff80216b04>] __pci_register_driver+0xb4/0x118
[<ffffffff80216b04>] __pci_register_driver+0xb4/0x118
[<ffffffff800805f8>] init+0x150/0x448
[<ffffffff800805f8>] init+0x150/0x448
[<ffffffff800838e0>] kernel_thread_helper+0x10/0x18
[<ffffffff800838d0>] kernel_thread_helper+0x0/0x18Code: 00621824 5460ff7d de020100 <68e30007> 6ce30000 24020000 1440ffa0 00051402 0802267b Kernel panic - not syncing: Attempted to kill init!
Signature · 2 lines
Martin Michlmayr http://www.cyrius.com/
Quoted 22 lines · Martin Michlmayr
Quoted 9 lines · Peter Horton
Quoted 6 lines
Quoted 4 lines
Real Time Clock Driver v1.12a
Cobalt LCD Driver v2.10
i8042.c: i8042 controller self test timeout.
Unhandled kernel unaligned access[#1]:The i8042 error message is a little surprising. The Cobalt boards afair
No SuperIO, but there is a bog standard VIA PCI-ISA bridge which contains a bog standard PS/2 keyboard controller, which you would have thought should just work ...
That's really interesting. I tried latest git (2.6.16-rc5) to see if this is still there. First of all, 32-bit is fine, both regarding i8042 as well as ALSA with a PCI audio card. With a 64-bit kernel, i8042 appears to be okay now. I get:
Cobalt LCD Driver v2.10
i8042.c: i8042 controller self test timeout.
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabledand the kernel boots fine.
Quoted 8 lines
I then built ALSA support into the kernel to see whether
http://www.linux-mips.org/archives/linux-mips/2006-01/msg00325.html
disappeared too. I got almost the same oops as the one I got before because of i8042.Peter, does that make any sense to you? I assume your recent PCI fix may be related.
Those addresses that begin 9b640000 (including the fault address) look very strange. The low 32-bits look like a valid physical address in the PCI space but the top bits definitely don't look right (unless the kernel's playing tricks with unused address bits; I'll have to check the RM523x data sheet to see if they have any effect). Have any of the MIPs experts commented ?
Quoted 3 lines
BadVA :
9b64000001014c87
P.
Quoted 6 lines · Peter Horton
Those addresses that begin
9b640000(including the fault address) look very strange. The low 32-bits look like a valid physical address in the PCI space but the top bits definitely don't look right (unless the kernel's playing tricks with unused address bits; I'll have to check the RM523x data sheet to see if they have any effect). Have any of the MIPs experts commented ?
Raaalf? ;-)
Signature · 2 lines
Martin Michlmayr http://www.cyrius.com/