Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
kvm_minstate.h File Reference
#include <asm/asmmacro.h>
#include <asm/types.h>
#include <asm/kregs.h>
#include <asm/kvm_host.h>
#include "asm-offsets.h"

Go to the source code of this file.

Macros

#define KVM_MINSTATE_START_SAVE_MIN
 
#define KVM_MINSTATE_END_SAVE_MIN
 
#define PAL_VSA_SYNC_READ
 
#define KVM_MINSTATE_GET_CURRENT(reg)   mov reg=r21
 
#define PT(f)   (VMM_PT_REGS_##f##_OFFSET)
 
#define KVM_DO_SAVE_MIN(COVER, SAVE_IFS, EXTRA)
 
#define KVM_SAVE_REST
 
#define KVM_SAVE_EXTRA
 
#define KVM_SAVE_MIN_WITH_COVER   KVM_DO_SAVE_MIN(cover, mov r30 = cr.ifs,)
 
#define KVM_SAVE_MIN_WITH_COVER_R19   KVM_DO_SAVE_MIN(cover, mov r30 = cr.ifs, mov r15 = r19)
 
#define KVM_SAVE_MIN   KVM_DO_SAVE_MIN( , mov r30 = r0, )
 

Macro Definition Documentation

#define KVM_DO_SAVE_MIN (   COVER,
  SAVE_IFS,
  EXTRA 
)

Definition at line 100 of file kvm_minstate.h.

#define KVM_MINSTATE_END_SAVE_MIN
Value:
bsw.1; /* switch back to bank 1 (must be last in insn group) */\
;;

Definition at line 48 of file kvm_minstate.h.

#define KVM_MINSTATE_GET_CURRENT (   reg)    mov reg=r21

Definition at line 69 of file kvm_minstate.h.

#define KVM_MINSTATE_START_SAVE_MIN
Value:
mov ar.rsc = 0;/* set enforced lazy mode, pl 0, little-endian, loadrs=0 */\
;; \
mov.m r28 = ar.rnat; \
addl r22 = VMM_RBS_OFFSET,r1; /* compute base of RBS */ \
;; \
lfetch.fault.excl.nt1 [r22]; \
addl r1 = KVM_STK_OFFSET-VMM_PT_REGS_SIZE, r1; \
mov r23 = ar.bspstore; /* save ar.bspstore */ \
;; \
mov ar.bspstore = r22; /* switch to kernel RBS */\
;; \
mov r18 = ar.bsp; \
mov ar.rsc = 0x3; /* set eager mode, pl 0, little-endian, loadrs=0 */

Definition at line 31 of file kvm_minstate.h.

#define KVM_SAVE_EXTRA
Value:
.mem.offset 0,0; st8.spill [r2] = r4,16; \
.mem.offset 8,0; st8.spill [r3] = r5,16; \
;; \
.mem.offset 0,0; st8.spill [r2] = r6,16; \
.mem.offset 8,0; st8.spill [r3] = r7; \
;; \
mov r26 = ar.unat; \
;; \
st8 [r2] = r26;/* eml_unat */ \

Definition at line 253 of file kvm_minstate.h.

#define KVM_SAVE_MIN   KVM_DO_SAVE_MIN( , mov r30 = r0, )

Definition at line 266 of file kvm_minstate.h.

#define KVM_SAVE_MIN_WITH_COVER   KVM_DO_SAVE_MIN(cover, mov r30 = cr.ifs,)

Definition at line 264 of file kvm_minstate.h.

#define KVM_SAVE_MIN_WITH_COVER_R19   KVM_DO_SAVE_MIN(cover, mov r30 = cr.ifs, mov r15 = r19)

Definition at line 265 of file kvm_minstate.h.

#define KVM_SAVE_REST

Definition at line 207 of file kvm_minstate.h.

#define PAL_VSA_SYNC_READ
Value:
/* begin to call pal vps sync_read */ \
{.mii; \
add r25 = VMM_VPD_BASE_OFFSET, r21; \
nop 0x0; \
mov r24=ip; \
;; \
} \
{.mmb \ add r24=0x20, r24; \
ld8 r25 = [r25]; /* read vpd base */ \
br.cond.sptk kvm_vps_sync_read; /*call the service*/ \
;; \
}; \

Definition at line 53 of file kvm_minstate.h.

#define PT (   f)    (VMM_PT_REGS_##f##_OFFSET)

Definition at line 98 of file kvm_minstate.h.