summaryrefslogtreecommitdiff
path: root/usr/src/uts/i86pc/sys/machclock.h
diff options
context:
space:
mode:
authorrandyf <none@none>2007-10-20 16:00:42 -0700
committerrandyf <none@none>2007-10-20 16:00:42 -0700
commit2df1fe9ca32bb227b9158c67f5c00b54c20b10fd (patch)
tree358c576f885c00d42a760d9e35e5b66e77209fe2 /usr/src/uts/i86pc/sys/machclock.h
parent10b3fbf593a6678eec9b50a01903ef4eb73111e4 (diff)
downloadillumos-gate-2df1fe9ca32bb227b9158c67f5c00b54c20b10fd.tar.gz
PSARC/2005/469 X86 Energy Star compliance
PSARC/2006/632 PSMI extension for state save and restore 6330209 nge needs to support DDI_SUSPEND/DDI_RESUME 6381827 Suspend to RAM on x86 6393154 audio810 needs to support DDI_SUSPEND/DDI_RESUME 6397047 fd, fdc needs to support Suspend/Resume 6401974 cannot enter S3 with ohci PME enable set on Tyan 2865 with Sun or Tyan 2.01 BIOS 6422613 memscrubber doesn't re-acquire lock before CALLB_CPR_EXIT 6455736 ata/dadk/cmdk should support DDI_SUSPEND/DDI_RESUME 6511370 CPR on SPARC regression 6586018 TODOP Macros in i86pc/sys/machclock.h not in sun4u/sun4v equivilent (Sparc only) 6610124 It takes more than 3 minutes after printing "pci_pre_resume nv_sata:0" 6617143 powerd/pmconfig emits a different default message for an existing on or off action. --HG-- rename : usr/src/cmd/power/power.conf => usr/src/cmd/power/power.conf.sparc
Diffstat (limited to 'usr/src/uts/i86pc/sys/machclock.h')
-rw-r--r--usr/src/uts/i86pc/sys/machclock.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/usr/src/uts/i86pc/sys/machclock.h b/usr/src/uts/i86pc/sys/machclock.h
index 6b3686b95c..a214ada1bc 100644
--- a/usr/src/uts/i86pc/sys/machclock.h
+++ b/usr/src/uts/i86pc/sys/machclock.h
@@ -40,14 +40,20 @@ extern "C" {
struct tod_ops;
typedef struct tod_ops tod_ops_t;
+/*
+ * TOD Ops.
+ * The only functions that _must_ be defined are the tod_get() and
+ * tod_set() functions. All others may be unused, and need to be
+ * checked for NULL before using.
+ */
struct tod_ops {
int tod_version;
timestruc_t (*tod_get)(tod_ops_t *);
void (*tod_set)(tod_ops_t *, timestruc_t);
- /*
- * On SPARC, additional operations include setting
- * and clearing a watchdog timer, as well as power alarms.
- */
+ uint_t (*tod_set_watchdog_timer)(tod_ops_t *, int);
+ uint_t (*tod_clear_watchdog_timer)(tod_ops_t *);
+ void (*tod_set_wake_alarm)(tod_ops_t *, int);
+ void (*tod_clear_wake_alarm)(tod_ops_t *);
struct tod_ops *tod_next;
};
@@ -58,6 +64,10 @@ extern char *tod_module_name;
#define TODOP_GET(top) ((top)->tod_get(top))
#define TODOP_SET(top, ts) ((top)->tod_set(top, ts))
+#define TODOP_SETWD(top, nsec) ((top)->tod_set_watchdog_timer(top, nsec))
+#define TODOP_CLRWD(top) ((top)->tod_clear_watchdog_timer(top))
+#define TODOP_SETWAKE(top, nsec) ((top)->tod_set_wake_alarm(top, nsec))
+#define TODOP_CLRWAKE(top) ((top)->tod_clear_wake_alarm(top))
#ifdef __cplusplus
}