diff options
Diffstat (limited to 'source/components/hardware')
-rw-r--r-- | source/components/hardware/hwtimer.c | 2 | ||||
-rw-r--r-- | source/components/hardware/hwxface.c | 10 | ||||
-rw-r--r-- | source/components/hardware/hwxfsleep.c | 2 |
3 files changed, 13 insertions, 1 deletions
diff --git a/source/components/hardware/hwtimer.c b/source/components/hardware/hwtimer.c index cbfa96b..c42576e 100644 --- a/source/components/hardware/hwtimer.c +++ b/source/components/hardware/hwtimer.c @@ -41,6 +41,8 @@ * POSSIBILITY OF SUCH DAMAGES. */ +#define EXPORT_ACPI_INTERFACES + #include "acpi.h" #include "accommon.h" diff --git a/source/components/hardware/hwxface.c b/source/components/hardware/hwxface.c index 45d5654..a1d5a04 100644 --- a/source/components/hardware/hwxface.c +++ b/source/components/hardware/hwxface.c @@ -41,6 +41,8 @@ * POSSIBILITY OF SUCH DAMAGES. */ +#define EXPORT_ACPI_INTERFACES + #include "acpi.h" #include "accommon.h" #include "acnamesp.h" @@ -90,9 +92,15 @@ AcpiReset ( * For I/O space, write directly to the OSL. This bypasses the port * validation mechanism, which may block a valid write to the reset * register. + * + * NOTE: + * The ACPI spec requires the reset register width to be 8, so we + * hardcode it here and ignore the FADT value. This maintains + * compatibility with other ACPI implementations that have allowed + * BIOS code with bad register width values to go unnoticed. */ Status = AcpiOsWritePort ((ACPI_IO_ADDRESS) ResetReg->Address, - AcpiGbl_FADT.ResetValue, ResetReg->BitWidth); + AcpiGbl_FADT.ResetValue, ACPI_RESET_REGISTER_WIDTH); } else { diff --git a/source/components/hardware/hwxfsleep.c b/source/components/hardware/hwxfsleep.c index 8259f01..9131f95 100644 --- a/source/components/hardware/hwxfsleep.c +++ b/source/components/hardware/hwxfsleep.c @@ -41,6 +41,8 @@ * POSSIBILITY OF SUCH DAMAGES. */ +#define EXPORT_ACPI_INTERFACES + #include "acpi.h" #include "accommon.h" |