status = acpi_os_map_memory (address->pointer.physical, sizeof (struct acpi_table_header), (void *) &header); 
status = acpi_os_map_memory (address->pointer.physical, sizeof (struct acpi_table_header), (void *) &header); 
acpi_tb_get_table_header (	struct acpi_pointer             *address,	struct acpi_table_header        *return_header){	acpi_status                     status = AE_OK;	struct acpi_table_header        *header = NULL;	ACPI_FUNCTION_TRACE ("tb_get_table_header");	/*	 * Flags contains the current processor mode (Virtual or Physical addressing)	 * The pointer_type is either Logical or Physical	 */	switch (address->pointer_type) {	case ACPI_PHYSMODE_PHYSPTR:	case ACPI_LOGMODE_LOGPTR:		/* Pointer matches processor mode, copy the header */		ACPI_MEMCPY (return_header, address->pointer.logical, sizeof (struct acpi_table_header));		break;	case ACPI_LOGMODE_PHYSPTR:		/* Create a logical address for the physical pointer*/		status = acpi_os_map_memory (address->pointer.physical, sizeof (struct acpi_table_header),				  (void *) &header);		if (ACPI_FAILURE (status)) {			ACPI_REPORT_ERROR (("Could not map memory at %8.8X%8.8X for length %X\n",				ACPI_FORMAT_UINT64 (address->pointer.physical),				sizeof (struct acpi_table_header)));			return_ACPI_STATUS (status);		}		/* Copy header and delete mapping */		ACPI_MEMCPY (return_header, header, sizeof (struct acpi_table_header));		acpi_os_unmap_memory (header, sizeof (struct acpi_table_header));		break;	default:		ACPI_REPORT_ERROR (("Invalid address flags %X\n",			address->pointer_type));		return_ACPI_STATUS (AE_BAD_PARAMETER);	}	ACPI_DEBUG_PRINT ((ACPI_DB_TABLES, "Table Signature: [%4.4s]\n",		return_header->signature));	return_ACPI_STATUS (AE_OK);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/44f6c01242da4e162f28d8e1216a8c7a91174605/tbget.c/buggy/drivers/acpi/tables/tbget.c