diff options
Diffstat (limited to 'usr/src/uts/intel/promif/prom_env.c')
-rw-r--r-- | usr/src/uts/intel/promif/prom_env.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/usr/src/uts/intel/promif/prom_env.c b/usr/src/uts/intel/promif/prom_env.c index 4b43f678ef..73b2a08af6 100644 --- a/usr/src/uts/intel/promif/prom_env.c +++ b/usr/src/uts/intel/promif/prom_env.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -19,8 +18,9 @@ * * CDDL HEADER END */ + /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -47,6 +47,7 @@ static promif_owrap_t nullwrapper = static promif_owrap_t *wrapper = &nullwrapper; static promif_owrap_t pmwrapper; +static promif_owrap_t *saved_wrapper; promif_owrap_t *promif_preout(void) @@ -69,3 +70,17 @@ prom_set_outfuncs(void (*pref)(void), void (*postf)(void)) pmwrapper.postout = postf; wrapper = &pmwrapper; } + +void +prom_suspend_prepost(void) +{ + saved_wrapper = wrapper; + wrapper = &nullwrapper; +} + +void +prom_resume_prepost(void) +{ + wrapper = saved_wrapper; + saved_wrapper = NULL; +} |