ia64/xen-unstable

changeset 15156:249446c52deb

[IA64] Disable more privify code

Conditionally comment two privify code blocks.

Signed-off-by: Tristan Gingold <tgingold@free.fr>
author Alex Williamson <alex.williamson@hp.com>
date Mon Jun 04 14:00:35 2007 -0600 (2007-06-04)
parents c0cdcebc0377
children e7295db88664
files xen/arch/ia64/xen/ivt.S xen/arch/ia64/xen/privop.c
line diff
     1.1 --- a/xen/arch/ia64/xen/ivt.S	Mon Jun 04 13:57:08 2007 -0600
     1.2 +++ b/xen/arch/ia64/xen/ivt.S	Mon Jun 04 14:00:35 2007 -0600
     1.3 @@ -587,9 +587,13 @@ ENTRY(break_fault)
     1.4  	;;
     1.5  	ld8 r18=[r18]    
     1.6  	;;
     1.7 -	cmp.eq p7,p0=r0,r17			// is this a psuedo-cover?
     1.8 +#ifdef CONFIG_PRIVIFY
     1.9 +	// pseudo-cover are replaced by break.b which (unfortunatly) always
    1.10 +	// clear iim.
    1.11 +	cmp.eq p7,p0=r0,r17
    1.12  (p7)	br.spnt.many dispatch_privop_fault
    1.13  	;;
    1.14 +#endif
    1.15  	// if (ipsr.cpl == 2 && (iim - HYPERPRIVOP_START) < HYPERPRIVOP_MAX)
    1.16  	// this is a hyperprivop. A hyperprivop is hand-coded assembly with
    1.17  	// psr.ic off which means it can make no calls, cannot use r1-r15,
     2.1 --- a/xen/arch/ia64/xen/privop.c	Mon Jun 04 13:57:08 2007 -0600
     2.2 +++ b/xen/arch/ia64/xen/privop.c	Mon Jun 04 14:00:35 2007 -0600
     2.3 @@ -702,7 +702,7 @@ static IA64FAULT priv_handle_op(VCPU * v
     2.4  			perfc_incr(bsw1);
     2.5  			return priv_bsw1(vcpu, inst);
     2.6  		}
     2.7 -		if (inst.B8.x6 == 0x0) {
     2.8 +		if (privify_en && inst.B8.x6 == 0x0) {
     2.9  			// break instr for privified cover
    2.10  			perfc_incr(cover);
    2.11  			return priv_cover(vcpu, inst);