summaryrefslogtreecommitdiff
path: root/source/tools/examples
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2014-06-27 19:10:35 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2014-06-27 19:10:35 +0000
commite599b42ef5047e5546af949d87d2cfd2e17062b0 (patch)
treeeeef1a6644e518893667349342fa66f9f0249fec /source/tools/examples
parent6b8f78e0a6a7880856440b372097482adb326592 (diff)
Notes
Diffstat (limited to 'source/tools/examples')
-rw-r--r--source/tools/examples/examples.c61
-rw-r--r--source/tools/examples/exstubs.c250
-rw-r--r--source/tools/examples/extables.c41
3 files changed, 86 insertions, 266 deletions
diff --git a/source/tools/examples/examples.c b/source/tools/examples/examples.c
index 8de3a0565e64..762118a13338 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);
}
diff --git a/source/tools/examples/exstubs.c b/source/tools/examples/exstubs.c
index df2ca2598496..9d5b25bf9371 100644
--- a/source/tools/examples/exstubs.c
+++ b/source/tools/examples/exstubs.c
@@ -58,91 +58,8 @@
*****************************************************************************/
-/* Utilities */
-
-void
-AcpiUtSubsystemShutdown (
- void)
-{
-}
-
-ACPI_STATUS
-AcpiUtExecute_STA (
- ACPI_NAMESPACE_NODE *DeviceNode,
- UINT32 *StatusFlags)
-{
- return (AE_NOT_IMPLEMENTED);
-}
-
-ACPI_STATUS
-AcpiUtExecute_HID (
- ACPI_NAMESPACE_NODE *DeviceNode,
- ACPI_PNP_DEVICE_ID **ReturnId)
-{
- return (AE_NOT_IMPLEMENTED);
-}
-
-ACPI_STATUS
-AcpiUtExecute_CID (
- ACPI_NAMESPACE_NODE *DeviceNode,
- ACPI_PNP_DEVICE_ID_LIST **ReturnCidList)
-{
- return (AE_NOT_IMPLEMENTED);
-}
-
-ACPI_STATUS
-AcpiUtExecute_UID (
- ACPI_NAMESPACE_NODE *DeviceNode,
- ACPI_PNP_DEVICE_ID **ReturnId)
-{
- return (AE_NOT_IMPLEMENTED);
-}
-
-ACPI_STATUS
-AcpiUtExecute_SUB (
- ACPI_NAMESPACE_NODE *DeviceNode,
- ACPI_PNP_DEVICE_ID **ReturnId)
-{
- return (AE_NOT_IMPLEMENTED);
-}
-
-ACPI_STATUS
-AcpiUtExecutePowerMethods (
- ACPI_NAMESPACE_NODE *DeviceNode,
- const char **MethodNames,
- UINT8 MethodCount,
- UINT8 *OutValues)
-{
- return (AE_NOT_IMPLEMENTED);
-}
-
-ACPI_STATUS
-AcpiUtEvaluateNumericObject (
- char *ObjectName,
- ACPI_NAMESPACE_NODE *DeviceNode,
- UINT64 *Value)
-{
- return (AE_NOT_IMPLEMENTED);
-}
-
-ACPI_STATUS
-AcpiUtGetResourceEndTag (
- ACPI_OPERAND_OBJECT *ObjDesc,
- UINT8 **EndTag)
-{
- return (AE_OK);
-}
-
-
/* Hardware manager */
-UINT32
-AcpiHwGetMode (
- void)
-{
- return (0);
-}
-
ACPI_STATUS
AcpiHwReadPort (
ACPI_IO_ADDRESS Address,
@@ -165,175 +82,8 @@ AcpiHwWritePort (
/* Event manager */
ACPI_STATUS
-AcpiInstallNotifyHandler (
- ACPI_HANDLE Device,
- UINT32 HandlerType,
- ACPI_NOTIFY_HANDLER Handler,
- void *Context)
-{
- return (AE_OK);
-}
-
-ACPI_STATUS
-AcpiEvInstallXruptHandlers (
- void)
-{
- return (AE_OK);
-}
-
-ACPI_STATUS
AcpiEvInitializeEvents (
void)
{
return (AE_OK);
}
-
-ACPI_STATUS
-AcpiEvInstallRegionHandlers (
- void)
-{
- return (AE_OK);
-}
-
-ACPI_STATUS
-AcpiEvInitializeOpRegions (
- void)
-{
- return (AE_OK);
-}
-
-ACPI_STATUS
-AcpiEvInitializeRegion (
- ACPI_OPERAND_OBJECT *RegionObj,
- BOOLEAN AcpiNsLocked)
-{
- return (AE_OK);
-}
-
-#if (!ACPI_REDUCED_HARDWARE)
-ACPI_STATUS
-AcpiEvDeleteGpeBlock (
- ACPI_GPE_BLOCK_INFO *GpeBlock)
-{
- return (AE_OK);
-}
-
-ACPI_STATUS
-AcpiEnable (
- void)
-{
- return (AE_OK);
-}
-#endif /* !ACPI_REDUCED_HARDWARE */
-
-void
-AcpiEvUpdateGpes (
- ACPI_OWNER_ID TableOwnerId)
-{
-}
-
-ACPI_STATUS
-AcpiEvAddressSpaceDispatch (
- ACPI_OPERAND_OBJECT *RegionObj,
- ACPI_OPERAND_OBJECT *FieldObj,
- UINT32 Function,
- UINT32 RegionOffset,
- UINT32 BitWidth,
- UINT64 *Value)
-{
- return (AE_OK);
-}
-
-ACPI_STATUS
-AcpiEvAcquireGlobalLock (
- UINT16 Timeout)
-{
- return (AE_OK);
-}
-
-ACPI_STATUS
-AcpiEvReleaseGlobalLock (
- void)
-{
- return (AE_OK);
-}
-
-ACPI_STATUS
-AcpiEvQueueNotifyRequest (
- ACPI_NAMESPACE_NODE *Node,
- UINT32 NotifyValue)
-{
- return (AE_OK);
-}
-
-BOOLEAN
-AcpiEvIsNotifyObject (
- ACPI_NAMESPACE_NODE *Node)
-{
- return (TRUE);
-}
-
-
-/* Namespace manager */
-
-ACPI_STATUS
-AcpiNsCheckReturnValue (
- ACPI_NAMESPACE_NODE *Node,
- ACPI_EVALUATE_INFO *Info,
- UINT32 UserParamCount,
- ACPI_STATUS ReturnStatus,
- ACPI_OPERAND_OBJECT **ReturnObjectPtr)
-{
- return (AE_OK);
-}
-
-void
-AcpiNsCheckArgumentTypes (
- ACPI_EVALUATE_INFO *Info)
-{
- return;
-}
-
-void
-AcpiNsCheckArgumentCount (
- char *Pathname,
- ACPI_NAMESPACE_NODE *Node,
- UINT32 UserParamCount,
- const ACPI_PREDEFINED_INFO *Predefined)
-{
- return;
-}
-
-void
-AcpiNsCheckAcpiCompliance (
- char *Pathname,
- ACPI_NAMESPACE_NODE *Node,
- const ACPI_PREDEFINED_INFO *Predefined)
-{
- return;
-}
-
-const ACPI_PREDEFINED_INFO *
-AcpiUtMatchPredefinedMethod (
- char *Name)
-{
- return (NULL);
-}
-
-/* OSL interfaces */
-
-ACPI_THREAD_ID
-AcpiOsGetThreadId (
- void)
-{
- return (1);
-}
-
-ACPI_STATUS
-AcpiOsExecute (
- ACPI_EXECUTE_TYPE Type,
- ACPI_OSD_EXEC_CALLBACK Function,
- void *Context)
-{
- return (AE_SUPPORT);
-}
diff --git a/source/tools/examples/extables.c b/source/tools/examples/extables.c
index c33be9574cf9..aa5fc1fea8ee 100644
--- a/source/tools/examples/extables.c
+++ b/source/tools/examples/extables.c
@@ -49,10 +49,6 @@
#define _COMPONENT ACPI_EXAMPLE
ACPI_MODULE_NAME ("extables")
-ACPI_PHYSICAL_ADDRESS
-AeLocalGetRootPointer (
- void);
-
/******************************************************************************
*
@@ -148,19 +144,24 @@ static unsigned char FacsCode[] =
static unsigned char DsdtCode[] =
{
- 0x44,0x53,0x44,0x54,0x67,0x00,0x00,0x00, /* 00000000 "DSDTg..." */
- 0x02,0x97,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */
+ 0x44,0x53,0x44,0x54,0x8C,0x00,0x00,0x00, /* 00000000 "DSDT...." */
+ 0x02,0x76,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".vIntel." */
0x54,0x65,0x6D,0x70,0x6C,0x61,0x74,0x65, /* 00000010 "Template" */
0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */
- 0x15,0x11,0x13,0x20,0x14,0x42,0x04,0x4D, /* 00000020 "... .B.M" */
- 0x41,0x49,0x4E,0x01,0x70,0x73,0x0D,0x4D, /* 00000028 "AIN.ps.M" */
- 0x61,0x69,0x6E,0x2F,0x41,0x72,0x67,0x30, /* 00000030 "ain/Arg0" */
- 0x3A,0x20,0x00,0x68,0x00,0x5B,0x31,0xA4, /* 00000038 ": .h.[1." */
- 0x0D,0x4D,0x61,0x69,0x6E,0x20,0x73,0x75, /* 00000040 ".Main su" */
- 0x63,0x63,0x65,0x73,0x73,0x66,0x75,0x6C, /* 00000048 "ccessful" */
- 0x6C,0x79,0x20,0x63,0x6F,0x6D,0x70,0x6C, /* 00000050 "ly compl" */
- 0x65,0x74,0x65,0x64,0x20,0x65,0x78,0x65, /* 00000058 "eted exe" */
- 0x63,0x75,0x74,0x69,0x6F,0x6E,0x00 /* 00000060 "cution." */
+ 0x24,0x04,0x14,0x20,0x5B,0x80,0x47,0x4E, /* 00000020 "$.. [.GN" */
+ 0x56,0x53,0x00,0x0C,0x98,0xEE,0xBB,0xDF, /* 00000028 "VS......" */
+ 0x0A,0x13,0x5B,0x81,0x0B,0x47,0x4E,0x56, /* 00000030 "..[..GNV" */
+ 0x53,0x00,0x46,0x4C,0x44,0x31,0x08,0x14, /* 00000038 "S.FLD1.." */
+ 0x4C,0x04,0x4D,0x41,0x49,0x4E,0x01,0x70, /* 00000040 "L.MAIN.p" */
+ 0x73,0x0D,0x4D,0x61,0x69,0x6E,0x2F,0x41, /* 00000048 "s.Main/A" */
+ 0x72,0x67,0x30,0x3A,0x20,0x00,0x68,0x00, /* 00000050 "rg0: .h." */
+ 0x5B,0x31,0x70,0x00,0x46,0x4C,0x44,0x31, /* 00000058 "[1p.FLD1" */
+ 0x86,0x5C,0x00,0x00,0xA4,0x0D,0x4D,0x61, /* 00000060 ".\....Ma" */
+ 0x69,0x6E,0x20,0x73,0x75,0x63,0x63,0x65, /* 00000068 "in succe" */
+ 0x73,0x73,0x66,0x75,0x6C,0x6C,0x79,0x20, /* 00000070 "ssfully " */
+ 0x63,0x6F,0x6D,0x70,0x6C,0x65,0x74,0x65, /* 00000078 "complete" */
+ 0x64,0x20,0x65,0x78,0x65,0x63,0x75,0x74, /* 00000080 "d execut" */
+ 0x69,0x6F,0x6E,0x00 /* 00000088 "ion." */
};
@@ -232,7 +233,7 @@ ExInitializeAcpiTables (
*****************************************************************************/
ACPI_PHYSICAL_ADDRESS
-AeLocalGetRootPointer (
+AcpiOsGetRootPointer (
void)
{
@@ -475,9 +476,17 @@ AeLocalGetRootPointer (
DefinitionBlock ("dsdt.aml", "DSDT", 2, "Intel", "Template", 0x00000001)
{
+ OperationRegion (GNVS, SystemMemory, 0xDFBBEE98, 0x00000013)
+ Field (GNVS, AnyAcc, NoLock, Preserve)
+ {
+ FLD1, 8,
+ }
+
Method (MAIN, 1, NotSerialized)
{
Store (Concatenate ("Main/Arg0: ", Arg0), Debug)
+ Store (Zero, FLD1)
+ Notify (\, Zero)
Return ("Main successfully completed execution")
}
}