Re: [PATCH 10/10] x86, ACPI: default to reboot via ACPI (again)

H. Peter Anvin
2008-11-13T17:42:46Z

Zhao Yakui wrote:
> I am sorry that I don't describe it very clearly. The value written into
> 0xCF9 I/O port maybe vary on different chipset vendors. In such case it
> is difficult to write the generic 0xCF9 reboot mechanism. If the same
> standard about 0xCF9 I/O port is followed by most chipset vendors, it
> will be OK.

What my patch does is:

u8 cf9 = inb(0xcf9) & ~6;
outb(cf9|2, 0xcf9); /* Request hard reset */
udelay(50);
outb(cf9|6, 0xcf9); /* Actually do the reset */
udelay(50);

> I have a laptop on which the ACPI reboot mechanism is not supported.(The
> reset flag is not present). But there exists the definition of RESET_REG
> & RESET_VALUE. The RESET_REG is 0xCF9 I/O port. (The box is based on
> Intel i915 chipsets)
> When writing 0x06 to 0xCF9 I/O port the box will hang and can't be
> rebooted. (Hardware reset will fail)
> When writing 0x04 to 0xCF9 I/O port the box can be
> rebooted.(Software reset is OK)

What happens if you write 0x02 first, and *then* write 0x06?

More details about this laptop, please? Also, what is RESET_REG and
RESET_VALUE defined as?

-hpa