於 二,2014-01-07 於 08:35 -0800,H. Peter Anvin 提到: > On 01/07/2014 02:40 AM, joeyli wrote: > > > > Due to accessing CMOS through ASL need enable SMM support in OVMF, > > Why? The CMOS is its own ASL address space, and you need that anyway to > be able to access the RTC proper. If you don't want to use it because > you don't want to export any indication of a legacy RTC you should be > able to just do I/O port references directly in your ASL. > > -hpa > >
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. Thanks a lot! Joey Lee -- 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/