53 /*
54 * S3 stuff
55 */
56
57 int acpi_rtc_wake = 0x0; /* wake in N seconds */
58
59 #if 0 /* debug */
60 static uint8_t branchbuf[64 * 1024]; /* for the HDT branch trace stuff */
61 #endif /* debug */
62
63 extern int boothowto;
64
65 #define BOOTCPU 0 /* cpu 0 is always the boot cpu */
66
67 extern void kernel_wc_code(void);
68 extern tod_ops_t *tod_ops;
69 extern int flushes_require_xcalls;
70 extern int tsc_gethrtime_enable;
71
72 extern cpuset_t cpu_ready_set;
73 extern void *(*cpu_pause_func)(void *);
74
75
76
77 /*
78 * This is what we've all been waiting for!
79 */
80 int
81 acpi_enter_sleepstate(s3a_t *s3ap)
82 {
83 ACPI_PHYSICAL_ADDRESS wakephys = s3ap->s3a_wakephys;
84 caddr_t wakevirt = rm_platter_va;
85 /*LINTED*/
86 wakecode_t *wp = (wakecode_t *)wakevirt;
87 uint_t Sx = s3ap->s3a_state;
88
89 PT(PT_SWV);
90 /* Set waking vector */
91 if (AcpiSetFirmwareWakingVector(wakephys) != AE_OK) {
92 PT(PT_SWV_FAIL);
93 PMD(PMD_SX, ("Can't SetFirmwareWakingVector(%lx)\n",
94 (long)wakephys))
|
53 /*
54 * S3 stuff
55 */
56
57 int acpi_rtc_wake = 0x0; /* wake in N seconds */
58
59 #if 0 /* debug */
60 static uint8_t branchbuf[64 * 1024]; /* for the HDT branch trace stuff */
61 #endif /* debug */
62
63 extern int boothowto;
64
65 #define BOOTCPU 0 /* cpu 0 is always the boot cpu */
66
67 extern void kernel_wc_code(void);
68 extern tod_ops_t *tod_ops;
69 extern int flushes_require_xcalls;
70 extern int tsc_gethrtime_enable;
71
72 extern cpuset_t cpu_ready_set;
73
74
75 /*
76 * This is what we've all been waiting for!
77 */
78 int
79 acpi_enter_sleepstate(s3a_t *s3ap)
80 {
81 ACPI_PHYSICAL_ADDRESS wakephys = s3ap->s3a_wakephys;
82 caddr_t wakevirt = rm_platter_va;
83 /*LINTED*/
84 wakecode_t *wp = (wakecode_t *)wakevirt;
85 uint_t Sx = s3ap->s3a_state;
86
87 PT(PT_SWV);
88 /* Set waking vector */
89 if (AcpiSetFirmwareWakingVector(wakephys) != AE_OK) {
90 PT(PT_SWV_FAIL);
91 PMD(PMD_SX, ("Can't SetFirmwareWakingVector(%lx)\n",
92 (long)wakephys))
|