summaryrefslogtreecommitdiffstats
path: root/source/tools/examples/examples.c
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2014-06-27 19:10:35 +0000
committerjkim <jkim@FreeBSD.org>2014-06-27 19:10:35 +0000
commitb4cfb84e01b0a37b535b69118259bb16e9614b0f (patch)
treeeeef1a6644e518893667349342fa66f9f0249fec /source/tools/examples/examples.c
parent34dc9d28dcb64ffb397ae86712fcea0cce546203 (diff)
downloadFreeBSD-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.c61
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);
}
OpenPOWER on IntegriCloud