/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" #include #include static struct mcproptostr { mcamd_propcode_t code; const char *name; } _propstrings[] = { /* * Common codes */ { MCAMD_PROP_NUM, MCAMD_PROPSTR_NUM }, { MCAMD_PROP_SIZE, MCAMD_PROPSTR_SIZE }, { MCAMD_PROP_BASE_ADDR, MCAMD_PROPSTR_BASE_ADDR }, /* * Memory controller properties */ { MCAMD_PROP_REV, MCAMD_PROPSTR_REV }, { MCAMD_PROP_LIM_ADDR, MCAMD_PROPSTR_LIM_ADDR }, { MCAMD_PROP_ILEN, MCAMD_PROPSTR_ILEN }, { MCAMD_PROP_ILSEL, MCAMD_PROPSTR_ILSEL }, { MCAMD_PROP_CSINTLVFCTR, MCAMD_PROPSTR_CSINTLVFCTR }, { MCAMD_PROP_ACCESS_WIDTH, MCAMD_PROPSTR_ACCESS_WIDTH }, { MCAMD_PROP_CSBANKMAPREG, MCAMD_PROPSTR_CSBANKMAPREG }, { MCAMD_PROP_BANKSWZL, MCAMD_PROPSTR_BANKSWZL }, { MCAMD_PROP_DRAMHOLE_SIZE, MCAMD_PROPSTR_DRAMHOLE_SIZE }, { MCAMD_PROP_MOD64MUX, MCAMD_PROPSTR_MOD64MUX }, { MCAMD_PROP_SPARECS, MCAMD_PROPSTR_SPARECS }, { MCAMD_PROP_BADCS, MCAMD_PROPSTR_BADCS }, /* * Chip-select properties */ { MCAMD_PROP_MASK, MCAMD_PROPSTR_MASK }, { MCAMD_PROP_CSBE, MCAMD_PROPSTR_CSBE }, { MCAMD_PROP_SPARE, MCAMD_PROPSTR_SPARE }, { MCAMD_PROP_TESTFAIL, MCAMD_PROPSTR_TESTFAIL }, { MCAMD_PROP_CSDIMM1, MCAMD_PROPSTR_CSDIMM1 }, { MCAMD_PROP_CSDIMM2, MCAMD_PROPSTR_CSDIMM2 }, { MCAMD_PROP_DIMMRANK, MCAMD_PROPSTR_DIMMRANK }, }; static const int _nprop = sizeof (_propstrings) / sizeof (struct mcproptostr); const char * mcamd_get_propname(mcamd_propcode_t code) { int i; for (i = 0; i < _nprop; i++) { if (_propstrings[i].code == code) return (_propstrings[i].name); } return (NULL); }