All of lore.kernel.org
 help / color / mirror / Atom feed
* register dump when press scroll lock
@ 2004-07-03 10:25 Marcel Sebek
       [not found] ` <200407040219.32581.vda@port.imtp.ilyichevsk.odessa.ua>
  0 siblings, 1 reply; 5+ messages in thread
From: Marcel Sebek @ 2004-07-03 10:25 UTC (permalink / raw)
  To: linux-kernel

I run 2.6.7 kernel.

Steps to reproduce:
Switch keyboard by "Pause/Break" key from English to Czech map (or another
second keymap, I also tried Slovak). Then press scrolllock. The following
is printed out and scrlock led state is untouched:

Pid: 0, comm:              swapper
EIP: 0060:[<c01e5382>] CPU: 0
EIP is at acpi_processor_idle+0xd4/0x1c7
 EFLAGS: 00000212    Not tainted  (2.6.7)
EAX: 00cf9366 EBX: 00004008 ECX: 00cf90da EDX: 00004008
ESI: cffd28b0 EDI: c0467e80 EBP: cffd2800 DS: 007b ES: 007b
CR0: 8005003b CR2: 080b7f40 CR3: 0ca85000 CR4: 000002d0
 [<c0101f3c>] cpu_idle+0x2c/0x40
 [<c043d5fc>] start_kernel+0x13c/0x160
 [<c043d370>] unknown_bootoption+0x0/0x110

EIP is at c01e5382 or c01e5361. Here is the asm code from gdb:

0xc01e5355 <acpi_processor_idle+167>:   cmp    $0x3,%eax
0xc01e5358 <acpi_processor_idle+170>:   je     0xc01e539f <acpi_processor_idle+241>
0xc01e535a <acpi_processor_idle+172>:   jmp    0xc01e5406 <acpi_processor_idle+344>
0xc01e535f <acpi_processor_idle+177>:   sti
0xc01e5360 <acpi_processor_idle+178>:   hlt
0xc01e5361 <acpi_processor_idle+179>:   or     $0xffffffff,%ebx
0xc01e5364 <acpi_processor_idle+182>:   jmp    0xc01e5409 <acpi_processor_idle+347>
0xc01e5369 <acpi_processor_idle+187>:   mov    0xc04777f4,%ebx
0xc01e536f <acpi_processor_idle+193>:   mov    %ebx,%edx
0xc01e5371 <acpi_processor_idle+195>:   in     (%dx),%eax
0xc01e5372 <acpi_processor_idle+196>:   mov    0xb4(%ebp),%edx
0xc01e5378 <acpi_processor_idle+202>:   mov    %eax,%ecx
0xc01e537a <acpi_processor_idle+204>:   in     (%dx),%al
0xc01e537b <acpi_processor_idle+205>:   mov    %ebx,%edx
0xc01e537d <acpi_processor_idle+207>:   in     (%dx),%eax
0xc01e537e <acpi_processor_idle+208>:   in     (%dx),%eax
0xc01e537f <acpi_processor_idle+209>:   sti
0xc01e5380 <acpi_processor_idle+210>:   cmp    %ecx,%eax
0xc01e5382 <acpi_processor_idle+212>:   jb     0xc01e5388 <acpi_processor_idle+218>
0xc01e5384 <acpi_processor_idle+214>:   sub    %ecx,%eax


	/*
	 * Sleep:
	 * ------
	 * Invoke the current Cx state to put the processor to sleep.
	 */
	switch (pr->power.state) {

	case ACPI_STATE_C1:
		/* Invoke C1. */
		safe_halt();
		/*
                 * TBD: Can't get time duration while in C1, as resumes
		 *      go to an ISR rather than here.  Need to instrument
		 *      base interrupt handler.
		 */
>>>0xc01e5361 >>>>>>>>>>
		sleep_ticks = 0xFFFFFFFF;
		break;

	case ACPI_STATE_C2:
		/* Get start time (ticks) */
		t1 = inl(acpi_fadt.xpm_tmr_blk.address);
		/* Invoke C2 */
		inb(pr->power.states[ACPI_STATE_C2].address);
		/* Dummy op - must do something useless after P_LVL2 read */
		t2 = inl(acpi_fadt.xpm_tmr_blk.address);
		/* Get end time (ticks) */
		t2 = inl(acpi_fadt.xpm_tmr_blk.address);
		/* Re-enable interrupts */
		local_irq_enable();
		/* Compute time (ticks) that we were actually asleep */
>>>0xc01e5382 >>>>>>>>>>
		sleep_ticks = ticks_elapsed(t1, t2) - cx->latency_ticks - C2_OVERHEAD;
		break;

For primary keymap this doesn't appear. For second keymap it's
100% reproducible now.

-- 
Marcel Sebek
jabber: sebek@jabber.cz                     ICQ: 279852819
linux user number: 307850                 GPG ID: 5F88735E
GPG FP: 0F01 BAB8 3148 94DB B95D  1FCA 8B63 CA06 5F88 735E


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: register dump when press scroll lock
       [not found] ` <200407040219.32581.vda@port.imtp.ilyichevsk.odessa.ua>
@ 2004-07-04 12:17   ` Marcel Sebek
  2004-07-04 12:50     ` Andries Brouwer
  0 siblings, 1 reply; 5+ messages in thread
From: Marcel Sebek @ 2004-07-04 12:17 UTC (permalink / raw)
  To: Denis Vlasenko; +Cc: linux-kernel

On Sun, Jul 04, 2004 at 02:19:32AM +0300, Denis Vlasenko wrote:
> On Saturday 03 July 2004 13:25, Marcel Sebek wrote:
> > I run 2.6.7 kernel.
> >
> > Steps to reproduce:
> > Switch keyboard by "Pause/Break" key from English to Czech map (or another
> > second keymap, I also tried Slovak). Then press scrolllock. The following
> > is printed out and scrlock led state is untouched:
> 
> A bug in keyboard utils? (most probably Czech map isn't correct)
> Which keyboard utils do you use?
> 

I'm using Debian testing.

I looked at keymap definition. For ScrLock there is this:

keycode 70 = Scroll_Lock Show_Memory Show_Registers
control keycode 70 = Show_State
alt keycode 70 = Scroll_Lock

If I want the same behavior as with english keymap, I should either
use Alt-ScrLock or rewrite the keymap.

Thanks for your time.

-- 
Marcel Sebek
jabber: sebek@jabber.cz                     ICQ: 279852819
linux user number: 307850                 GPG ID: 5F88735E
GPG FP: 0F01 BAB8 3148 94DB B95D  1FCA 8B63 CA06 5F88 735E


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: register dump when press scroll lock
  2004-07-04 12:17   ` Marcel Sebek
@ 2004-07-04 12:50     ` Andries Brouwer
  0 siblings, 0 replies; 5+ messages in thread
From: Andries Brouwer @ 2004-07-04 12:50 UTC (permalink / raw)
  To: Denis Vlasenko, linux-kernel, sebek64

On Sun, Jul 04, 2004 at 02:17:40PM +0200, Marcel Sebek wrote:

> > > Steps to reproduce:
> > > Switch keyboard by "Pause/Break" key from English to Czech map (or another
> > > second keymap, I also tried Slovak). Then press scrolllock. The following
> > > is printed out and scrlock led state is untouched:
> 
> I'm using Debian testing.
> 
> I looked at keymap definition. For ScrLock there is this:
> 
> keycode 70 = Scroll_Lock Show_Memory Show_Registers
> control keycode 70 = Show_State
> alt keycode 70 = Scroll_Lock
> 
> If I want the same behavior as with english keymap, I should either
> use Alt-ScrLock or rewrite the keymap.

The keymap knows about 8 modifiers.
You can bind keys to simple modifiers, also to locking modifiers.

Your Czech keymap uses the Pause key as ShiftR_Lock.
(ShiftR is the 6th modifier, see also keymaps(5).)
Thus, while typing in the English state of the keyboard
you are using no modifiers unless explicitly pressing Shift/Alt/Ctrl/...
but when typing in the Czech state of the keyboard you are
permanently using ShiftR.

Now you press ScrollLock in the Czech state of the keyboard.
What happens is the action bound to ShiftR ScrollLock.
If no action is bound you may instead get the action bound
to Plain ScrollLock.

Investigate your keymap. If you understand, all is well.
If you don't understand, complain, e.g. to aeb@cwi.nl.

I am not aware of any recent changes in this area.
Your keymap is something of your own choice, not something
given by the kernel. See also loadkeys and dumpkeys.

Andries

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: register dump when press scroll lock
       [not found] <A6974D8E5F98D511BB910002A50A6647615FF669@hdsmsx403.hd.intel.com>
@ 2004-07-05 19:18 ` Len Brown
  2004-07-05 19:35   ` Marcel Sebek
  0 siblings, 1 reply; 5+ messages in thread
From: Len Brown @ 2004-07-05 19:18 UTC (permalink / raw)
  To: Marcel Sebek; +Cc: linux-kernel

On Sat, 2004-07-03 at 06:25, Marcel Sebek wrote:
> I run 2.6.7 kernel.
> 
> Steps to reproduce:
> Switch keyboard by "Pause/Break" key from English to Czech map (or
> another
> second keymap, I also tried Slovak). Then press scrolllock. The
> following
> is printed out and scrlock led state is untouched:
> 
> Pid: 0, comm:              swapper
> EIP: 0060:[<c01e5382>] CPU: 0
> EIP is at acpi_processor_idle+0xd4/0x1c7
>  EFLAGS: 00000212    Not tainted  (2.6.7)
> EAX: 00cf9366 EBX: 00004008 ECX: 00cf90da EDX: 00004008
> ESI: cffd28b0 EDI: c0467e80 EBP: cffd2800 DS: 007b ES: 007b
> CR0: 8005003b CR2: 080b7f40 CR3: 0ca85000 CR4: 000002d0
>  [<c0101f3c>] cpu_idle+0x2c/0x40
>  [<c043d5fc>] start_kernel+0x13c/0x160
>  [<c043d370>] unknown_bootoption+0x0/0x110
> 
> EIP is at c01e5382 or c01e5361. Here is the asm code from gdb:
> 
> 0xc01e5355 <acpi_processor_idle+167>:   cmp    $0x3,%eax
> 0xc01e5358 <acpi_processor_idle+170>:   je     0xc01e539f
> <acpi_processor_idle+241>
...
You're in the ACPI idle loop, which is normal.

Why it prints this stuff out is probably
answered someplace in the CONFIG_MAGIC_SYSRQ code.

-Len



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: register dump when press scroll lock
  2004-07-05 19:18 ` register dump when press scroll lock Len Brown
@ 2004-07-05 19:35   ` Marcel Sebek
  0 siblings, 0 replies; 5+ messages in thread
From: Marcel Sebek @ 2004-07-05 19:35 UTC (permalink / raw)
  To: Len Brown; +Cc: linux-kernel

On Mon, Jul 05, 2004 at 03:18:42PM -0400, Len Brown wrote:
> On Sat, 2004-07-03 at 06:25, Marcel Sebek wrote:
> > I run 2.6.7 kernel.
> > 
> > Steps to reproduce:
> > Switch keyboard by "Pause/Break" key from English to Czech map (or
> > another
> > second keymap, I also tried Slovak). Then press scrolllock. The
> > following
> > is printed out and scrlock led state is untouched:
> > 
> > Pid: 0, comm:              swapper
> > EIP: 0060:[<c01e5382>] CPU: 0
> > EIP is at acpi_processor_idle+0xd4/0x1c7
> >  EFLAGS: 00000212    Not tainted  (2.6.7)
> > EAX: 00cf9366 EBX: 00004008 ECX: 00cf90da EDX: 00004008
> > ESI: cffd28b0 EDI: c0467e80 EBP: cffd2800 DS: 007b ES: 007b
> > CR0: 8005003b CR2: 080b7f40 CR3: 0ca85000 CR4: 000002d0
> >  [<c0101f3c>] cpu_idle+0x2c/0x40
> >  [<c043d5fc>] start_kernel+0x13c/0x160
> >  [<c043d370>] unknown_bootoption+0x0/0x110
> > 
> > EIP is at c01e5382 or c01e5361. Here is the asm code from gdb:
> > 
> > 0xc01e5355 <acpi_processor_idle+167>:   cmp    $0x3,%eax
> > 0xc01e5358 <acpi_processor_idle+170>:   je     0xc01e539f
> > <acpi_processor_idle+241>
> ...
> You're in the ACPI idle loop, which is normal.
> 
> Why it prints this stuff out is probably
> answered someplace in the CONFIG_MAGIC_SYSRQ code.
> 

I originally thought that it's something like OOPS and missed that it's
printed by sysrq :-).

Sorry for the noise.

-- 
Marcel Sebek
jabber: sebek@jabber.cz                     ICQ: 279852819
linux user number: 307850                 GPG ID: 5F88735E
GPG FP: 0F01 BAB8 3148 94DB B95D  1FCA 8B63 CA06 5F88 735E


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-07-05 19:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <A6974D8E5F98D511BB910002A50A6647615FF669@hdsmsx403.hd.intel.com>
2004-07-05 19:18 ` register dump when press scroll lock Len Brown
2004-07-05 19:35   ` Marcel Sebek
2004-07-03 10:25 Marcel Sebek
     [not found] ` <200407040219.32581.vda@port.imtp.ilyichevsk.odessa.ua>
2004-07-04 12:17   ` Marcel Sebek
2004-07-04 12:50     ` Andries Brouwer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.