opl_cfg.h revision e98fafb9956429b59c817d4fbd27720c73879203
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 2007 Sun Microsystems, Inc. All rights reserved.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Use is subject to license terms.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#pragma ident "%Z%%M% %I% %E% SMI"
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Hardware Descriptor.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * CPU device portid:
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * 1 0 0 0 0 0 0 0 0 0 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * 0 9 8 7 6 5 4 3 2 1 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * ---------------------------------------
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * | 1 | LSB ID | CHIP | CORE | CPU |
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * ---------------------------------------
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define OPL_CPUID_TO_LSB(devid) ((devid >> 5) & OPL_LSBID_MASK)
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define OPL_PORTID(board, chip) ((1 << 10) | (board << 5) | (chip << 3))
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ((board << 5) | (chip << 3) | (core << 1) | (cpu))
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Dummy address space for a chip.
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte ((1ULL << 46) | ((uint64_t)board << 40) | (1ULL << 39) | \
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * pseudo-mc portid:
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * 1 0 0 0 0 0 0 0 0 0 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * 0 9 8 7 6 5 4 3 2 1 0
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * -------------------------------------
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * | 0 | 1 | LSB ID | 0 |
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * -------------------------------------
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte#define OPL_LSB_TO_PSEUDOMC_PORTID(board) ((1 << 9) | (board << 4))
fcf3ce441efd61da9bb2884968af01cb7c1452ccJohn Forte * Dummy address space for a pseudo memory node
* Defines used by the Jupiter bus-specific library (lfc_jupiter.so).
#if defined(_KERNEL)
char *cfg_cmuch_probe_str;
void *cfg_hwd;
int pr_board;
int pr_cpu_chip;
int pr_core;
int pr_cpu;
int pr_channel;
int pr_channel_status;
int pr_leaf;
int pr_leaf_status;
int pr_hold;
unsigned pr_cpu_impl;
} opl_probe_t;
} opl_addr_t;
} opl_range_t;
int mc_bank;
return (DDI_WALK_ERROR); \
char *fc_service;
} opl_fc_ops_t;
extern int opl_probe_sb(int, unsigned *);
extern int opl_unprobe_sb(int);
extern void opl_hold_devtree(void);
extern void opl_release_devtree(void);
extern int opl_init_cfg();
#ifdef __cplusplus