diff options
author | jkim <jkim@FreeBSD.org> | 2014-06-27 19:10:35 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2014-06-27 19:10:35 +0000 |
commit | b4cfb84e01b0a37b535b69118259bb16e9614b0f (patch) | |
tree | eeef1a6644e518893667349342fa66f9f0249fec /source/tools/examples/examples.c | |
parent | 34dc9d28dcb64ffb397ae86712fcea0cce546203 (diff) | |
download | FreeBSD-src-b4cfb84e01b0a37b535b69118259bb16e9614b0f.zip FreeBSD-src-b4cfb84e01b0a37b535b69118259bb16e9614b0f.tar.gz |
Import ACPICA 20140627.
Diffstat (limited to 'source/tools/examples/examples.c')
-rw-r--r-- | source/tools/examples/examples.c | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/source/tools/examples/examples.c b/source/tools/examples/examples.c index 8de3a05..762118a 100644 --- a/source/tools/examples/examples.c +++ b/source/tools/examples/examples.c @@ -86,6 +86,22 @@ NotifyHandler ( UINT32 Value, void *Context); +static ACPI_STATUS +RegionHandler ( + UINT32 Function, + ACPI_PHYSICAL_ADDRESS Address, + UINT32 BitWidth, + UINT64 *Value, + void *HandlerContext, + void *RegionContext); + +static ACPI_STATUS +RegionInit ( + ACPI_HANDLE RegionHandle, + UINT32 Function, + void *HandlerContext, + void **RegionContext); + static void ExecuteMAIN (void); @@ -336,6 +352,43 @@ NotifyHandler ( static ACPI_STATUS +RegionInit ( + ACPI_HANDLE RegionHandle, + UINT32 Function, + void *HandlerContext, + void **RegionContext) +{ + + if (Function == ACPI_REGION_DEACTIVATE) + { + *RegionContext = NULL; + } + else + { + *RegionContext = RegionHandle; + } + + return (AE_OK); +} + + +static ACPI_STATUS +RegionHandler ( + UINT32 Function, + ACPI_PHYSICAL_ADDRESS Address, + UINT32 BitWidth, + UINT64 *Value, + void *HandlerContext, + void *RegionContext) +{ + + ACPI_INFO ((AE_INFO, "Received a region access")); + + return (AE_OK); +} + + +static ACPI_STATUS InstallHandlers (void) { ACPI_STATUS Status; @@ -351,6 +404,14 @@ InstallHandlers (void) return (Status); } + Status = AcpiInstallAddressSpaceHandler (ACPI_ROOT_OBJECT, ACPI_ADR_SPACE_SYSTEM_MEMORY, + RegionHandler, RegionInit, NULL); + if (ACPI_FAILURE (Status)) + { + ACPI_EXCEPTION ((AE_INFO, Status, "While installing an OpRegion handler")); + return (Status); + } + return (AE_OK); } |