1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo/*
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo * CDDL HEADER START
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo *
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo * The contents of this file are subject to the terms of the
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo * Common Development and Distribution License (the "License").
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo * You may not use this file except in compliance with the License.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo *
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo * or http://www.opensolaris.org/os/licensing.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo * See the License for the specific language governing permissions
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo * and limitations under the License.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo *
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo * When distributing Covered Code, include this CDDL HEADER in each
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo * If applicable, add the following below this CDDL HEADER, with the
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo * fields enclosed by brackets "[]" replaced with your own identifying
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo * information: Portions Copyright [yyyy] [name of copyright owner]
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo *
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo * CDDL HEADER END
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo */
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo/*
82629e3015252bf18319ba3815c773df23e21436Mike Christensen * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo * Use is subject to license terms.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo */
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#ifndef _LDOMS_H
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#define _LDOMS_H
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#ifdef __cplusplus
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoextern "C" {
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#endif
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
82629e3015252bf18319ba3815c773df23e21436Mike Christensen#include <sys/param.h>
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo/*
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo * Global LDoms definitions.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo */
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
3ef557bf6acbaf0905479800b87d010f8715a11eMike Christensen/*
3ef557bf6acbaf0905479800b87d010f8715a11eMike Christensen * LDOMS_MAX_DOMAINS refers to the maximum theoretical number of
3ef557bf6acbaf0905479800b87d010f8715a11eMike Christensen * domains supported by Solaris based on per-domain resources that
3ef557bf6acbaf0905479800b87d010f8715a11eMike Christensen * are allocated. The actual number of domains supported by a
3ef557bf6acbaf0905479800b87d010f8715a11eMike Christensen * platform is defined by the firmware.
3ef557bf6acbaf0905479800b87d010f8715a11eMike Christensen *
3ef557bf6acbaf0905479800b87d010f8715a11eMike Christensen * When adjusting this value please ensure that resources such
3ef557bf6acbaf0905479800b87d010f8715a11eMike Christensen * as the following are approriately scaled:
3ef557bf6acbaf0905479800b87d010f8715a11eMike Christensen * - channel nexus interrupt cookies
3ef557bf6acbaf0905479800b87d010f8715a11eMike Christensen * - domain services ports
3ef557bf6acbaf0905479800b87d010f8715a11eMike Christensen * - NCPUS
3ef557bf6acbaf0905479800b87d010f8715a11eMike Christensen * - etc...
3ef557bf6acbaf0905479800b87d010f8715a11eMike Christensen */
3ef557bf6acbaf0905479800b87d010f8715a11eMike Christensen#define LDOMS_MAX_DOMAINS 512
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo/* maximum number of characters in the logical domain name */
82629e3015252bf18319ba3815c773df23e21436Mike Christensen#define LDOMS_MAX_NAME_LEN MAXNAMELEN
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo/*
4bac220845f606f60663ed6f3a2b88caa00ae87enarayan * Global flags that indicate what domaining features are
4bac220845f606f60663ed6f3a2b88caa00ae87enarayan * available, if any. The value is set at boot time based on
4bac220845f606f60663ed6f3a2b88caa00ae87enarayan * the value of the 'domaining-enabled' property in the MD
4bac220845f606f60663ed6f3a2b88caa00ae87enarayan * and the global override flag 'force_domaining_disabled'.
4bac220845f606f60663ed6f3a2b88caa00ae87enarayan * Updates to this variable after boot are not supported.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo */
4bac220845f606f60663ed6f3a2b88caa00ae87enarayanextern uint_t domaining_capabilities;
4bac220845f606f60663ed6f3a2b88caa00ae87enarayan
4bac220845f606f60663ed6f3a2b88caa00ae87enarayan/* values for domaining_capabilities word (above) */
4bac220845f606f60663ed6f3a2b88caa00ae87enarayan#define DOMAINING_SUPPORTED 0x1
4bac220845f606f60663ed6f3a2b88caa00ae87enarayan#define DOMAINING_ENABLED 0x2
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
22e19ac1a2d512ea8d74e4f3662c08787d0716b1jm#define domaining_supported() \
22e19ac1a2d512ea8d74e4f3662c08787d0716b1jm ((domaining_capabilities & DOMAINING_SUPPORTED) != 0)
22e19ac1a2d512ea8d74e4f3662c08787d0716b1jm#define domaining_enabled() \
22e19ac1a2d512ea8d74e4f3662c08787d0716b1jm ((domaining_capabilities & DOMAINING_ENABLED) != 0)
22e19ac1a2d512ea8d74e4f3662c08787d0716b1jm
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#ifdef __cplusplus
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo}
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#endif
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#endif /* _LDOMS_H */