lkml.org 
[lkml]   [2004]   [Aug]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.6 kernel won't reboot on AMD system - 8042 problem?
[ Please CC replies to me. ]

David N. Welton wrote:

> Before you hit reply or erase, no, I'm not talking about the machine not
> getting past the BIOS check complaining that there is no keyboard present.
>
> Kernel 2.6.7
>
> model name : AMD Athlon(tm) XP 2400+
>
> motherboard: http://www.ecsusa.com/products/km400-m2.html
>
> ... not sure what else might be useful... apci=off added to boot
> options. Preemptive kernel.
>
> In any case, the machine in question does not reboot. I traced the
> problem down to the mach_reboot but it doesn't get past those assembly
> instructions. Things do seem to work alright if a keyboard is
> installed. Otherwise, the machine just sits there, no longer responsive
> to pings or anything else.

....
> any ideas on what parts of the kernel to look at in order to determine
> what is causing this? I need to fix it, and I don't know where to start
> looking.

By putting a series of 'crashme/reboot' calls into the kernel, I
narrowed a possibl cause of it down to this bit of code in
drivers/input/serio.c:753

/*
* Write CTR back.
*/
if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) {
printk(KERN_ERR "i8042.c: Can't write CTR while initializing i8042.\n");
return -1;
}
If I do the reboot instructions before this, it reboots fine.
Afterwards, and it just sits there, no reboot.

Any ideas what to think/look for/do?

Sascha, to see if your problem is the same as mine, you might try
putting this bit of code before the above call:

{
static struct
{
unsigned short size __attribute__ ((packed));
unsigned long long * base __attribute__ ((packed));
} no_idt = { 0, 0 };
/* That didn't work - force a triple fault.. */
__asm__ __volatile__("lidt %0": :"m" (no_idt));
__asm__ __volatile__("int3");
}
It will cause your machine to reboot before it's even finished booting,
so don't do it with your only available kernel!

Thanks,
--
David N. Welton
davidw@eidetix.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:04    [from the cache]
©2003-2011 Jasper Spaans