|
ReactOS 0.4.17-dev-736-g75e91de
|
#include <uacpi/types.h>#include <uacpi/acpi.h>#include <uacpi/internal/resources.h>#include <uacpi/internal/stdlib.h>#include <uacpi/internal/utilities.h>#include <uacpi/internal/log.h>#include <uacpi/internal/namespace.h>#include <uacpi/uacpi.h>
Go to the source code of this file.
Classes | |
| struct | resource_conversion_ctx |
Definition at line 591 of file resources.c.
| #define AML_O | ( | short_aml_name, | |
| field | |||
| ) | uacpi_offsetof(struct acpi_resource_##short_aml_name, field) |
Definition at line 588 of file resources.c.
Definition at line 527 of file resources.c.
Definition at line 601 of file resources.c.
Definition at line 1663 of file resources.c.
Definition at line 1654 of file resources.c.
Definition at line 1646 of file resources.c.
| #define CONVERSION_OPCODES_COMMON | ( | native_buf | ) |
Definition at line 1572 of file resources.c.
| #define CONVERT_GENERAL_ADDRESS_FLAGS | ( | addr_type | ) |
| #define CONVERT_TYPE_SPECIFIC_FLAGS | ( | addr_type | ) |
Definition at line 742 of file resources.c.
| #define DECODE_PIN_GROUP_RES_SOURCES | ( | postfix | ) |
Definition at line 950 of file resources.c.
| #define DECODE_RES_PIN_TBL_AND_VENDOR_DATA | ( | short_aml_name, | |
| res_opcode, | |||
| offset_field, | |||
| res_field | |||
| ) |
Definition at line 852 of file resources.c.
| #define DECODE_SOURCE_INDEX | ( | short_aml_name | ) |
Definition at line 848 of file resources.c.
Definition at line 789 of file resources.c.
| #define DEFINE_LARGE_AML_RESOURCE | ( | aml_type_enum, | |
| native_type_enum, | |||
| aml_struct, | |||
| native_struct, | |||
| ... | |||
| ) |
Definition at line 1086 of file resources.c.
| #define DEFINE_SMALL_AML_RESOURCE | ( | aml_type_enum, | |
| native_type_enum, | |||
| aml_struct, | |||
| native_struct, | |||
| ... | |||
| ) |
Definition at line 1063 of file resources.c.
| #define DEFINE_SMALL_AML_RESOURCE_NO_NATIVE_REPR | ( | aml_type_enum, | |
| native_type_enum, | |||
| aml_struct, | |||
| ... | |||
| ) |
Definition at line 1074 of file resources.c.
Definition at line 586 of file resources.c.
Definition at line 600 of file resources.c.
| #define L | ( | x | ) | (x + LARGE_RESOURCE_BASE) |
Definition at line 13 of file resources.c.
Definition at line 118 of file resources.c.
| #define LARGE_RESOURCE_BASE (ACPI_RESOURCE_END_TAG + 1) |
Definition at line 12 of file resources.c.
| #define NATIVE_F | ( | short_native_name, | |
| field | |||
| ) | .f2.native_offset = NATIVE_O(short_native_name, field) |
Definition at line 597 of file resources.c.
Definition at line 1643 of file resources.c.
| #define NATIVE_O | ( | short_name, | |
| field | |||
| ) | uacpi_offsetof(uacpi_resource_##short_name, field) |
Definition at line 594 of file resources.c.
Definition at line 1640 of file resources.c.
| #define NATIVE_RESOURCE_HEADER_SIZE 8 |
Definition at line 1061 of file resources.c.
Definition at line 531 of file resources.c.
Definition at line 580 of file resources.c.
Definition at line 1638 of file resources.c.
Definition at line 117 of file resources.c.
|
static |
Definition at line 2472 of file resources.c.
Referenced by uacpi_native_resources_to_aml().
|
static |
Definition at line 1942 of file resources.c.
Referenced by uacpi_get_resource_from_buffer(), and uacpi_native_resources_from_aml().
|
static |
Definition at line 1667 of file resources.c.
Referenced by do_aml_resource_to_native(), and do_native_resource_to_aml().
|
static |
Definition at line 2182 of file resources.c.
Referenced by accumulate_aml_buffer_size(), and do_native_resource_to_aml().
|
static |
Definition at line 565 of file resources.c.
|
static |
Definition at line 125 of file resources.c.
Referenced by aml_size_for_native_resource(), aml_size_for_serial_connection(), size_for_aml_address_or_clock_input(), size_for_aml_extended_irq(), size_for_aml_gpio_or_pins(), size_for_aml_irq(), size_for_aml_pin_group(), and size_for_aml_start_dependent().
|
static |
Definition at line 1563 of file resources.c.
Referenced by accumulate_native_buffer_size(), and do_aml_resource_to_native().
|
static |
Definition at line 1675 of file resources.c.
Referenced by uacpi_get_resource_from_buffer(), and uacpi_native_resources_from_aml().
|
static |
Definition at line 2191 of file resources.c.
Referenced by native_resources_to_aml().
|
static |
Definition at line 1962 of file resources.c.
Referenced by extract_native_resources_from_method().
|
static |
Definition at line 329 of file resources.c.
|
static |
Definition at line 292 of file resources.c.
|
static |
Definition at line 358 of file resources.c.
|
static |
Definition at line 131 of file resources.c.
|
static |
Definition at line 464 of file resources.c.
|
static |
Definition at line 221 of file resources.c.
|
static |
Definition at line 257 of file resources.c.
Referenced by extra_size_for_extended_irq(), and extra_size_for_native_address_or_clock_input().
|
static |
Definition at line 551 of file resources.c.
|
static |
Definition at line 2074 of file resources.c.
Referenced by uacpi_for_each_device_resource(), uacpi_get_current_resources(), uacpi_get_device_resources(), and uacpi_get_possible_resources().
|
static |
Definition at line 1501 of file resources.c.
Referenced by uacpi_find_aml_resource_end_tag().
|
static |
Definition at line 1382 of file resources.c.
Referenced by uacpi_for_each_aml_resource().
|
static |
Definition at line 1369 of file resources.c.
Referenced by uacpi_for_each_aml_resource().
|
static |
Definition at line 2447 of file resources.c.
Referenced by uacpi_native_resources_to_aml().
|
static |
Definition at line 1516 of file resources.c.
Referenced by accumulate_native_buffer_size(), and do_aml_resource_to_native().
|
static |
Definition at line 2175 of file resources.c.
Referenced by accumulate_aml_buffer_size(), and do_native_resource_to_aml().
|
static |
Definition at line 300 of file resources.c.
|
static |
Definition at line 344 of file resources.c.
|
static |
Definition at line 413 of file resources.c.
|
static |
Definition at line 156 of file resources.c.
|
static |
Definition at line 491 of file resources.c.
|
static |
Definition at line 273 of file resources.c.
Referenced by size_for_aml_address_or_clock_input(), and size_for_aml_extended_irq().
|
static |
Definition at line 190 of file resources.c.
|
static |
Definition at line 230 of file resources.c.
| uacpi_status uacpi_find_aml_resource_end_tag | ( | uacpi_data_view | buffer, |
| uacpi_size * | out_offset | ||
| ) |
Definition at line 1528 of file resources.c.
Referenced by handle_concatenate_res().
| uacpi_status uacpi_for_each_aml_resource | ( | uacpi_data_view | buffer, |
| uacpi_aml_resource_iteration_callback | cb, | ||
| void * | user | ||
| ) |
Definition at line 1425 of file resources.c.
Referenced by uacpi_find_aml_resource_end_tag(), uacpi_get_resource_from_buffer(), and uacpi_native_resources_from_aml().
| uacpi_status uacpi_for_each_device_resource | ( | uacpi_namespace_node * | device, |
| const uacpi_char * | method, | ||
| uacpi_resource_iteration_callback | cb, | ||
| void * | user | ||
| ) |
A shorthand for uacpi_get_device_resources() + uacpi_for_each_resource().
Use if you don't actually want to save the 'resources' list, but simply want to iterate it once to extract the resources you care about and then free it right away.
Definition at line 2157 of file resources.c.
| uacpi_status uacpi_for_each_resource | ( | uacpi_resources * | resources, |
| uacpi_resource_iteration_callback | cb, | ||
| void * | user | ||
| ) |
A convenience helper for iterating over the resource list returned by any of the uacpi_get_*_resources functions.
Definition at line 2117 of file resources.c.
Referenced by native_resources_to_aml(), uacpi_for_each_device_resource(), and uacpi_native_resources_to_aml().
| void uacpi_free_resource | ( | uacpi_resource * | resource | ) |
Definition at line 2066 of file resources.c.
Referenced by uacpi_get_resource_from_buffer().
| void uacpi_free_resources | ( | uacpi_resources * | resources | ) |
Definition at line 2058 of file resources.c.
Referenced by uacpi_for_each_device_resource(), and uacpi_native_resources_from_aml().
| uacpi_status uacpi_get_current_resources | ( | uacpi_namespace_node * | device, |
| uacpi_resources ** | out_resources | ||
| ) |
Evaluate the _CRS method for a 'device' and get the returned resource list via 'out_resources'.
NOTE: the returned buffer must be released via uacpi_free_resources()
If you don't need to keep the resource array for later use you can uacpi_for_each_device_resource(device, "_CRS", ...) instead, which takes care of iteration & memory management on its own.
Definition at line 2095 of file resources.c.
| uacpi_status uacpi_get_device_resources | ( | uacpi_namespace_node * | device, |
| const uacpi_char * | method, | ||
| uacpi_resources ** | out_resources | ||
| ) |
Evaluate an arbitrary method that is expected to return an AML resource buffer for a 'device' and get the returned resource list via 'out_resources'.
NOTE: the returned buffer must be released via uacpi_free_resources()
If you don't need to keep the resource array for later use you can uacpi_for_each_device_resource(device, method, ...) instead, which takes care of iteration & memory management on its own.
Definition at line 2109 of file resources.c.
| uacpi_status uacpi_get_possible_resources | ( | uacpi_namespace_node * | device, |
| uacpi_resources ** | out_resources | ||
| ) |
Evaluate the _PRS method for a 'device' and get the returned resource list via 'out_resources'.
NOTE: the returned buffer must be released via uacpi_free_resources()
If you don't need to keep the resource array for later use you can uacpi_for_each_device_resource(device, "_PRS", ...) instead, which takes care of iteration & memory management on its own.
Definition at line 2102 of file resources.c.
| uacpi_status uacpi_get_resource_from_buffer | ( | uacpi_data_view | aml_buffer, |
| uacpi_resource ** | out_resource | ||
| ) |
Convert a single AML-encoded resource to native format.
This should be used for converting Connection() fields (passed during IO on GeneralPurposeIO or GenericSerialBus operation regions) or other similar buffers with only one resource to native format.
NOTE: the returned buffer must be released via uacpi_free_resource()
Definition at line 2024 of file resources.c.
| uacpi_status uacpi_native_resources_from_aml | ( | uacpi_data_view | aml_buffer, |
| uacpi_resources ** | out_resources | ||
| ) |
Definition at line 1982 of file resources.c.
Referenced by extract_native_resources_from_method().
| uacpi_status uacpi_native_resources_to_aml | ( | uacpi_resources * | resources, |
| uacpi_object ** | out_template | ||
| ) |
Definition at line 2495 of file resources.c.
Referenced by uacpi_set_resources().
| uacpi_status uacpi_set_resources | ( | uacpi_namespace_node * | device, |
| uacpi_resources * | resources | ||
| ) |
Set the configuration to be used by the 'device' by calling its _SRS method.
Note that this expects 'resources' in the normal 'uacpi_resources' format, and not the raw AML resources bytestream, the conversion to the latter is done automatically by this API. If you want to _SRS a raw AML resources bytestream, use 'uacpi_execute' or similar API directly.
Definition at line 2548 of file resources.c.
|
static |
Definition at line 1414 of file resources.c.
Referenced by do_native_resource_to_aml(), and uacpi_for_each_aml_resource().
Definition at line 120 of file resources.c.
Referenced by aml_size_with_header(), do_aml_resource_to_native(), do_native_resource_to_aml(), get_aml_resource_size(), size_for_aml_vendor(), and uacpi_for_each_aml_resource().
Definition at line 19 of file resources.c.
Referenced by get_aml_resource_type().
| const struct uacpi_resource_spec aml_resources[UACPI_AML_RESOURCE_MAX+1] |
Definition at line 1097 of file resources.c.
Referenced by resource_spec_from_native(), and uacpi_for_each_aml_resource().
|
static |
Definition at line 535 of file resources.c.
Referenced by aml_size_for_serial_connection(), do_aml_resource_to_native(), do_native_resource_to_aml(), and extra_size_for_serial_connection().
|
static |
Definition at line 543 of file resources.c.
Referenced by do_aml_resource_to_native(), do_native_resource_to_aml(), and extra_size_for_serial_connection().
|
static |
Definition at line 804 of file resources.c.
|
static |
|
static |
Definition at line 634 of file resources.c.
|
static |
Definition at line 814 of file resources.c.
|
static |
Definition at line 687 of file resources.c.
|
static |
|
static |
Definition at line 723 of file resources.c.
|
static |
|
static |
Definition at line 994 of file resources.c.
|
static |
Definition at line 868 of file resources.c.
|
static |
Definition at line 672 of file resources.c.
| const struct uacpi_resource_convert_instruction convert_irq_to_aml[] |
Definition at line 623 of file resources.c.
|
static |
Definition at line 606 of file resources.c.
|
static |
Definition at line 708 of file resources.c.
|
static |
Definition at line 715 of file resources.c.
|
static |
Definition at line 921 of file resources.c.
|
static |
Definition at line 904 of file resources.c.
|
static |
Definition at line 939 of file resources.c.
|
static |
Definition at line 978 of file resources.c.
|
static |
Definition at line 964 of file resources.c.
|
static |
Definition at line 663 of file resources.c.
|
static |
Definition at line 644 of file resources.c.
|
static |
|
static |
|
static |
Definition at line 84 of file resources.c.
Referenced by resource_spec_from_native().
Definition at line 52 of file resources.c.
Referenced by do_native_resource_to_aml().