ia64/xen-unstable

changeset 18369:48db4eee7d58

[IA64] introduce compile time option to disable optvfault.

Debugging optvfault path is extremely difficult because
it was run with psr.ic = 0.
Make it easy to differentiate the bug in optvfault path from
other normal execution path with psr.ic = 0 by introducing compile
time option to disable optvfault.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
author Isaku Yamahata <yamahata@valinux.co.jp>
date Mon Aug 25 19:04:37 2008 +0900 (2008-08-25)
parents 01e95ec5b433
children d0a544d8a3f3
files xen/arch/ia64/Rules.mk xen/arch/ia64/vmx/vmx_ivt.S
line diff
     1.1 --- a/xen/arch/ia64/Rules.mk	Mon Aug 25 19:04:37 2008 +0900
     1.2 +++ b/xen/arch/ia64/Rules.mk	Mon Aug 25 19:04:37 2008 +0900
     1.3 @@ -14,6 +14,7 @@ xen_ia64_pervcpu_vhpt	?= y
     1.4  xen_ia64_tlb_track	?= y
     1.5  xen_ia64_tlb_track_cnt	?= n
     1.6  xen_ia64_tlbflush_clock	?= y
     1.7 +xen_ia64_disable_optvfault ?= n
     1.8  
     1.9  # Used only by linux/Makefile.
    1.10  AFLAGS_KERNEL  += -mconstant-gp -nostdinc $(CPPFLAGS)
    1.11 @@ -67,6 +68,9 @@ CFLAGS += -DVHPT_ENABLED=1
    1.12  else
    1.13  CFLAGS += -DVHPT_ENABLED=0
    1.14  endif
    1.15 +ifeq ($(xen_ia64_disable_optvfault),y)
    1.16 +CFLAGS += -DCONFIG_XEN_IA64_DISABLE_OPTVFAULT
    1.17 +endif
    1.18  
    1.19  LDFLAGS := -g
    1.20  
     2.1 --- a/xen/arch/ia64/vmx/vmx_ivt.S	Mon Aug 25 19:04:37 2008 +0900
     2.2 +++ b/xen/arch/ia64/vmx/vmx_ivt.S	Mon Aug 25 19:04:37 2008 +0900
     2.3 @@ -973,6 +973,7 @@ END(vmx_single_step_trap)
     2.4  ENTRY(vmx_virtualization_fault)
     2.5  //    VMX_DBG_FAULT(37)
     2.6      mov r31=pr
     2.7 +#ifndef CONFIG_XEN_IA64_DISABLE_OPTVFAULT
     2.8      movl r30 = virtualization_fault_table
     2.9      mov r23=b0
    2.10      ;;
    2.11 @@ -981,6 +982,7 @@ ENTRY(vmx_virtualization_fault)
    2.12      mov b0=r30
    2.13      br.sptk.many b0
    2.14      ;;
    2.15 +#endif
    2.16  vmx_virtualization_fault_back:
    2.17      mov r19=37
    2.18      adds r16 = IA64_VCPU_CAUSE_OFFSET,r21