status = acpi_os_map_memory (address->pointer.physical, sizeof (struct rsdp_descriptor), (void *) &rsdp); 
status = acpi_os_map_memory (address->pointer.physical, sizeof (struct rsdp_descriptor), (void *) &rsdp); 
acpi_tb_verify_rsdp (	struct acpi_pointer             *address){	struct acpi_table_desc          table_info;	acpi_status                     status;	struct rsdp_descriptor          *rsdp;	ACPI_FUNCTION_TRACE ("tb_verify_rsdp");	switch (address->pointer_type) {	case ACPI_LOGICAL_POINTER:		rsdp = address->pointer.logical;		break;	case ACPI_PHYSICAL_POINTER:		/*		 * Obtain access to the RSDP structure		 */		status = acpi_os_map_memory (address->pointer.physical, sizeof (struct rsdp_descriptor),				  (void *) &rsdp);		if (ACPI_FAILURE (status)) {			return_ACPI_STATUS (status);		}		break;	default:		return_ACPI_STATUS (AE_BAD_PARAMETER);	}	/*	 *  The signature and checksum must both be correct	 */	if (ACPI_STRNCMP ((char *) rsdp, RSDP_SIG, sizeof (RSDP_SIG)-1) != 0) {		/* Nope, BAD Signature */		status = AE_BAD_SIGNATURE;		goto cleanup;	}	/* Check the standard checksum */	if (acpi_tb_checksum (rsdp, ACPI_RSDP_CHECKSUM_LENGTH) != 0) {		status = AE_BAD_CHECKSUM;		goto cleanup;	}	/* Check extended checksum if table version >= 2 */	if (rsdp->revision >= 2) {		if (acpi_tb_checksum (rsdp, ACPI_RSDP_XCHECKSUM_LENGTH) != 0) {			status = AE_BAD_CHECKSUM;			goto cleanup;		}	}	/* The RSDP supplied is OK */	table_info.pointer     = ACPI_CAST_PTR (struct acpi_table_header, rsdp);	table_info.length      = sizeof (struct rsdp_descriptor);	table_info.allocation  = ACPI_MEM_MAPPED;	/* Save the table pointers and allocation info */	status = acpi_tb_init_table_descriptor (ACPI_TABLE_RSDP, &table_info);	if (ACPI_FAILURE (status)) {		goto cleanup;	}	/* Save the RSDP in a global for easy access */	acpi_gbl_RSDP = ACPI_CAST_PTR (struct rsdp_descriptor, table_info.pointer);	return_ACPI_STATUS (status);	/* Error exit */cleanup:	if (acpi_gbl_table_flags & ACPI_PHYSICAL_POINTER) {		acpi_os_unmap_memory (rsdp, sizeof (struct rsdp_descriptor));	}	return_ACPI_STATUS (status);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/44f6c01242da4e162f28d8e1216a8c7a91174605/tbrsdt.c/clean/drivers/acpi/tables/tbrsdt.c