Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
process.c File Reference
#include "vcpu.h"
#include <asm/pal.h>
#include <asm/sal.h>
#include <asm/fpswa.h>
#include <asm/kregs.h>
#include <asm/tlb.h>

Go to the source code of this file.

Macros

#define IA64_VHPT_TRANS_VECTOR   0x0000
 
#define IA64_INST_TLB_VECTOR   0x0400
 
#define IA64_DATA_TLB_VECTOR   0x0800
 
#define IA64_ALT_INST_TLB_VECTOR   0x0c00
 
#define IA64_ALT_DATA_TLB_VECTOR   0x1000
 
#define IA64_DATA_NESTED_TLB_VECTOR   0x1400
 
#define IA64_INST_KEY_MISS_VECTOR   0x1800
 
#define IA64_DATA_KEY_MISS_VECTOR   0x1c00
 
#define IA64_DIRTY_BIT_VECTOR   0x2000
 
#define IA64_INST_ACCESS_BIT_VECTOR   0x2400
 
#define IA64_DATA_ACCESS_BIT_VECTOR   0x2800
 
#define IA64_BREAK_VECTOR   0x2c00
 
#define IA64_EXTINT_VECTOR   0x3000
 
#define IA64_PAGE_NOT_PRESENT_VECTOR   0x5000
 
#define IA64_KEY_PERMISSION_VECTOR   0x5100
 
#define IA64_INST_ACCESS_RIGHTS_VECTOR   0x5200
 
#define IA64_DATA_ACCESS_RIGHTS_VECTOR   0x5300
 
#define IA64_GENEX_VECTOR   0x5400
 
#define IA64_DISABLED_FPREG_VECTOR   0x5500
 
#define IA64_NAT_CONSUMPTION_VECTOR   0x5600
 
#define IA64_SPECULATION_VECTOR   0x5700 /* UNUSED */
 
#define IA64_DEBUG_VECTOR   0x5900
 
#define IA64_UNALIGNED_REF_VECTOR   0x5a00
 
#define IA64_UNSUPPORTED_DATA_REF_VECTOR   0x5b00
 
#define IA64_FP_FAULT_VECTOR   0x5c00
 
#define IA64_FP_TRAP_VECTOR   0x5d00
 
#define IA64_LOWERPRIV_TRANSFER_TRAP_VECTOR   0x5e00
 
#define IA64_TAKEN_BRANCH_TRAP_VECTOR   0x5f00
 
#define IA64_SINGLE_STEP_TRAP_VECTOR   0x6000
 
#define INITIAL_PSR_VALUE_AT_INTERRUPTION
 
#define DOMN_PAL_REQUEST   0x110000
 
#define DOMN_SAL_REQUEST   0x110001
 

Functions

void inject_guest_interruption (struct kvm_vcpu *vcpu, u64 vec)
 
void set_ifa_itir_iha (struct kvm_vcpu *vcpu, u64 vadr, int set_ifa, int set_itir, int set_iha)
 
void dtlb_fault (struct kvm_vcpu *vcpu, u64 vadr)
 
void itlb_fault (struct kvm_vcpu *vcpu, u64 vadr)
 
void nested_dtlb (struct kvm_vcpu *vcpu)
 
void alt_dtlb (struct kvm_vcpu *vcpu, u64 vadr)
 
void alt_itlb (struct kvm_vcpu *vcpu, u64 vadr)
 
void ivhpt_fault (struct kvm_vcpu *vcpu, u64 vadr)
 
void dvhpt_fault (struct kvm_vcpu *vcpu, u64 vadr)
 
void _general_exception (struct kvm_vcpu *vcpu)
 
void illegal_op (struct kvm_vcpu *vcpu)
 
void illegal_dep (struct kvm_vcpu *vcpu)
 
void rsv_reg_field (struct kvm_vcpu *vcpu)
 
void privilege_op (struct kvm_vcpu *vcpu)
 
void unimpl_daddr (struct kvm_vcpu *vcpu)
 
void privilege_reg (struct kvm_vcpu *vcpu)
 
void inat_page_consumption (struct kvm_vcpu *vcpu, u64 vadr)
 
void rnat_consumption (struct kvm_vcpu *vcpu)
 
void dnat_page_consumption (struct kvm_vcpu *vcpu, u64 vadr)
 
void data_page_not_present (struct kvm_vcpu *vcpu, u64 vadr)
 
void inst_page_not_present (struct kvm_vcpu *vcpu, u64 vadr)
 
void data_access_rights (struct kvm_vcpu *vcpu, u64 vadr)
 
fpswa_ret_t vmm_fp_emulate (int fp_fault, void *bundle, unsigned long *ipsr, unsigned long *fpsr, unsigned long *isr, unsigned long *pr, unsigned long *ifs, struct kvm_pt_regs *regs)
 
unsigned long vmm_handle_fpu_swa (int fp_fault, struct kvm_pt_regs *regs, unsigned long isr)
 
void reflect_interruption (u64 ifa, u64 isr, u64 iim, u64 vec, struct kvm_pt_regs *regs)
 
void kvm_ia64_handle_break (unsigned long ifa, struct kvm_pt_regs *regs, unsigned long isr, unsigned long iim)
 
void check_pending_irq (struct kvm_vcpu *vcpu)
 
void vhpi_detection (struct kvm_vcpu *vcpu)
 
void leave_hypervisor_tail (void)
 
void physical_tlb_miss (struct kvm_vcpu *vcpu, unsigned long vadr, int type)
 
void kvm_page_fault (u64 vadr, u64 vec, struct kvm_pt_regs *regs)
 
void kvm_vexirq (struct kvm_vcpu *vcpu)
 
void kvm_ia64_handle_irq (struct kvm_vcpu *v)
 
void vmm_transition (struct kvm_vcpu *vcpu)
 
void vmm_panic_handler (u64 vec)
 

Variables

fpswa_interface_tvmm_fpswa_interface
 

Macro Definition Documentation

#define DOMN_PAL_REQUEST   0x110000

Definition at line 68 of file process.c.

#define DOMN_SAL_REQUEST   0x110001

Definition at line 69 of file process.c.

#define IA64_ALT_DATA_TLB_VECTOR   0x1000

Definition at line 37 of file process.c.

#define IA64_ALT_INST_TLB_VECTOR   0x0c00

Definition at line 36 of file process.c.

#define IA64_BREAK_VECTOR   0x2c00

Definition at line 44 of file process.c.

#define IA64_DATA_ACCESS_BIT_VECTOR   0x2800

Definition at line 43 of file process.c.

#define IA64_DATA_ACCESS_RIGHTS_VECTOR   0x5300

Definition at line 49 of file process.c.

#define IA64_DATA_KEY_MISS_VECTOR   0x1c00

Definition at line 40 of file process.c.

#define IA64_DATA_NESTED_TLB_VECTOR   0x1400

Definition at line 38 of file process.c.

#define IA64_DATA_TLB_VECTOR   0x0800

Definition at line 35 of file process.c.

#define IA64_DEBUG_VECTOR   0x5900

Definition at line 54 of file process.c.

#define IA64_DIRTY_BIT_VECTOR   0x2000

Definition at line 41 of file process.c.

#define IA64_DISABLED_FPREG_VECTOR   0x5500

Definition at line 51 of file process.c.

#define IA64_EXTINT_VECTOR   0x3000

Definition at line 45 of file process.c.

#define IA64_FP_FAULT_VECTOR   0x5c00

Definition at line 57 of file process.c.

#define IA64_FP_TRAP_VECTOR   0x5d00

Definition at line 58 of file process.c.

#define IA64_GENEX_VECTOR   0x5400

Definition at line 50 of file process.c.

#define IA64_INST_ACCESS_BIT_VECTOR   0x2400

Definition at line 42 of file process.c.

#define IA64_INST_ACCESS_RIGHTS_VECTOR   0x5200

Definition at line 48 of file process.c.

#define IA64_INST_KEY_MISS_VECTOR   0x1800

Definition at line 39 of file process.c.

#define IA64_INST_TLB_VECTOR   0x0400

Definition at line 34 of file process.c.

#define IA64_KEY_PERMISSION_VECTOR   0x5100

Definition at line 47 of file process.c.

#define IA64_LOWERPRIV_TRANSFER_TRAP_VECTOR   0x5e00

Definition at line 59 of file process.c.

#define IA64_NAT_CONSUMPTION_VECTOR   0x5600

Definition at line 52 of file process.c.

#define IA64_PAGE_NOT_PRESENT_VECTOR   0x5000

Definition at line 46 of file process.c.

#define IA64_SINGLE_STEP_TRAP_VECTOR   0x6000

Definition at line 61 of file process.c.

#define IA64_SPECULATION_VECTOR   0x5700 /* UNUSED */

Definition at line 53 of file process.c.

#define IA64_TAKEN_BRANCH_TRAP_VECTOR   0x5f00

Definition at line 60 of file process.c.

#define IA64_UNALIGNED_REF_VECTOR   0x5a00

Definition at line 55 of file process.c.

#define IA64_UNSUPPORTED_DATA_REF_VECTOR   0x5b00

Definition at line 56 of file process.c.

#define IA64_VHPT_TRANS_VECTOR   0x0000

Definition at line 33 of file process.c.

#define INITIAL_PSR_VALUE_AT_INTERRUPTION
Value:
IA64_PSR_MFH | IA64_PSR_PK | IA64_PSR_DT | \
IA64_PSR_RT | IA64_PSR_MC|IA64_PSR_IT)

Definition at line 64 of file process.c.

Function Documentation

void _general_exception ( struct kvm_vcpu vcpu)

Definition at line 290 of file process.c.

void alt_dtlb ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 239 of file process.c.

void alt_itlb ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 250 of file process.c.

void check_pending_irq ( struct kvm_vcpu vcpu)

Definition at line 680 of file process.c.

void data_access_rights ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 425 of file process.c.

void data_page_not_present ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 412 of file process.c.

void dnat_page_consumption ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 397 of file process.c.

void dtlb_fault ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 205 of file process.c.

void dvhpt_fault ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 281 of file process.c.

void illegal_dep ( struct kvm_vcpu vcpu)

Definition at line 310 of file process.c.

void illegal_op ( struct kvm_vcpu vcpu)

Definition at line 300 of file process.c.

void inat_page_consumption ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 377 of file process.c.

void inject_guest_interruption ( struct kvm_vcpu vcpu,
u64  vec 
)

Definition at line 140 of file process.c.

void inst_page_not_present ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 417 of file process.c.

void itlb_fault ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 217 of file process.c.

void ivhpt_fault ( struct kvm_vcpu vcpu,
u64  vadr 
)

Definition at line 271 of file process.c.

void kvm_ia64_handle_break ( unsigned long  ifa,
struct kvm_pt_regs regs,
unsigned long  isr,
unsigned long  iim 
)

Definition at line 651 of file process.c.

void kvm_ia64_handle_irq ( struct kvm_vcpu v)

Definition at line 930 of file process.c.

void kvm_page_fault ( u64  vadr,
u64  vec,
struct kvm_pt_regs regs 
)

Definition at line 790 of file process.c.

void kvm_vexirq ( struct kvm_vcpu vcpu)

Definition at line 919 of file process.c.

void leave_hypervisor_tail ( void  )

Definition at line 740 of file process.c.

void nested_dtlb ( struct kvm_vcpu vcpu)

Definition at line 229 of file process.c.

void physical_tlb_miss ( struct kvm_vcpu vcpu,
unsigned long  vadr,
int  type 
)

Definition at line 778 of file process.c.

void privilege_op ( struct kvm_vcpu vcpu)

Definition at line 330 of file process.c.

void privilege_reg ( struct kvm_vcpu vcpu)

Definition at line 350 of file process.c.

void reflect_interruption ( u64  ifa,
u64  isr,
u64  iim,
u64  vec,
struct kvm_pt_regs regs 
)

Definition at line 511 of file process.c.

void rnat_consumption ( struct kvm_vcpu vcpu)

Definition at line 387 of file process.c.

void rsv_reg_field ( struct kvm_vcpu vcpu)

Definition at line 320 of file process.c.

void set_ifa_itir_iha ( struct kvm_vcpu vcpu,
u64  vadr,
int  set_ifa,
int  set_itir,
int  set_iha 
)

Definition at line 177 of file process.c.

void unimpl_daddr ( struct kvm_vcpu vcpu)

Definition at line 340 of file process.c.

void vhpi_detection ( struct kvm_vcpu vcpu)

Definition at line 723 of file process.c.

fpswa_ret_t vmm_fp_emulate ( int  fp_fault,
void bundle,
unsigned long ipsr,
unsigned long fpsr,
unsigned long isr,
unsigned long pr,
unsigned long ifs,
struct kvm_pt_regs regs 
)

Definition at line 432 of file process.c.

unsigned long vmm_handle_fpu_swa ( int  fp_fault,
struct kvm_pt_regs regs,
unsigned long  isr 
)

Definition at line 483 of file process.c.

void vmm_panic_handler ( u64  vec)

Definition at line 1018 of file process.c.

void vmm_transition ( struct kvm_vcpu vcpu)

Definition at line 1008 of file process.c.

Variable Documentation

fpswa_interface_t* vmm_fpswa_interface

Definition at line 31 of file process.c.