diff options
| author | Jung-uk Kim <jkim@FreeBSD.org> | 2013-05-17 23:13:40 +0000 |
|---|---|---|
| committer | Jung-uk Kim <jkim@FreeBSD.org> | 2013-05-17 23:13:40 +0000 |
| commit | b7f987c19dad2c6d33c64e7f96a9b4deca9e2650 (patch) | |
| tree | 740dae2325e162bb086ea6e7e5d481c4b669e232 /source/components/executer/exregion.c | |
| parent | b4a951799e313e9ec15d955b72dd3097e4880724 (diff) | |
Notes
Diffstat (limited to 'source/components/executer/exregion.c')
| -rw-r--r-- | source/components/executer/exregion.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/source/components/executer/exregion.c b/source/components/executer/exregion.c index 1092a42b6cf4e..304cfe6262f68 100644 --- a/source/components/executer/exregion.c +++ b/source/components/executer/exregion.c @@ -99,22 +99,27 @@ AcpiExSystemMemorySpaceHandler ( switch (BitWidth) { case 8: + Length = 1; break; case 16: + Length = 2; break; case 32: + Length = 4; break; case 64: + Length = 8; break; default: + ACPI_ERROR ((AE_INFO, "Invalid SystemMemory width %u", BitWidth)); return_ACPI_STATUS (AE_AML_OPERAND_VALUE); @@ -231,23 +236,29 @@ AcpiExSystemMemorySpaceHandler ( switch (BitWidth) { case 8: + *Value = (UINT64) ACPI_GET8 (LogicalAddrPtr); break; case 16: + *Value = (UINT64) ACPI_GET16 (LogicalAddrPtr); break; case 32: + *Value = (UINT64) ACPI_GET32 (LogicalAddrPtr); break; case 64: + *Value = (UINT64) ACPI_GET64 (LogicalAddrPtr); break; default: + /* BitWidth was already validated */ + break; } break; @@ -257,28 +268,35 @@ AcpiExSystemMemorySpaceHandler ( switch (BitWidth) { case 8: + ACPI_SET8 (LogicalAddrPtr, *Value); break; case 16: + ACPI_SET16 (LogicalAddrPtr, *Value); break; case 32: + ACPI_SET32 (LogicalAddrPtr, *Value); break; case 64: + ACPI_SET64 (LogicalAddrPtr, *Value); break; default: + /* BitWidth was already validated */ + break; } break; default: + Status = AE_BAD_PARAMETER; break; } @@ -343,6 +361,7 @@ AcpiExSystemIoSpaceHandler ( break; default: + Status = AE_BAD_PARAMETER; break; } |
