Re: [PATCH]X86:reboot.c Add some dmi entries to pci_reboot_dmi_table.

From: Justin P. Mattock
Date: Wed Jun 02 2010 - 22:05:58 EST


On 06/02/2010 06:56 PM, Matthew Garrett wrote:
On Wed, Jun 02, 2010 at 07:47:17PM -0600, Robert Hancock wrote:
On Wed, Jun 2, 2010 at 7:37 PM, Matthew Garrett<mjg59@xxxxxxxxxxxxx> wrote:
That's pretty infuriating. The ACPI-provided definition doesn't work,
and there's no ACPI mechanism for expressing the more complex cf9
behaviour. Windows doesn't appear to special case this, so we're
probably left trying to figure out why the keyboard controller method
doesn't work. Sigh.

Do these Macs even have a PC keyboard controller? A recent thread on
PS/2 keyboard/mouse controller probing suggests they may not..

Possibly an SMM trap...

Justin, what happens if you try the simple outb(6, 0xcf9) test program
multiple times, does that do anything?

Huh. That might work, yes. Windows does the ACPI write, an i8042 write,
the ACPI write, another i8042 write and then gives up. If that happens
sufficiently quickly, this might get us somewhere. Justin, can you try:

#include<sys/io.h>
#include<unistd.h>

int main() {
iopl(3);
outb(6, 0xcf9);
usleep(100);
outb(6, 0xcf9);
return 0;
}

and see if that reboots?



this thing is wacked out
this just rebooted the system:

int main() {
iopl(3);
outb(6, 0xcf9);
return 0;
}

and now it's motionless
(just a command prompt).

Justin P. Mattock
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/