27.10.2015 Views

Advanced Configuration and Power Interface Specification

ACPI_6.0

ACPI_6.0

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Advanced</strong> <strong>Configuration</strong> <strong>and</strong> <strong>Power</strong> <strong>Interface</strong> <strong>Specification</strong><br />

resource template buffer. The predefined descriptor field names may be appended to this name to<br />

access individual fields within the descriptor via the Buffer Field operators.<br />

Description<br />

The ExtendedSpace macro evaluates to a buffer which contains a 64-bit Address Space resource<br />

descriptor, which describes a range of addresses. The format of the 64-bit AddressSpace descriptor<br />

can be found in “Extended Address Space Descriptor” (page 361). The macro is designed to be used<br />

inside of a ResourceTemplate (page 882).<br />

19.6.44 External (Declare External Objects)<br />

Syntax<br />

External (ObjectName, ObjectType, ReturnType, ParameterTypes)<br />

Arguments<br />

ObjectName is a NameString.<br />

ObjectType is an optional ObjectTypeKeyword (e.g. IntObj, PkgObj, etc.). If not specified,<br />

“UnknownObj” type is assumed.<br />

ReturnType is optional. If the specified ObjectType is MethodObj, then this specifies the type or<br />

types of object returned by the method. If the method does not return an object, then nothing is<br />

specified or UnknownObj is specified. To specify a single return type, simply use the<br />

ObjectTypeKeyword. To specify multiple possible return types, enclose the comma-separated<br />

ObjectTypeKeywords with braces. For example: {IntObj, BuffObj}.<br />

ParameterTypes is optional. If the specified ObjectType is MethodObj, this specifies both the<br />

number <strong>and</strong> type of the method parameters. It is a comma-separated, variable-length list of the<br />

expected object type or types for each of the method parameters, enclosed in braces. For each<br />

parameter, the parameter type consists of either an ObjectTypeKeyword or a comma-separated sublist<br />

of ObjectTypeKeywords enclosed in braces. There can be no more than seven parameters in<br />

total.Description<br />

The External directive informs the ASL compiler that the object is declared external to this table so<br />

that no errors will be generated for an undeclared object. The ASL compiler will create the external<br />

object at the specified place in the namespace (if a full path of the object is specified), or the object<br />

will be created at the current scope of the External term.<br />

For external control methods, the ASL compiler can emit an External AML opcode that contains the<br />

name of the method <strong>and</strong> the number of required arguments. This information may be used by AML<br />

disassemblers to properly disassemble the AML to the correct ASL code.<br />

External is especially useful for use in secondary SSDTs, when the required scopes <strong>and</strong> objects are<br />

declared in the main DSDT.<br />

Example<br />

This example shows the use of External in conjunction with Scope within an SSDT:<br />

836 April, 2015 Version 6.0

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!