⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rsdump.c

📁 内核linux2.4.20,可跟rtlinux3.2打补丁 组成实时linux系统,编译内核
💻 C
📖 第 1 页 / 共 2 页
字号:
		acpi_os_printf ("Bus Number Range\n");		break;	default:		acpi_os_printf ("Invalid resource type. Exiting.\n");		return;	}	acpi_os_printf ("  Resource %s\n",			CONSUMER == address16_data->producer_consumer ?			"Consumer" : "Producer");	acpi_os_printf ("  %s decode\n",			 SUB_DECODE == address16_data->decode ?			 "Subtractive" : "Positive");	acpi_os_printf ("  Min address is %s fixed\n",			 ADDRESS_FIXED == address16_data->min_address_fixed ?			 "" : "not");	acpi_os_printf ("  Max address is %s fixed\n",			 ADDRESS_FIXED == address16_data->max_address_fixed ?			 "" : "not");	acpi_os_printf ("  Granularity: %08X\n",			 address16_data->granularity);	acpi_os_printf ("  Address range min: %08X\n",			 address16_data->min_address_range);	acpi_os_printf ("  Address range max: %08X\n",			 address16_data->max_address_range);	acpi_os_printf ("  Address translation offset: %08X\n",			 address16_data->address_translation_offset);	acpi_os_printf ("  Address Length: %08X\n",			 address16_data->address_length);	if (0xFF != address16_data->resource_source.index) {		acpi_os_printf ("  Resource Source Index: %X\n",				 address16_data->resource_source.index);		acpi_os_printf ("  Resource Source: %s\n",				 address16_data->resource_source.string_ptr);	}	return;}/******************************************************************************* * * FUNCTION:    Acpi_rs_dump_address32 * * PARAMETERS:  Data            - pointer to the resource structure to dump. * * RETURN:      None * * DESCRIPTION: Prints out the various members of the Data structure type. * ******************************************************************************/voidacpi_rs_dump_address32 (	acpi_resource_data      *data){	acpi_resource_address32 *address32_data = (acpi_resource_address32 *) data;	FUNCTION_ENTRY ();	acpi_os_printf ("32-Bit Address Space Resource\n");	switch (address32_data->resource_type) {	case MEMORY_RANGE:		acpi_os_printf ("  Resource Type: Memory Range\n");		switch (address32_data->attribute.memory.cache_attribute) {		case NON_CACHEABLE_MEMORY:			acpi_os_printf ("  Type Specific: "					  "Noncacheable memory\n");			break;		case CACHABLE_MEMORY:			acpi_os_printf ("  Type Specific: "					  "Cacheable memory\n");			break;		case WRITE_COMBINING_MEMORY:			acpi_os_printf ("  Type Specific: "					  "Write-combining memory\n");			break;		case PREFETCHABLE_MEMORY:			acpi_os_printf ("  Type Specific: "					  "Prefetchable memory\n");			break;		default:			acpi_os_printf ("  Type Specific: "					  "Invalid cache attribute\n");			break;		}		acpi_os_printf ("  Type Specific: Read%s\n",			READ_WRITE_MEMORY ==			address32_data->attribute.memory.read_write_attribute ?			"/Write" : " Only");		break;	case IO_RANGE:		acpi_os_printf ("  Resource Type: Io Range\n");		switch (address32_data->attribute.io.range_attribute) {			case NON_ISA_ONLY_RANGES:				acpi_os_printf ("  Type Specific: "						  "Non-ISA Io Addresses\n");				break;			case ISA_ONLY_RANGES:				acpi_os_printf ("  Type Specific: "						  "ISA Io Addresses\n");				break;			case ENTIRE_RANGE:				acpi_os_printf ("  Type Specific: "						  "ISA and non-ISA Io Addresses\n");				break;			default:				acpi_os_printf ("  Type Specific: "						  "Invalid Range attribute");				break;			}		break;	case BUS_NUMBER_RANGE:		acpi_os_printf ("  Resource Type: Bus Number Range\n");		break;	default:		acpi_os_printf ("  Invalid Resource Type..exiting.\n");		return;	}	acpi_os_printf ("  Resource %s\n",			 CONSUMER == address32_data->producer_consumer ?			 "Consumer" : "Producer");	acpi_os_printf ("  %s decode\n",			 SUB_DECODE == address32_data->decode ?			 "Subtractive" : "Positive");	acpi_os_printf ("  Min address is %s fixed\n",			 ADDRESS_FIXED == address32_data->min_address_fixed ?			 "" : "not ");	acpi_os_printf ("  Max address is %s fixed\n",			 ADDRESS_FIXED == address32_data->max_address_fixed ?			 "" : "not ");	acpi_os_printf ("  Granularity: %08X\n",			 address32_data->granularity);	acpi_os_printf ("  Address range min: %08X\n",			 address32_data->min_address_range);	acpi_os_printf ("  Address range max: %08X\n",			 address32_data->max_address_range);	acpi_os_printf ("  Address translation offset: %08X\n",			 address32_data->address_translation_offset);	acpi_os_printf ("  Address Length: %08X\n",			 address32_data->address_length);	if(0xFF != address32_data->resource_source.index) {		acpi_os_printf ("  Resource Source Index: %X\n",				 address32_data->resource_source.index);		acpi_os_printf ("  Resource Source: %s\n",				 address32_data->resource_source.string_ptr);	}	return;}/******************************************************************************* * * FUNCTION:    Acpi_rs_dump_address64 * * PARAMETERS:  Data            - pointer to the resource structure to dump. * * RETURN:      None * * DESCRIPTION: Prints out the various members of the Data structure type. * ******************************************************************************/voidacpi_rs_dump_address64 (	acpi_resource_data      *data){	acpi_resource_address64 *address64_data = (acpi_resource_address64 *) data;	FUNCTION_ENTRY ();	acpi_os_printf ("64-Bit Address Space Resource\n");	switch (address64_data->resource_type) {	case MEMORY_RANGE:		acpi_os_printf ("  Resource Type: Memory Range\n");		switch (address64_data->attribute.memory.cache_attribute) {		case NON_CACHEABLE_MEMORY:			acpi_os_printf ("  Type Specific: "					  "Noncacheable memory\n");			break;		case CACHABLE_MEMORY:			acpi_os_printf ("  Type Specific: "					  "Cacheable memory\n");			break;		case WRITE_COMBINING_MEMORY:			acpi_os_printf ("  Type Specific: "					  "Write-combining memory\n");			break;		case PREFETCHABLE_MEMORY:			acpi_os_printf ("  Type Specific: "					  "Prefetchable memory\n");			break;		default:			acpi_os_printf ("  Type Specific: "					  "Invalid cache attribute\n");			break;		}		acpi_os_printf ("  Type Specific: Read%s\n",			READ_WRITE_MEMORY ==			address64_data->attribute.memory.read_write_attribute ?			"/Write" : " Only");		break;	case IO_RANGE:		acpi_os_printf ("  Resource Type: Io Range\n");		switch (address64_data->attribute.io.range_attribute) {			case NON_ISA_ONLY_RANGES:				acpi_os_printf ("  Type Specific: "						  "Non-ISA Io Addresses\n");				break;			case ISA_ONLY_RANGES:				acpi_os_printf ("  Type Specific: "						  "ISA Io Addresses\n");				break;			case ENTIRE_RANGE:				acpi_os_printf ("  Type Specific: "						  "ISA and non-ISA Io Addresses\n");				break;			default:				acpi_os_printf ("  Type Specific: "						  "Invalid Range attribute");				break;			}		break;	case BUS_NUMBER_RANGE:		acpi_os_printf ("  Resource Type: Bus Number Range\n");		break;	default:		acpi_os_printf ("  Invalid Resource Type..exiting.\n");		return;	}	acpi_os_printf ("  Resource %s\n",			 CONSUMER == address64_data->producer_consumer ?			 "Consumer" : "Producer");	acpi_os_printf ("  %s decode\n",			 SUB_DECODE == address64_data->decode ?			 "Subtractive" : "Positive");	acpi_os_printf ("  Min address is %s fixed\n",			 ADDRESS_FIXED == address64_data->min_address_fixed ?			 "" : "not ");	acpi_os_printf ("  Max address is %s fixed\n",			 ADDRESS_FIXED == address64_data->max_address_fixed ?			 "" : "not ");	acpi_os_printf ("  Granularity: %16X\n",			 address64_data->granularity);	acpi_os_printf ("  Address range min: %16X\n",			 address64_data->min_address_range);	acpi_os_printf ("  Address range max: %16X\n",			 address64_data->max_address_range);	acpi_os_printf ("  Address translation offset: %16X\n",			 address64_data->address_translation_offset);	acpi_os_printf ("  Address Length: %16X\n",			 address64_data->address_length);	if(0xFF != address64_data->resource_source.index) {		acpi_os_printf ("  Resource Source Index: %X\n",				 address64_data->resource_source.index);		acpi_os_printf ("  Resource Source: %s\n",				 address64_data->resource_source.string_ptr);	}	return;}/******************************************************************************* * * FUNCTION:    Acpi_rs_dump_extended_irq * * PARAMETERS:  Data            - pointer to the resource structure to dump. * * RETURN:      None * * DESCRIPTION: Prints out the various members of the Data structure type. * ******************************************************************************/voidacpi_rs_dump_extended_irq (	acpi_resource_data      *data){	acpi_resource_ext_irq   *ext_irq_data = (acpi_resource_ext_irq *) data;	u8                      index = 0;	FUNCTION_ENTRY ();	acpi_os_printf ("Extended IRQ Resource\n");	acpi_os_printf ("  Resource %s\n",			 CONSUMER == ext_irq_data->producer_consumer ?			 "Consumer" : "Producer");	acpi_os_printf ("  %s\n",			 LEVEL_SENSITIVE == ext_irq_data->edge_level ?			 "Level" : "Edge");	acpi_os_printf ("  Active %s\n",			 ACTIVE_LOW == ext_irq_data->active_high_low ?			 "low" : "high");	acpi_os_printf ("  %s\n",			 SHARED == ext_irq_data->shared_exclusive ?			 "Shared" : "Exclusive");	acpi_os_printf ("  Interrupts : %X ( ",			 ext_irq_data->number_of_interrupts);	for (index = 0; index < ext_irq_data->number_of_interrupts; index++) {		acpi_os_printf ("%X ", ext_irq_data->interrupts[index]);	}	acpi_os_printf (")\n");	if(0xFF != ext_irq_data->resource_source.index) {		acpi_os_printf ("  Resource Source Index: %X",				 ext_irq_data->resource_source.index);		acpi_os_printf ("  Resource Source: %s",				 ext_irq_data->resource_source.string_ptr);	}	return;}/******************************************************************************* * * FUNCTION:    Acpi_rs_dump_resource_list * * PARAMETERS:  Data            - pointer to the resource structure to dump. * * RETURN:      None * * DESCRIPTION: Dispatches the structure to the correct dump routine. * ******************************************************************************/voidacpi_rs_dump_resource_list (	acpi_resource       *resource){	u8                  count = 0;	u8                  done = FALSE;	FUNCTION_ENTRY ();	if (acpi_dbg_level & ACPI_LV_RESOURCES && _COMPONENT & acpi_dbg_layer) {		while (!done) {			acpi_os_printf ("Resource structure %x.\n", count++);			switch (resource->id) {			case ACPI_RSTYPE_IRQ:				acpi_rs_dump_irq (&resource->data);				break;			case ACPI_RSTYPE_DMA:				acpi_rs_dump_dma (&resource->data);				break;			case ACPI_RSTYPE_START_DPF:				acpi_rs_dump_start_dependent_functions (&resource->data);				break;			case ACPI_RSTYPE_END_DPF:				acpi_os_printf ("End_dependent_functions Resource\n");				/* Acpi_rs_dump_end_dependent_functions (Resource->Data);*/				break;			case ACPI_RSTYPE_IO:				acpi_rs_dump_io (&resource->data);				break;			case ACPI_RSTYPE_FIXED_IO:				acpi_rs_dump_fixed_io (&resource->data);				break;			case ACPI_RSTYPE_VENDOR:				acpi_rs_dump_vendor_specific (&resource->data);				break;			case ACPI_RSTYPE_END_TAG:				/*Rs_dump_end_tag (Resource->Data);*/				acpi_os_printf ("End_tag Resource\n");				done = TRUE;				break;			case ACPI_RSTYPE_MEM24:				acpi_rs_dump_memory24 (&resource->data);				break;			case ACPI_RSTYPE_MEM32:				acpi_rs_dump_memory32 (&resource->data);				break;			case ACPI_RSTYPE_FIXED_MEM32:				acpi_rs_dump_fixed_memory32 (&resource->data);				break;			case ACPI_RSTYPE_ADDRESS16:				acpi_rs_dump_address16 (&resource->data);				break;			case ACPI_RSTYPE_ADDRESS32:				acpi_rs_dump_address32 (&resource->data);				break;			case ACPI_RSTYPE_ADDRESS64:				acpi_rs_dump_address64 (&resource->data);				break;			case ACPI_RSTYPE_EXT_IRQ:				acpi_rs_dump_extended_irq (&resource->data);				break;			default:				acpi_os_printf ("Invalid resource type\n");				break;			}			resource = POINTER_ADD (acpi_resource, resource, resource->length);		}	}	return;}/******************************************************************************* * * FUNCTION:    Acpi_rs_dump_irq_list * * PARAMETERS:  Data            - pointer to the routing table to dump. * * RETURN:      None * * DESCRIPTION: Dispatches the structures to the correct dump routine. * ******************************************************************************/voidacpi_rs_dump_irq_list (	u8                  *route_table){	u8                  *buffer = route_table;	u8                  count = 0;	u8                  done = FALSE;	pci_routing_table   *prt_element;	FUNCTION_ENTRY ();	if (acpi_dbg_level & ACPI_LV_RESOURCES && _COMPONENT & acpi_dbg_layer) {		prt_element = (pci_routing_table *) buffer;		while (!done) {			acpi_os_printf ("PCI IRQ Routing Table structure %X.\n", count++);			acpi_os_printf ("  Address: %X\n",					 prt_element->address);			acpi_os_printf ("  Pin: %X\n", prt_element->pin);			acpi_os_printf ("  Source: %s\n", prt_element->source);			acpi_os_printf ("  Source_index: %X\n",					 prt_element->source_index);			buffer += prt_element->length;			prt_element = (pci_routing_table *) buffer;			if(0 == prt_element->length) {				done = TRUE;			}		}	}	return;}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -