ACPI, APEI: Add 64-bit read/write support for APEI on i386
authorMyron Stowe <mstowe@redhat.com>
Sat, 21 Jan 2012 02:13:24 +0000 (19:13 -0700)
committerLen Brown <len.brown@intel.com>
Sat, 21 Jan 2012 06:08:17 +0000 (01:08 -0500)
commite615bf5b5519862ab66172f4dec7455d6543a578
treec6d37861dc376b55bc5c4ece88f57faf9d51e99a
parentdcd6c92267155e70a94b3927bce681ce74b80d1f
ACPI, APEI: Add 64-bit read/write support for APEI on i386

Base ACPI (CA) currently does not support atomic 64-bit reads and writes
(acpi_read() and acpi_write() split 64-bit loads/stores into two
32-bit transfers) yet APEI expects 64-bit transfer capability, even
when running on 32-bit systems.

This patch implements 64-bit read and write routines for APEI usage.

This patch re-factors similar functionality introduced in commit
04c25997c97, bringing it into the ACPI subsystem in preparation for
removing ./drivers/acpi/atomicio.[ch].  In the implementation I have
replicated acpi_os_read_memory() and acpi_os_write_memory(), creating
64-bit versions for APEI to utilize, as opposed to something more
elegant.  My thinking is that we should attempt to see if we can get
ACPI's CA/OSL changed so that the existing acpi_read() and acpi_write()
interfaces are natively 64-bit capable and then subsequently remove the
replication.

Signed-off-by: Myron Stowe <myron.stowe@redhat.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/apei/apei-base.c
drivers/acpi/osl.c
include/acpi/acpiosxf.h