Messages in this thread |  | | | Date | Wed, 02 Jun 2010 19:00:20 -0700 | | From | "Justin P. Mattock" <> | | Subject | Re: [PATCH]X86:reboot.c Add some dmi entries to pci_reboot_dmi_table. |
| |
On 06/02/2010 06:47 PM, Robert Hancock wrote: > On Wed, Jun 2, 2010 at 7:37 PM, Matthew Garrett<mjg59@srcf.ucam.org> 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? >
this reboots the system
int main() { iopl(3); outb(6, 0xcf9); return 0; } Justin P. Mattock
|  |