diff options
Diffstat (limited to 'arch/ia64/include/asm/xen/inst.h')
-rw-r--r-- | arch/ia64/include/asm/xen/inst.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/arch/ia64/include/asm/xen/inst.h b/arch/ia64/include/asm/xen/inst.h index 19c2ae1d878..c53a4761120 100644 --- a/arch/ia64/include/asm/xen/inst.h +++ b/arch/ia64/include/asm/xen/inst.h | |||
@@ -33,6 +33,9 @@ | |||
33 | #define __paravirt_work_processed_syscall_target \ | 33 | #define __paravirt_work_processed_syscall_target \ |
34 | xen_work_processed_syscall | 34 | xen_work_processed_syscall |
35 | 35 | ||
36 | #define paravirt_fsyscall_table xen_fsyscall_table | ||
37 | #define paravirt_fsys_bubble_down xen_fsys_bubble_down | ||
38 | |||
36 | #define MOV_FROM_IFA(reg) \ | 39 | #define MOV_FROM_IFA(reg) \ |
37 | movl reg = XSI_IFA; \ | 40 | movl reg = XSI_IFA; \ |
38 | ;; \ | 41 | ;; \ |
@@ -110,6 +113,27 @@ | |||
110 | .endm | 113 | .endm |
111 | #define MOV_FROM_PSR(pred, reg, clob) __MOV_FROM_PSR pred, reg, clob | 114 | #define MOV_FROM_PSR(pred, reg, clob) __MOV_FROM_PSR pred, reg, clob |
112 | 115 | ||
116 | /* assuming ar.itc is read with interrupt disabled. */ | ||
117 | #define MOV_FROM_ITC(pred, pred_clob, reg, clob) \ | ||
118 | (pred) movl clob = XSI_ITC_OFFSET; \ | ||
119 | ;; \ | ||
120 | (pred) ld8 clob = [clob]; \ | ||
121 | (pred) mov reg = ar.itc; \ | ||
122 | ;; \ | ||
123 | (pred) add reg = reg, clob; \ | ||
124 | ;; \ | ||
125 | (pred) movl clob = XSI_ITC_LAST; \ | ||
126 | ;; \ | ||
127 | (pred) ld8 clob = [clob]; \ | ||
128 | ;; \ | ||
129 | (pred) cmp.geu.unc pred_clob, p0 = clob, reg; \ | ||
130 | ;; \ | ||
131 | (pred_clob) add reg = 1, clob; \ | ||
132 | ;; \ | ||
133 | (pred) movl clob = XSI_ITC_LAST; \ | ||
134 | ;; \ | ||
135 | (pred) st8 [clob] = reg | ||
136 | |||
113 | 137 | ||
114 | #define MOV_TO_IFA(reg, clob) \ | 138 | #define MOV_TO_IFA(reg, clob) \ |
115 | movl clob = XSI_IFA; \ | 139 | movl clob = XSI_IFA; \ |
@@ -362,6 +386,10 @@ | |||
362 | #define RSM_PSR_DT \ | 386 | #define RSM_PSR_DT \ |
363 | XEN_HYPER_RSM_PSR_DT | 387 | XEN_HYPER_RSM_PSR_DT |
364 | 388 | ||
389 | #define RSM_PSR_BE_I(clob0, clob1) \ | ||
390 | RSM_PSR_I(p0, clob0, clob1); \ | ||
391 | rum psr.be | ||
392 | |||
365 | #define SSM_PSR_DT_AND_SRLZ_I \ | 393 | #define SSM_PSR_DT_AND_SRLZ_I \ |
366 | XEN_HYPER_SSM_PSR_DT | 394 | XEN_HYPER_SSM_PSR_DT |
367 | 395 | ||