summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/cpr/cpr_misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/cpr/cpr_misc.c')
-rw-r--r--usr/src/uts/common/cpr/cpr_misc.c32
1 files changed, 22 insertions, 10 deletions
diff --git a/usr/src/uts/common/cpr/cpr_misc.c b/usr/src/uts/common/cpr/cpr_misc.c
index 936e3e9565..1ec0452c81 100644
--- a/usr/src/uts/common/cpr/cpr_misc.c
+++ b/usr/src/uts/common/cpr/cpr_misc.c
@@ -38,6 +38,7 @@
#include <sys/kmem.h>
#include <sys/cpr.h>
#include <sys/conf.h>
+#include <sys/machclock.h>
/*
* CPR miscellaneous support routines
@@ -61,11 +62,14 @@ extern char *cpr_pagedata;
extern int cpr_bufs_allocated;
extern int cpr_bitmaps_allocated;
+#if defined(__sparc)
static struct cprconfig cprconfig;
static int cprconfig_loaded = 0;
static int cpr_statefile_ok(vnode_t *, int);
static int cpr_p_online(cpu_t *, int);
static void cpr_save_mp_state(void);
+#endif
+
int cpr_is_ufs(struct vfs *);
char cpr_default_path[] = CPR_DEFAULT;
@@ -112,6 +116,10 @@ cpr_init(int fcn)
CPR->c_flags |= C_REUSABLE;
else
CPR->c_flags |= C_SUSPENDING;
+ if (fcn == AD_SUSPEND_TO_RAM || fcn == DEV_SUSPEND_TO_RAM) {
+ return (0);
+ }
+#if defined(__sparc)
if (fcn != AD_CPR_NOCOMPRESS && fcn != AD_CPR_TESTNOZ)
CPR->c_flags |= C_COMPRESSING;
/*
@@ -126,6 +134,7 @@ cpr_init(int fcn)
if (cpr_debug & CPR_DEBUG3)
cpr_err(CE_CONT, "Reserved virtual range from 0x%p for writing "
"kas\n", (void *)CPR->c_mapping_area);
+#endif
return (0);
}
@@ -157,6 +166,7 @@ cpr_done(void)
}
+#if defined(__sparc)
/*
* reads config data into cprconfig
*/
@@ -815,6 +825,7 @@ cpr_get_reusable_mode(void)
return (0);
}
+#endif
/*
* clock/time related routines
@@ -828,7 +839,7 @@ cpr_tod_get(cpr_time_t *ctp)
timestruc_t ts;
mutex_enter(&tod_lock);
- ts = tod_get();
+ ts = TODOP_GET(tod_ops);
mutex_exit(&tod_lock);
ctp->tv_sec = (time32_t)ts.tv_sec;
ctp->tv_nsec = (int32_t)ts.tv_nsec;
@@ -857,6 +868,7 @@ cpr_restore_time(void)
clkset(cpr_time_stamp);
}
+#if defined(__sparc)
/*
* CPU ONLINE/OFFLINE CODE
*/
@@ -1104,20 +1116,20 @@ cpr_reusable_mount_check(void)
}
/*
- * Force a fresh read of the cprinfo per uadmin 3 call
+ * return statefile offset in DEV_BSIZE units
*/
-void
-cpr_forget_cprconfig(void)
+int
+cpr_statefile_offset(void)
{
- cprconfig_loaded = 0;
+ return (cpr_statefile_is_spec() ? btod(CPR_SPEC_OFFSET) : 0);
}
-
/*
- * return statefile offset in DEV_BSIZE units
+ * Force a fresh read of the cprinfo per uadmin 3 call
*/
-int
-cpr_statefile_offset(void)
+void
+cpr_forget_cprconfig(void)
{
- return (cpr_statefile_is_spec() ? btod(CPR_SPEC_OFFSET) : 0);
+ cprconfig_loaded = 0;
}
+#endif