1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright 2010 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 #ifndef _LDOMS_H 28 #define _LDOMS_H 29 30 #ifdef __cplusplus 31 extern "C" { 32 #endif 33 34 #include <sys/param.h> 35 36 /* 37 * Global LDoms definitions. 38 */ 39 40 /* 41 * LDOMS_MAX_DOMAINS refers to the maximum theoretical number of 42 * domains supported by Solaris based on per-domain resources that 43 * are allocated. The actual number of domains supported by a 44 * platform is defined by the firmware. 45 * 46 * When adjusting this value please ensure that resources such 47 * as the following are approriately scaled: 48 * - channel nexus interrupt cookies 49 * - domain services ports 50 * - NCPUS 51 * - etc... 52 */ 53 #define LDOMS_MAX_DOMAINS 512 54 55 /* maximum number of characters in the logical domain name */ 56 #define LDOMS_MAX_NAME_LEN MAXNAMELEN 57 58 /* 59 * Global flags that indicate what domaining features are 60 * available, if any. The value is set at boot time based on 61 * the value of the 'domaining-enabled' property in the MD 62 * and the global override flag 'force_domaining_disabled'. 63 * Updates to this variable after boot are not supported. 64 */ 65 extern uint_t domaining_capabilities; 66 67 /* values for domaining_capabilities word (above) */ 68 #define DOMAINING_SUPPORTED 0x1 69 #define DOMAINING_ENABLED 0x2 70 71 #define domaining_supported() \ 72 ((domaining_capabilities & DOMAINING_SUPPORTED) != 0) 73 #define domaining_enabled() \ 74 ((domaining_capabilities & DOMAINING_ENABLED) != 0) 75 76 77 #ifdef __cplusplus 78 } 79 #endif 80 81 #endif /* _LDOMS_H */ 82