static void acpi_rs_dump_address_common(union acpi_resource_data *resource) { ACPI_FUNCTION_ENTRY(); /* Decode the type-specific flags */ switch (resource->address.resource_type) { case ACPI_MEMORY_RANGE: acpi_rs_dump_descriptor(resource, acpi_rs_dump_memory_flags); break; case ACPI_IO_RANGE: acpi_rs_dump_descriptor(resource, acpi_rs_dump_io_flags); break; case ACPI_BUS_NUMBER_RANGE: acpi_rs_out_string("Resource Type", "Bus Number Range"); break; default: acpi_rs_out_integer8("Resource Type", (u8) resource->address.resource_type); break; } /* Decode the general flags */ acpi_rs_dump_descriptor(resource, acpi_rs_dump_general_flags); }
void acpi_rs_dump_resource_list(struct acpi_resource *resource_list) { u32 count = 0; u32 type; ACPI_FUNCTION_ENTRY(); /* Check if debug output enabled */ if (!ACPI_IS_DEBUG_ENABLED(ACPI_LV_RESOURCES, _COMPONENT)) { return; } /* Walk list and dump all resource descriptors (END_TAG terminates) */ do { acpi_os_printf("\n[%02X] ", count); count++; /* Validate Type before dispatch */ type = resource_list->type; if (type > ACPI_RESOURCE_TYPE_MAX) { acpi_os_printf ("Invalid descriptor type (%X) in resource list\n", resource_list->type); return; } /* Sanity check the length. It must not be zero, or we loop forever */ if (!resource_list->length) { acpi_os_printf ("Invalid zero length descriptor in resource list\n"); return; } /* Dump the resource descriptor */ if (type == ACPI_RESOURCE_TYPE_SERIAL_BUS) { acpi_rs_dump_descriptor(&resource_list->data, acpi_gbl_dump_serial_bus_dispatch [resource_list->data. common_serial_bus.type]); } else { acpi_rs_dump_descriptor(&resource_list->data, acpi_gbl_dump_resource_dispatch [type]); } /* Point to the next resource structure */ resource_list = ACPI_NEXT_RESOURCE(resource_list); /* Exit when END_TAG descriptor is reached */ } while (type != ACPI_RESOURCE_TYPE_END_TAG); }
void acpi_rs_dump_irq_list(u8 *route_table) { struct acpi_pci_routing_table *prt_element; u8 count; ACPI_FUNCTION_ENTRY(); /* Check if debug output enabled */ if (!ACPI_IS_DEBUG_ENABLED(ACPI_LV_RESOURCES, _COMPONENT)) { return; } prt_element = ACPI_CAST_PTR(struct acpi_pci_routing_table, route_table); /* Dump all table elements, Exit on zero length element */ for (count = 0; prt_element->length; count++) { acpi_os_printf("\n[%02X] PCI IRQ Routing Table Package\n", count); acpi_rs_dump_descriptor(prt_element, acpi_rs_dump_prt); prt_element = ACPI_ADD_PTR(struct acpi_pci_routing_table, prt_element, prt_element->length); } }
void acpi_rs_dump_irq_list(u8 * route_table) { struct acpi_pci_routing_table *prt_element; u8 count; ACPI_FUNCTION_ENTRY(); if (!(acpi_dbg_level & ACPI_LV_RESOURCES) || !(_COMPONENT & acpi_dbg_layer)) { return; } prt_element = ACPI_CAST_PTR(struct acpi_pci_routing_table, route_table); /* Dump all table elements, Exit on zero length element */ for (count = 0; prt_element->length; count++) { acpi_os_printf("\n[%02X] PCI IRQ Routing Table Package\n", count); acpi_rs_dump_descriptor(prt_element, acpi_rs_dump_prt); prt_element = ACPI_ADD_PTR(struct acpi_pci_routing_table, prt_element, prt_element->length); } }
void acpi_rs_dump_resource_list(struct acpi_resource *resource_list) { u32 count = 0; u32 type; ACPI_FUNCTION_ENTRY(); if (!(acpi_dbg_level & ACPI_LV_RESOURCES) || !(_COMPONENT & acpi_dbg_layer)) { return; } /* Walk list and dump all resource descriptors (END_TAG terminates) */ do { acpi_os_printf("\n[%02X] ", count); count++; /* Validate Type before dispatch */ type = resource_list->type; if (type > ACPI_RESOURCE_TYPE_MAX) { acpi_os_printf ("Invalid descriptor type (%X) in resource list\n", resource_list->type); return; } /* Dump the resource descriptor */ acpi_rs_dump_descriptor(&resource_list->data, acpi_gbl_dump_resource_dispatch[type]); /* Point to the next resource structure */ resource_list = ACPI_ADD_PTR(struct acpi_resource, resource_list, resource_list->length); /* Exit when END_TAG descriptor is reached */ } while (type != ACPI_RESOURCE_TYPE_END_TAG); }