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

From: Robert Hancock
Date: Wed Jun 02 2010 - 20:35:10 EST


On 06/02/2010 06:27 PM, Justin P. Mattock wrote:
On 06/02/2010 05:20 PM, Robert Hancock wrote:
On Wed, Jun 2, 2010 at 6:05 PM, Justin P. Mattock
<justinmattock@xxxxxxxxx> wrote:
Hmm, so the FADT says the reset register is listed as supported, and
says writing 0x06 to 0xCF9 is supposed to do it.. That's exactly what
this should do:

#include<sys/io.h>

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

but you said that didn't do anything.. It kind of seems like ACPI
reboot is busted on this machine then, but then I wonder how Windows
manages to work..



alright!! I have a better idea at what this is now..
as for the above code, yes this one segfaults,
the other code posted on the thread just returns
a command prompt(testing:

You get a segfault on that one? Running as root?


my bad(tired)I left out iopl(3);
in the code which was giving a segfault.

running the below code(s) just gives a command prompt

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

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

What if you do:

#include<unistd.h>

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

That's basically what PCI reboot does.

It's possible it doesn't take the first time - you could try modifying
drivers/acpi/reboot.c to call acpi_reset in a loop instead of just
trying once (assuming you have the patch to default to ACPI reboot
enabled).


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

what about the whole kbd mechanism(0x64) give the info I provided
does it look possible, or is this machine strictly on cf9?

The keyboard controller reset is the kernel default, so I assume that doesn't work on this machine or else this wouldn't have come up in the first place..
--
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/