pi_impl.h revision fc33347812f84907261f6fd501e2409da108b8d8
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * CDDL HEADER START
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The contents of this file are subject to the terms of the
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Common Development and Distribution License (the "License").
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * You may not use this file except in compliance with the License.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * See the License for the specific language governing permissions
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * and limitations under the License.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * When distributing Covered Code, include this CDDL HEADER in each
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * If applicable, add the following below this CDDL HEADER, with the
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * fields enclosed by brackets "[]" replaced with your own identifying
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * information: Portions Copyright [yyyy] [name of copyright owner]
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * CDDL HEADER END
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * SUN4V Platform Independent Enumerator private interfaces
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* Definitions used when registering the enumerator with libtopo */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define SUN4VPI_DESC "SUN4V Platform independent topology enumerator"
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* Flags used by pi_enum_generic_impl */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define SUN4VPI_ENUM_ADD_SERIAL 1 /* Add serial to resource */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte/* Definitions used when working with PRI machine description nodes */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define MD_STR_CFG_HANDLE "cfg-handle" /* FWARC/2008/300 */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define MD_STR_COMPONENT "component" /* FWARC/2006/700 */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define MD_STR_COMPONENTS "components" /* FWARC/2006/700 */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define MD_STR_DASH_NUMBER "dash_number" /* FWARC/2006/700 */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define MD_STR_PART_NUMBER "part_number" /* FWARC/2008/300 */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define MD_STR_PHY_NUMBER "phy_number" /* FWARC/2010/185 */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define MD_STR_PRODUCT "product" /* FWARC/2009/390 */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define MD_STR_REVISION_NUMBER "rev_number" /* FWARC/2008/300 */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define MD_STR_SERIAL_NUMBER "serial_number" /* FWARC/2008/300 */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define MD_STR_TOPO_HC_NAME "topo-hc-name" /* FWARC/2008/300 */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define MD_STR_TOPO_SKIP "topo-skip" /* FWARC/2008/300 */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * The enumerator needs to pass some state in to the function that walks
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * the PRI graph. This structure contains the necessary information.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ssize_t ldom_bufsize; /* LDOM connection data size */
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Some node types require custom functions to create their topology nodes.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * This function prototype defines the interface to these functions.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortetypedef int pi_enum_fn_t(topo_mod_t *, md_t *, mde_cookie_t, topo_instance_t,
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Fortepi_enum_fn_t pi_enum_cpu; /* Enumerate a CHIP/CORE/CPU node */
pi_deferenum_fn_t, void *);
#ifdef __cplusplus