1*2df1fe9cSrandyf /* 2*2df1fe9cSrandyf * CDDL HEADER START 3*2df1fe9cSrandyf * 4*2df1fe9cSrandyf * The contents of this file are subject to the terms of the 5*2df1fe9cSrandyf * Common Development and Distribution License (the "License"). 6*2df1fe9cSrandyf * You may not use this file except in compliance with the License. 7*2df1fe9cSrandyf * 8*2df1fe9cSrandyf * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*2df1fe9cSrandyf * or http://www.opensolaris.org/os/licensing. 10*2df1fe9cSrandyf * See the License for the specific language governing permissions 11*2df1fe9cSrandyf * and limitations under the License. 12*2df1fe9cSrandyf * 13*2df1fe9cSrandyf * When distributing Covered Code, include this CDDL HEADER in each 14*2df1fe9cSrandyf * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*2df1fe9cSrandyf * If applicable, add the following below this CDDL HEADER, with the 16*2df1fe9cSrandyf * fields enclosed by brackets "[]" replaced with your own identifying 17*2df1fe9cSrandyf * information: Portions Copyright [yyyy] [name of copyright owner] 18*2df1fe9cSrandyf * 19*2df1fe9cSrandyf * CDDL HEADER END 20*2df1fe9cSrandyf */ 21*2df1fe9cSrandyf /* 22*2df1fe9cSrandyf * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 23*2df1fe9cSrandyf * Use is subject to license terms. 24*2df1fe9cSrandyf */ 25*2df1fe9cSrandyf 26*2df1fe9cSrandyf #pragma ident "%Z%%M% %I% %E% SMI" 27*2df1fe9cSrandyf 28*2df1fe9cSrandyf /* 29*2df1fe9cSrandyf * cpr functions for supported sparc platforms 30*2df1fe9cSrandyf */ 31*2df1fe9cSrandyf #include <sys/types.h> 32*2df1fe9cSrandyf #include <sys/systm.h> 33*2df1fe9cSrandyf #include <sys/cpr.h> 34*2df1fe9cSrandyf #include <sys/kmem.h> 35*2df1fe9cSrandyf #include <sys/errno.h> 36*2df1fe9cSrandyf 37*2df1fe9cSrandyf /* 38*2df1fe9cSrandyf * setup the original and new sets of property names/values 39*2df1fe9cSrandyf * Not relevant to S3, which is all we support for now. 40*2df1fe9cSrandyf */ 41*2df1fe9cSrandyf /*ARGSUSED*/ 42*2df1fe9cSrandyf int 43*2df1fe9cSrandyf cpr_default_setup(int alloc) 44*2df1fe9cSrandyf { 45*2df1fe9cSrandyf return (0); 46*2df1fe9cSrandyf } 47*2df1fe9cSrandyf 48*2df1fe9cSrandyf void 49*2df1fe9cSrandyf cpr_send_notice(void) 50*2df1fe9cSrandyf { 51*2df1fe9cSrandyf static char cstr[] = "\014" "\033[1P" "\033[18;21H"; 52*2df1fe9cSrandyf 53*2df1fe9cSrandyf prom_printf(cstr); 54*2df1fe9cSrandyf prom_printf("Saving System State. Please Wait... "); 55*2df1fe9cSrandyf } 56*2df1fe9cSrandyf 57*2df1fe9cSrandyf void 58*2df1fe9cSrandyf cpr_spinning_bar(void) 59*2df1fe9cSrandyf { 60*2df1fe9cSrandyf static char *spin_strings[] = { "|\b", "/\b", "-\b", "\\\b" }; 61*2df1fe9cSrandyf static int idx; 62*2df1fe9cSrandyf 63*2df1fe9cSrandyf prom_printf(spin_strings[idx]); 64*2df1fe9cSrandyf if (++idx == 4) 65*2df1fe9cSrandyf idx = 0; 66*2df1fe9cSrandyf } 67*2df1fe9cSrandyf 68*2df1fe9cSrandyf void 69*2df1fe9cSrandyf cpr_resume_notice(void) 70*2df1fe9cSrandyf { 71*2df1fe9cSrandyf static char cstr[] = "\014" "\033[1P" "\033[18;21H"; 72*2df1fe9cSrandyf 73*2df1fe9cSrandyf prom_printf(cstr); 74*2df1fe9cSrandyf prom_printf("Restoring System State. Please Wait... "); 75*2df1fe9cSrandyf } 76