2N/A * The contents of this file are subject to the terms of the 2N/A * Common Development and Distribution License (the "License"). 2N/A * You may not use this file except in compliance with the License. 2N/A * See the License for the specific language governing permissions 2N/A * and limitations under the License. 2N/A * When distributing Covered Code, include this CDDL HEADER in each 2N/A * If applicable, add the following below this CDDL HEADER, with the 2N/A * fields enclosed by brackets "[]" replaced with your own identifying 2N/A * information: Portions Copyright [yyyy] [name of copyright owner] 2N/A * Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved. 2N/A * platform specific cpu module 2N/A * There is no platform specific cpu module, so use 2N/A * the default enumeration with kstats of this builtin 2N/A "cpu enumeration failed to create " 2N/A "cpu range [0-%d]: %s\n",
2N/A return (-
1);
/* mod_errno set */ 2N/A /* Fail to load the module */ 2N/A "Failed to load module %s: %s",
2N/A "%s failed to enumerate: %s",
2N/A * Serial number is an optional element 2N/A * Cache index, way and type are optional elements 2N/A * But if we have one of them, we must have them all. 2N/A /* Insure there were no errors accessing the nvl */ 2N/A /* If we have a serial string and no cache info */ 2N/A "cpu:///%s=%u/%s=%u/%s=%u/%s=%d/%s=%d",
2N/A "cpu:///%s=%u/%s=%s",
2N/A "cpu:///%s=%u/%s=%s/%s=%u/%s=%u/%s=%d/%s=%d",
2N/A /* We're expecting a string version of a cpu scheme FMRI */ 2N/A /* If there is a serial #, then there might also be cache data */ 2N/A /* If there is cache data, all must be present */ 2N/A /* Now terminate the serial string */ 2N/A * This routine requires arguments to be packed in the 2N/A * format used in topo_fmri_create() 2N/A * just skip the next char ("/") as there is no auth for cpu 2N/A * First compare the cpuid bit (first element) 2N/A * If next element is FM_FMRI_CPU_SERIAL_ID then skip it 2N/A * and compare what's left.