// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0 /******************************************************************************* * * Module Name: rsdump - AML debugger support for resource structures. * ******************************************************************************/ #include <acpi/acpi.h> #include "accommon.h" #include "acresrc.h" #define _COMPONENT … ACPI_MODULE_NAME("rsdump") /* * All functions in this module are used by the AML Debugger only */ /* Local prototypes */ static void acpi_rs_out_string(const char *title, const char *value); static void acpi_rs_out_integer8(const char *title, u8 value); static void acpi_rs_out_integer16(const char *title, u16 value); static void acpi_rs_out_integer32(const char *title, u32 value); static void acpi_rs_out_integer64(const char *title, u64 value); static void acpi_rs_out_title(const char *title); static void acpi_rs_dump_byte_list(u16 length, u8 *data); static void acpi_rs_dump_word_list(u16 length, u16 *data); static void acpi_rs_dump_dword_list(u8 length, u32 *data); static void acpi_rs_dump_short_byte_list(u8 length, u8 *data); static void acpi_rs_dump_resource_source(struct acpi_resource_source *resource_source); static void acpi_rs_dump_resource_label(char *title, struct acpi_resource_label *resource_label); static void acpi_rs_dump_address_common(union acpi_resource_data *resource); static void acpi_rs_dump_descriptor(void *resource, struct acpi_rsdump_info *table); #ifdef ACPI_DEBUGGER /******************************************************************************* * * FUNCTION: acpi_rs_dump_resource_list * * PARAMETERS: resource_list - Pointer to a resource descriptor list * * RETURN: None * * DESCRIPTION: Dispatches the structure to the correct dump routine. * ******************************************************************************/ void acpi_rs_dump_resource_list(struct acpi_resource *resource_list) { … } /******************************************************************************* * * FUNCTION: acpi_rs_dump_irq_list * * PARAMETERS: route_table - Pointer to the routing table to dump. * * RETURN: None * * DESCRIPTION: Print IRQ routing table * ******************************************************************************/ void acpi_rs_dump_irq_list(u8 *route_table) { … } #endif /******************************************************************************* * * FUNCTION: acpi_rs_dump_descriptor * * PARAMETERS: resource - Buffer containing the resource * table - Table entry to decode the resource * * RETURN: None * * DESCRIPTION: Dump a resource descriptor based on a dump table entry. * ******************************************************************************/ static void acpi_rs_dump_descriptor(void *resource, struct acpi_rsdump_info *table) { … } /******************************************************************************* * * FUNCTION: acpi_rs_dump_resource_source * * PARAMETERS: resource_source - Pointer to a Resource Source struct * * RETURN: None * * DESCRIPTION: Common routine for dumping the optional resource_source and the * corresponding resource_source_index. * ******************************************************************************/ static void acpi_rs_dump_resource_source(struct acpi_resource_source *resource_source) { … } /******************************************************************************* * * FUNCTION: acpi_rs_dump_resource_label * * PARAMETERS: title - Title of the dumped resource field * resource_label - Pointer to a Resource Label struct * * RETURN: None * * DESCRIPTION: Common routine for dumping the resource_label * ******************************************************************************/ static void acpi_rs_dump_resource_label(char *title, struct acpi_resource_label *resource_label) { … } /******************************************************************************* * * FUNCTION: acpi_rs_dump_address_common * * PARAMETERS: resource - Pointer to an internal resource descriptor * * RETURN: None * * DESCRIPTION: Dump the fields that are common to all Address resource * descriptors * ******************************************************************************/ static void acpi_rs_dump_address_common(union acpi_resource_data *resource) { … } /******************************************************************************* * * FUNCTION: acpi_rs_out* * * PARAMETERS: title - Name of the resource field * value - Value of the resource field * * RETURN: None * * DESCRIPTION: Miscellaneous helper functions to consistently format the * output of the resource dump routines * ******************************************************************************/ static void acpi_rs_out_string(const char *title, const char *value) { … } static void acpi_rs_out_integer8(const char *title, u8 value) { … } static void acpi_rs_out_integer16(const char *title, u16 value) { … } static void acpi_rs_out_integer32(const char *title, u32 value) { … } static void acpi_rs_out_integer64(const char *title, u64 value) { … } static void acpi_rs_out_title(const char *title) { … } /******************************************************************************* * * FUNCTION: acpi_rs_dump*List * * PARAMETERS: length - Number of elements in the list * data - Start of the list * * RETURN: None * * DESCRIPTION: Miscellaneous functions to dump lists of raw data * ******************************************************************************/ static void acpi_rs_dump_byte_list(u16 length, u8 * data) { … } static void acpi_rs_dump_short_byte_list(u8 length, u8 * data) { … } static void acpi_rs_dump_dword_list(u8 length, u32 * data) { … } static void acpi_rs_dump_word_list(u16 length, u16 *data) { … }