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

From: Justin P. Mattock
Date: Wed Jun 02 2010 - 22:19:07 EST


On 06/02/2010 07:15 PM, Justin P. Mattock wrote:
On 06/02/2010 06:47 PM, Robert Hancock wrote:
On Wed, Jun 2, 2010 at 7:37 PM, Matthew Garrett<mjg59@xxxxxxxxxxxxx>
wrote:
On Wed, Jun 02, 2010 at 05:27:22PM -0700, Justin P. Mattock wrote:
On 06/02/2010 05:20 PM, Robert Hancock wrote:
#include<unistd.h>

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

That's basically what PCI reboot does.

the above code reboot's the machine as it should..
I can look at that(need to take a break first though)
and see..

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..

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



as soon as I change:

int main() {
iopl(3);
outb(6, 0xcf9);
usleep(100);
outb(6, 0xcf9);
return 0;
}
(the above gave a command prompt
with numerous tries)
to:

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

it worked..(on the first try)


just rebooted, and tried the one that worked,
had no response(just a command prompt) even though
it rebooted the system prior too.

but still am confused as
to why I tried: outb(2, 0xcf9);
with nothing happening.
(Maybe something in there
is changing each boot or something.)


something is changing in there it seems.

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/