diff options
| author | Gleb Natapov <gleb@redhat.com> | 2013-04-28 12:50:07 +0300 | 
|---|---|---|
| committer | Gleb Natapov <gleb@redhat.com> | 2013-04-28 12:50:07 +0300 | 
| commit | 064d1afaa5a60fc391d0b4b77599fc8f63f99cd3 (patch) | |
| tree | 2e640cdfa50b0048c52e021f07a8b24560251b26 /arch/powerpc/kvm/e500_emulate.c | |
| parent | 730dca42c1d363c939da18c1499c7327c66e2b37 (diff) | |
| parent | 8b78645c93b5d469e8006d68dbc92edc2640c654 (diff) | |
| download | olio-linux-3.10-064d1afaa5a60fc391d0b4b77599fc8f63f99cd3.tar.xz olio-linux-3.10-064d1afaa5a60fc391d0b4b77599fc8f63f99cd3.zip  | |
Merge git://github.com/agraf/linux-2.6.git kvm-ppc-next into queue
Diffstat (limited to 'arch/powerpc/kvm/e500_emulate.c')
| -rw-r--r-- | arch/powerpc/kvm/e500_emulate.c | 19 | 
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/e500_emulate.c b/arch/powerpc/kvm/e500_emulate.c index e78f353a836..b10a01243ab 100644 --- a/arch/powerpc/kvm/e500_emulate.c +++ b/arch/powerpc/kvm/e500_emulate.c @@ -284,6 +284,16 @@ int kvmppc_core_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, ulong *spr_val)  	case SPRN_TLB1CFG:  		*spr_val = vcpu->arch.tlbcfg[1];  		break; +	case SPRN_TLB0PS: +		if (!has_feature(vcpu, VCPU_FTR_MMU_V2)) +			return EMULATE_FAIL; +		*spr_val = vcpu->arch.tlbps[0]; +		break; +	case SPRN_TLB1PS: +		if (!has_feature(vcpu, VCPU_FTR_MMU_V2)) +			return EMULATE_FAIL; +		*spr_val = vcpu->arch.tlbps[1]; +		break;  	case SPRN_L1CSR0:  		*spr_val = vcpu_e500->l1csr0;  		break; @@ -307,6 +317,15 @@ int kvmppc_core_emulate_mfspr(struct kvm_vcpu *vcpu, int sprn, ulong *spr_val)  	case SPRN_MMUCFG:  		*spr_val = vcpu->arch.mmucfg;  		break; +	case SPRN_EPTCFG: +		if (!has_feature(vcpu, VCPU_FTR_MMU_V2)) +			return EMULATE_FAIL; +		/* +		 * Legacy Linux guests access EPTCFG register even if the E.PT +		 * category is disabled in the VM. Give them a chance to live. +		 */ +		*spr_val = vcpu->arch.eptcfg; +		break;  	/* extra exceptions */  	case SPRN_IVOR32:  |