Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
inst.h File Reference
#include <asm/xen/privop.h>

Go to the source code of this file.

Macros

#define ia64_ivt   xen_ivt
 
#define DO_SAVE_MIN   XEN_DO_SAVE_MIN
 
#define __paravirt_switch_to   xen_switch_to
 
#define __paravirt_leave_syscall   xen_leave_syscall
 
#define __paravirt_work_processed_syscall   xen_work_processed_syscall
 
#define __paravirt_leave_kernel   xen_leave_kernel
 
#define __paravirt_pending_syscall_end   xen_work_pending_syscall_end
 
#define __paravirt_work_processed_syscall_target   xen_work_processed_syscall
 
#define paravirt_fsyscall_table   xen_fsyscall_table
 
#define paravirt_fsys_bubble_down   xen_fsys_bubble_down
 
#define MOV_FROM_IFA(reg)
 
#define MOV_FROM_ITIR(reg)
 
#define MOV_FROM_ISR(reg)
 
#define MOV_FROM_IHA(reg)
 
#define MOV_FROM_IPSR(pred, reg)
 
#define MOV_FROM_IIM(reg)
 
#define MOV_FROM_IIP(reg)
 
#define MOV_FROM_IVR(reg, clob)   __MOV_FROM_IVR reg, clob
 
#define MOV_FROM_PSR(pred, reg, clob)   __MOV_FROM_PSR pred, reg, clob
 
#define MOV_FROM_ITC(pred, pred_clob, reg, clob)
 
#define MOV_TO_IFA(reg, clob)
 
#define MOV_TO_ITIR(pred, reg, clob)
 
#define MOV_TO_IHA(pred, reg, clob)
 
#define MOV_TO_IPSR(pred, reg, clob)
 
#define MOV_TO_IFS(pred, reg, clob)
 
#define MOV_TO_IIP(reg, clob)
 
#define MOV_TO_KR(kr, reg, clob0, clob1)   __MOV_TO_KR IA64_KR_ ## kr, reg, clob0, clob1
 
#define ITC_I(pred, reg, clob)   __ITC_I pred, reg, clob
 
#define ITC_D(pred, reg, clob)   __ITC_D pred, reg, clob
 
#define ITC_I_AND_D(pred_i, pred_d, reg, clob)   __ITC_I_AND_D pred_i, pred_d, reg, clob
 
#define THASH(pred, reg0, reg1, clob)   __THASH pred, reg0, reg1, clob
 
#define SSM_PSR_IC_AND_DEFAULT_BITS_AND_SRLZ_I(clob0, clob1)
 
#define SSM_PSR_IC_AND_SRLZ_D(clob0, clob1)
 
#define RSM_PSR_IC(clob)
 
#define MASK_TO_PEND_OFS   (-1)
 
#define SSM_PSR_I(pred, pred_clob, clob)
 
#define RSM_PSR_I(pred, clob0, clob1)
 
#define RSM_PSR_I_IC(clob0, clob1, clob2)
 
#define RSM_PSR_DT   XEN_HYPER_RSM_PSR_DT
 
#define RSM_PSR_BE_I(clob0, clob1)
 
#define SSM_PSR_DT_AND_SRLZ_I   XEN_HYPER_SSM_PSR_DT
 
#define BSW_0(clob0, clob1, clob2)
 
#define XEN_BSW_1(clob)
 
#define BSW_1(clob0, clob1)   XEN_BSW_1(clob1)
 
#define COVER   XEN_HYPER_COVER
 
#define RFI
 

Functions

mov clob ifc r8 (\pred) XEN_HYPER_GET_PSR
 
pred XEN_HYPER_ITC_I exitm endif (\pred) mov\clob
 

Variables

macro __MOV_FROM_IVR reg
 
macro __MOV_FROM_IVR clob ifc
r8 XEN_HYPER_GET_IVR exitm
endif ifc 
clob
 
macro __MOV_FROM_IVR clob ifc
r8 XEN_HYPER_GET_IVR exitm
endif ifc r8 
XEN_HYPER_GET_IVR
 
mov r8
 
pred mov clob0
 
pred mov clob1 ifc r9 error
clob0 clob0 must not be r9
endif ifc 
clob1
 
XEN_HYPER_SET_KR ifnc r9 ifnc
r9 mov 
r9
 
XEN_HYPER_SET_KR ifnc r9 ifnc
r9 mov r8 mov clob1 ifc r9
____MOV_TO_KR 
kr
 
macro __ITC_I pred
 
pred XEN_HYPER_ITC_I
 
pred XEN_HYPER_ITC_D
 
macro __ITC_I_AND_D pred_i
 
macro __ITC_I_AND_D pred_d
 
macro __THASH reg0 = r8
 
macro __THASH reg1
 

Macro Definition Documentation

#define __paravirt_leave_kernel   xen_leave_kernel

Definition at line 31 of file inst.h.

#define __paravirt_leave_syscall   xen_leave_syscall

Definition at line 29 of file inst.h.

#define __paravirt_pending_syscall_end   xen_work_pending_syscall_end

Definition at line 32 of file inst.h.

#define __paravirt_switch_to   xen_switch_to

Definition at line 28 of file inst.h.

#define __paravirt_work_processed_syscall   xen_work_processed_syscall

Definition at line 30 of file inst.h.

#define __paravirt_work_processed_syscall_target   xen_work_processed_syscall

Definition at line 33 of file inst.h.

#define BSW_0 (   clob0,
  clob1,
  clob2 
)

Definition at line 396 of file inst.h.

#define BSW_1 (   clob0,
  clob1 
)    XEN_BSW_1(clob1)

Definition at line 478 of file inst.h.

#define COVER   XEN_HYPER_COVER

Definition at line 481 of file inst.h.

#define DO_SAVE_MIN   XEN_DO_SAVE_MIN

Definition at line 26 of file inst.h.

#define ia64_ivt   xen_ivt

Definition at line 25 of file inst.h.

#define ITC_D (   pred,
  reg,
  clob 
)    __ITC_D pred, reg, clob

Definition at line 262 of file inst.h.

#define ITC_I (   pred,
  reg,
  clob 
)    __ITC_I pred, reg, clob

Definition at line 238 of file inst.h.

#define ITC_I_AND_D (   pred_i,
  pred_d,
  reg,
  clob 
)    __ITC_I_AND_D pred_i, pred_d, reg, clob

Definition at line 292 of file inst.h.

#define MASK_TO_PEND_OFS   (-1)

Definition at line 349 of file inst.h.

#define MOV_FROM_IFA (   reg)
Value:
movl reg = XSI_IFA; \
;; \
ld8 reg = [reg]

Definition at line 39 of file inst.h.

#define MOV_FROM_IHA (   reg)
Value:
movl reg = XSI_IHA; \
;; \
ld8 reg = [reg]

Definition at line 54 of file inst.h.

#define MOV_FROM_IIM (   reg)
Value:
movl reg = XSI_IIM; \
;; \
ld8 reg = [reg]

Definition at line 64 of file inst.h.

#define MOV_FROM_IIP (   reg)
Value:
movl reg = XSI_IIP; \
;; \
ld8 reg = [reg]

Definition at line 69 of file inst.h.

#define MOV_FROM_IPSR (   pred,
  reg 
)
Value:
(pred) movl reg = XSI_IPSR; \
;; \
(pred) ld8 reg = [reg]

Definition at line 59 of file inst.h.

#define MOV_FROM_ISR (   reg)
Value:
movl reg = XSI_ISR; \
;; \
ld8 reg = [reg]

Definition at line 49 of file inst.h.

#define MOV_FROM_ITC (   pred,
  pred_clob,
  reg,
  clob 
)
Value:
(pred) movl clob = XSI_ITC_OFFSET; \
;; \
(pred) ld8 clob = [clob]; \
(pred) mov reg = ar.itc; \
;; \
(pred) add reg = reg, clob; \
;; \
(pred) movl clob = XSI_ITC_LAST; \
;; \
(pred) ld8 clob = [clob]; \
;; \
(pred) cmp.geu.unc pred_clob, p0 = clob, reg; \
;; \
(pred_clob) add reg = 1, clob; \
;; \
(pred) movl clob = XSI_ITC_LAST; \
;; \
(pred) st8 [clob] = reg
#define MOV_FROM_ITIR (   reg)
Value:
movl reg = XSI_ITIR; \
;; \
ld8 reg = [reg]

Definition at line 44 of file inst.h.

#define MOV_FROM_IVR (   reg,
  clob 
)    __MOV_FROM_IVR reg, clob
#define MOV_FROM_PSR (   pred,
  reg,
  clob 
)    __MOV_FROM_PSR pred, reg, clob
#define MOV_TO_IFA (   reg,
  clob 
)
Value:
movl clob = XSI_IFA; \
;; \
st8 [clob] = reg \
#define MOV_TO_IFS (   pred,
  reg,
  clob 
)
Value:
(pred) movl clob = XSI_IFS; \
;; \
(pred) st8 [clob] = reg; \
;;
#define MOV_TO_IHA (   pred,
  reg,
  clob 
)
Value:
(pred) movl clob = XSI_IHA; \
;; \
(pred) st8 [clob] = reg
#define MOV_TO_IIP (   reg,
  clob 
)
Value:
movl clob = XSI_IIP; \
;; \
st8 [clob] = reg
#define MOV_TO_IPSR (   pred,
  reg,
  clob 
)
Value:
(pred) movl clob = XSI_IPSR; \
;; \
(pred) st8 [clob] = reg; \
;;
#define MOV_TO_ITIR (   pred,
  reg,
  clob 
)
Value:
(pred) movl clob = XSI_ITIR; \
;; \
(pred) st8 [clob] = reg
#define MOV_TO_KR (   kr,
  reg,
  clob0,
  clob1 
)    __MOV_TO_KR IA64_KR_ ## kr, reg, clob0, clob1

Definition at line 214 of file inst.h.

#define paravirt_fsys_bubble_down   xen_fsys_bubble_down

Definition at line 37 of file inst.h.

#define paravirt_fsyscall_table   xen_fsyscall_table

Definition at line 36 of file inst.h.

#define RFI
Value:
XEN_HYPER_RFI; \
dv_serialize_data

Definition at line 484 of file inst.h.

#define RSM_PSR_BE_I (   clob0,
  clob1 
)
Value:
rum psr.be

Definition at line 389 of file inst.h.

#define RSM_PSR_DT   XEN_HYPER_RSM_PSR_DT

Definition at line 386 of file inst.h.

#define RSM_PSR_I (   pred,
  clob0,
  clob1 
)
Value:
movl clob0 = XSI_PSR_I_ADDR; \
mov clob1 = 1; \
;; \
ld8 clob0 = [clob0]; \
;; \
(pred) st1 [clob0] = clob1

Definition at line 366 of file inst.h.

#define RSM_PSR_I_IC (   clob0,
  clob1,
  clob2 
)
Value:
movl clob0 = XSI_PSR_I_ADDR; \
movl clob1 = XSI_PSR_IC; \
;; \
ld8 clob0 = [clob0]; \
mov clob2 = 1; \
;; \
/* note: clears both vpsr.i and vpsr.ic! */ \
st1 [clob0] = clob2; \
st4 [clob1] = r0; \
;;

Definition at line 374 of file inst.h.

#define RSM_PSR_IC (   clob)
Value:
movl clob = XSI_PSR_IC; \
;; \
st4 [clob] = r0; \
;;

Definition at line 342 of file inst.h.

#define SSM_PSR_DT_AND_SRLZ_I   XEN_HYPER_SSM_PSR_DT

Definition at line 393 of file inst.h.

#define SSM_PSR_I (   pred,
  pred_clob,
  clob 
)
Value:
(pred) movl clob = XSI_PSR_I_ADDR \
;; \
(pred) ld8 clob = [clob] \
;; \
/* if (pred) vpsr.i = 1 */ \
/* if (pred) (vcpu->vcpu_info->evtchn_upcall_mask)=0 */ \
;; \
/* if (vcpu->vcpu_info->evtchn_upcall_pending) */ \
(pred) ld1 clob = [clob] \
;; \
(pred) cmp.ne.unc pred_clob, p0 = clob, r0 \
;; \
(pred_clob)XEN_HYPER_SSM_I /* do areal ssm psr.i */

Definition at line 350 of file inst.h.

#define SSM_PSR_IC_AND_DEFAULT_BITS_AND_SRLZ_I (   clob0,
  clob1 
)
Value:
mov clob0 = 1; \
movl clob1 = XSI_PSR_IC; \
;; \
st4 [clob1] = clob0 \
;;

Definition at line 327 of file inst.h.

#define SSM_PSR_IC_AND_SRLZ_D (   clob0,
  clob1 
)
Value:
;; \
srlz.d; \
mov clob1 = 1; \
movl clob0 = XSI_PSR_IC; \
;; \
st4 [clob0] = clob1

Definition at line 334 of file inst.h.

#define THASH (   pred,
  reg0,
  reg1,
  clob 
)    __THASH pred, reg0, reg1, clob

Definition at line 325 of file inst.h.

#define XEN_BSW_1 (   clob)

Definition at line 438 of file inst.h.

Function Documentation

pred XEN_HYPER_ITC_I exitm endif ( pred)
mov clob ifc r8 ( pred)

Variable Documentation

exitm endif ifc clob
Initial value:
= r8
mov r8 = \reg

Definition at line 74 of file inst.h.

XEN_HYPER_SET_KR ifnc r9 ifnc r9 mov r8 mov clob1 ifc r9 ____MOV_TO_KR clob0 exitm endif ifc r8 ____MOV_TO_KR clob0 exitm endif ____MOV_TO_KR clob0
Initial value:
= r8
.endif
mov r8 = \kr

Definition at line 111 of file inst.h.

XEN_HYPER_SET_KR ifnc r9 ifnc r9 mov r8 mov clob1 ifc r9 ____MOV_TO_KR clob0 exitm endif ifc r8 ____MOV_TO_KR clob1
Initial value:
= r9
.endif
mov r9 = \reg
.endif
.ifnc "\clob0"

Definition at line 111 of file inst.h.

XEN_HYPER_SET_KR ifnc r9 ifnc r9 mov r8 mov clob1 ifc r9 ____MOV_TO_KR clob0 exitm endif ifc r8 ____MOV_TO_KR clob0 exitm endif ____MOV_TO_KR kr

Definition at line 197 of file inst.h.

macro __THASH pred

Definition at line 218 of file inst.h.

macro __ITC_I_AND_D pred_d

Definition at line 264 of file inst.h.

macro __ITC_I_AND_D pred_i

Definition at line 264 of file inst.h.

mov r8
Initial value:
= \clob
.endm
#define MOV_FROM_IVR(reg, clob)
.macro __MOV_FROM_PSR pred

Definition at line 92 of file inst.h.

XEN_HYPER_SET_KR ifnc r9 ifnc r9 mov r9
Initial value:
= \clob1
.endif
.endif
.ifnc "\clob0"

Definition at line 193 of file inst.h.

macro __ITC_I_AND_D clob ifc reg
Initial value:
= r8
.exitm
.endif
mov \clob = r8

Definition at line 74 of file inst.h.

pred mov reg0 = r8

Definition at line 295 of file inst.h.

macro __THASH reg1

Definition at line 295 of file inst.h.

XEN_HYPER_GET_IVR

Definition at line 74 of file inst.h.

pred_d XEN_HYPER_ITC_D

Definition at line 248 of file inst.h.

pred_i XEN_HYPER_ITC_I

Definition at line 232 of file inst.h.