diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2014-06-27 19:10:35 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2014-06-27 19:10:35 +0000 |
commit | e599b42ef5047e5546af949d87d2cfd2e17062b0 (patch) | |
tree | eeef1a6644e518893667349342fa66f9f0249fec /source/tools/examples | |
parent | 6b8f78e0a6a7880856440b372097482adb326592 (diff) |
Notes
Diffstat (limited to 'source/tools/examples')
-rw-r--r-- | source/tools/examples/examples.c | 61 | ||||
-rw-r--r-- | source/tools/examples/exstubs.c | 250 | ||||
-rw-r--r-- | source/tools/examples/extables.c | 41 |
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") } } |