diff options
Diffstat (limited to 'arch/powerpc/platforms/pseries/plpar_wrappers.h')
-rw-r--r-- | arch/powerpc/platforms/pseries/plpar_wrappers.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/pseries/plpar_wrappers.h b/arch/powerpc/platforms/pseries/plpar_wrappers.h index a05f8d427856..d9801117124b 100644 --- a/arch/powerpc/platforms/pseries/plpar_wrappers.h +++ b/arch/powerpc/platforms/pseries/plpar_wrappers.h | |||
@@ -4,6 +4,14 @@ | |||
4 | #include <asm/hvcall.h> | 4 | #include <asm/hvcall.h> |
5 | #include <asm/page.h> | 5 | #include <asm/page.h> |
6 | 6 | ||
7 | /* Get state of physical CPU from query_cpu_stopped */ | ||
8 | int smp_query_cpu_stopped(unsigned int pcpu); | ||
9 | #define QCSS_STOPPED 0 | ||
10 | #define QCSS_STOPPING 1 | ||
11 | #define QCSS_NOT_STOPPED 2 | ||
12 | #define QCSS_HARDWARE_ERROR -1 | ||
13 | #define QCSS_HARDWARE_BUSY -2 | ||
14 | |||
7 | static inline long poll_pending(void) | 15 | static inline long poll_pending(void) |
8 | { | 16 | { |
9 | return plpar_hcall_norets(H_POLL_PENDING); | 17 | return plpar_hcall_norets(H_POLL_PENDING); |
@@ -183,6 +191,24 @@ static inline long plpar_pte_read_raw(unsigned long flags, unsigned long ptex, | |||
183 | return rc; | 191 | return rc; |
184 | } | 192 | } |
185 | 193 | ||
194 | /* | ||
195 | * plpar_pte_read_4_raw can be called in real mode. | ||
196 | * ptes must be 8*sizeof(unsigned long) | ||
197 | */ | ||
198 | static inline long plpar_pte_read_4_raw(unsigned long flags, unsigned long ptex, | ||
199 | unsigned long *ptes) | ||
200 | |||
201 | { | ||
202 | long rc; | ||
203 | unsigned long retbuf[PLPAR_HCALL9_BUFSIZE]; | ||
204 | |||
205 | rc = plpar_hcall9_raw(H_READ, retbuf, flags | H_READ_4, ptex); | ||
206 | |||
207 | memcpy(ptes, retbuf, 8*sizeof(unsigned long)); | ||
208 | |||
209 | return rc; | ||
210 | } | ||
211 | |||
186 | static inline long plpar_pte_protect(unsigned long flags, unsigned long ptex, | 212 | static inline long plpar_pte_protect(unsigned long flags, unsigned long ptex, |
187 | unsigned long avpn) | 213 | unsigned long avpn) |
188 | { | 214 | { |