3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb/*
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * CDDL HEADER START
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb *
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * The contents of this file are subject to the terms of the
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * Common Development and Distribution License (the "License").
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * You may not use this file except in compliance with the License.
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb *
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * or http://www.opensolaris.org/os/licensing.
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * See the License for the specific language governing permissions
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * and limitations under the License.
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb *
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * When distributing Covered Code, include this CDDL HEADER in each
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * If applicable, add the following below this CDDL HEADER, with the
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * fields enclosed by brackets "[]" replaced with your own identifying
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * information: Portions Copyright [yyyy] [name of copyright owner]
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb *
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * CDDL HEADER END
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb */
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb/*
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * Use is subject to license terms.
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb */
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb#pragma ident "%Z%%M% %I% %E% SMI"
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb#include <sys/promif.h>
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb#include <sys/promimpl.h>
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb/*
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * This interface allows the client to specify that the client
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb * supports soft state, so OBP should not set SIS_NORMAL.
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb */
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajbvoid
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajbprom_sun4v_soft_state_supported(void)
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb{
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb cell_t ci[3];
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb if (prom_test("SUNW,soft-state-supported") != 0)
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb return;
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb ci[0] = p1275_ptr2cell("SUNW,soft-state-supported"); /* Service */
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb ci[1] = (cell_t)0; /* No Arguments */
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb ci[2] = (cell_t)0; /* No return values */
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb promif_preprom();
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb (void) p1275_cif_handler(&ci);
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb promif_postprom();
3b890a5b92df88d9d90b2d7ac57e8c1e93e59e6ajb}