3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * CDDL HEADER START
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * The contents of this file are subject to the terms of the
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * Common Development and Distribution License (the "License").
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * You may not use this file except in compliance with the License.
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * See the License for the specific language governing permissions
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * and limitations under the License.
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * When distributing Covered Code, include this CDDL HEADER in each
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * If applicable, add the following below this CDDL HEADER, with the
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * fields enclosed by brackets "[]" replaced with your own identifying
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * information: Portions Copyright [yyyy] [name of copyright owner]
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * CDDL HEADER END
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * Use is subject to license terms.
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs#pragma ident "%Z%%M% %I% %E% SMI"
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qsextern "C" {
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs/* Common Block ID */
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs/* Common HW error code */
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs/* HW unable to exit from reset state. */
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs/* Write operation failed on indirect write. */
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs/* Read operation failed on indirect read. */
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs/* Common SW errors code */
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs#define CHANNEL_INVALID 0x42 /* Invalid dma channel number */
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs#define REGISTER_INVALID 0x44 /* Invalid register number */
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs#define LOGICAL_PAGE_INVALID 0x47 /* Invalid logical page # */
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs#define RDC_TAB_INVALID 0x49 /* Invalid RDC Group Number */
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs#define LOCATION_INVALID 0x4a /* Invalid Entry Location */
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * Block identifier starts at bit 8.
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * Port, channel and misc. information starts at bit 12.
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * Software Block specific error codes start at 0x50.
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * Hardware block specific error codes start at 0x90.
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs/* Structures for register tracing */
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * Control Address field format
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * Bit 0 - 23: Address
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * Bit 24 - 25: Function Number
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * Bit 26 - 29: Instance Number
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * Bit 30: Read/Write Direction bit
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs * Bit 31: Invalid bit
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs/* Configuration options */
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs/* I/O options */
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs/* HPI Handle */
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs/* HPI Handle */
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qsvoid hpi_rtrace_update(hpi_handle_t handle, boolean_t wr, rtrace_t *rt,
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qsvoid hpi_debug_msg(hpi_handle_function_t function, uint64_t level,
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs char *fmt, ...);
3dec9fcdd56adf1b4a563137b4915c8f2d83b881qs#endif /* _HPI_H */