On 01/08/2014 06:59 AM, joeyli wrote: > > ACPICA denied AML access RTC ports. > > I tried to access 0x70, 0x71 ports in ASL on a real machine, ACPICA > denied AML access to those ports. I got the following dmesg: > > hwvalid-0188 hw_validate_io_request: Denied AML access to port > 0x0000000000000071/1 > > The code in acpica denied it: > > linux/drivers/acpi/acpica/hwvalid.c > > * This provides ACPICA with the desired port protections and > * Microsoft compatibility. > * > * Description of port entries: > [...] > * RTC: Real-time clock > * CMOS: Extended CMOS > [...] > */ > static const struct acpi_port_info acpi_protected_ports[] = { > [...] > {"RTC", 0x0070, 0x0071, ACPI_OSI_WIN_XP}, > {"CMOS", 0x0074, 0x0076, ACPI_OSI_WIN_XP}, > > > Document of Windows XP: > http://www.freelists.org/post/windows_errors/what-error-messages-really-mean-WinXP-IO-Ports-Blocked-from-Bios-AML-on-Windows-XP > > If just for ACPI TAD testing, we can remove the port protection check of > RTC ports in hwvalid.c. I have read 0x70/0x71 port success after removed > the checking in acpica/hwvalid.c. > > I will try to write RTC port in AML after remove acpica check, maybe > have other unpredictable situation. >
Now *THERE* is a good use of the "no RTC bit". In the case that bit is set we should presumably remove these ports from the block list. Otherwise we should use the CMOS address space, not the I/O port address space. -hpa -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/