Messages in this thread | | | Date | Thu, 05 Aug 2004 14:48:02 +0200 | From | "David N. Welton" <> | Subject | Re: 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/
| |