diff options
Diffstat (limited to 'arch/powerpc/include/asm/rtas.h')
-rw-r--r-- | arch/powerpc/include/asm/rtas.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/rtas.h b/arch/powerpc/include/asm/rtas.h index 20de73c36682..3d35f8ae377e 100644 --- a/arch/powerpc/include/asm/rtas.h +++ b/arch/powerpc/include/asm/rtas.h | |||
@@ -63,6 +63,14 @@ struct rtas_t { | |||
63 | struct device_node *dev; /* virtual address pointer */ | 63 | struct device_node *dev; /* virtual address pointer */ |
64 | }; | 64 | }; |
65 | 65 | ||
66 | struct rtas_suspend_me_data { | ||
67 | atomic_t working; /* number of cpus accessing this struct */ | ||
68 | atomic_t done; | ||
69 | int token; /* ibm,suspend-me */ | ||
70 | atomic_t error; | ||
71 | struct completion *complete; /* wait on this until working == 0 */ | ||
72 | }; | ||
73 | |||
66 | /* RTAS event classes */ | 74 | /* RTAS event classes */ |
67 | #define RTAS_INTERNAL_ERROR 0x80000000 /* set bit 0 */ | 75 | #define RTAS_INTERNAL_ERROR 0x80000000 /* set bit 0 */ |
68 | #define RTAS_EPOW_WARNING 0x40000000 /* set bit 1 */ | 76 | #define RTAS_EPOW_WARNING 0x40000000 /* set bit 1 */ |
@@ -137,6 +145,9 @@ struct rtas_t { | |||
137 | #define RTAS_TYPE_PMGM_CONFIG_CHANGE 0x70 | 145 | #define RTAS_TYPE_PMGM_CONFIG_CHANGE 0x70 |
138 | #define RTAS_TYPE_PMGM_SERVICE_PROC 0x71 | 146 | #define RTAS_TYPE_PMGM_SERVICE_PROC 0x71 |
139 | 147 | ||
148 | /* RTAS check-exception vector offset */ | ||
149 | #define RTAS_VECTOR_EXTERNAL_INTERRUPT 0x500 | ||
150 | |||
140 | struct rtas_error_log { | 151 | struct rtas_error_log { |
141 | unsigned long version:8; /* Architectural version */ | 152 | unsigned long version:8; /* Architectural version */ |
142 | unsigned long severity:3; /* Severity level of error */ | 153 | unsigned long severity:3; /* Severity level of error */ |
@@ -174,6 +185,8 @@ extern int rtas_set_indicator(int indicator, int index, int new_value); | |||
174 | extern int rtas_set_indicator_fast(int indicator, int index, int new_value); | 185 | extern int rtas_set_indicator_fast(int indicator, int index, int new_value); |
175 | extern void rtas_progress(char *s, unsigned short hex); | 186 | extern void rtas_progress(char *s, unsigned short hex); |
176 | extern void rtas_initialize(void); | 187 | extern void rtas_initialize(void); |
188 | extern int rtas_suspend_cpu(struct rtas_suspend_me_data *data); | ||
189 | extern int rtas_suspend_last_cpu(struct rtas_suspend_me_data *data); | ||
177 | 190 | ||
178 | struct rtc_time; | 191 | struct rtc_time; |
179 | extern unsigned long rtas_get_boot_time(void); | 192 | extern unsigned long rtas_get_boot_time(void); |