git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'sh-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal...
[pandora-kernel.git]
/
arch
/
powerpc
/
kvm
/
e500_tlb.c
diff --git
a/arch/powerpc/kvm/e500_tlb.c
b/arch/powerpc/kvm/e500_tlb.c
index
d6d6d47
..
b18fe35
100644
(file)
--- a/
arch/powerpc/kvm/e500_tlb.c
+++ b/
arch/powerpc/kvm/e500_tlb.c
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (C) 2008 Freescale Semiconductor, Inc. All rights reserved.
+ * Copyright (C) 2008
-2011
Freescale Semiconductor, Inc. All rights reserved.
*
* Author: Yu Liu, yu.liu@freescale.com
*
*
* Author: Yu Liu, yu.liu@freescale.com
*
@@
-24,6
+24,7
@@
#include "../mm/mmu_decl.h"
#include "e500_tlb.h"
#include "trace.h"
#include "../mm/mmu_decl.h"
#include "e500_tlb.h"
#include "trace.h"
+#include "timing.h"
#define to_htlb1_esel(esel) (tlb1_entry_num - (esel) - 1)
#define to_htlb1_esel(esel) (tlb1_entry_num - (esel) - 1)
@@
-506,6
+507,7
@@
int kvmppc_e500_emul_tlbsx(struct kvm_vcpu *vcpu, int rb)
vcpu_e500->mas7 = 0;
}
vcpu_e500->mas7 = 0;
}
+ kvmppc_set_exit_type(vcpu, EMULATED_TLBSX_EXITS);
return EMULATE_DONE;
}
return EMULATE_DONE;
}
@@
-571,6
+573,7
@@
int kvmppc_e500_emul_tlbwe(struct kvm_vcpu *vcpu)
write_host_tlbe(vcpu_e500, stlbsel, sesel);
}
write_host_tlbe(vcpu_e500, stlbsel, sesel);
}
+ kvmppc_set_exit_type(vcpu, EMULATED_TLBWE_EXITS);
return EMULATE_DONE;
}
return EMULATE_DONE;
}
@@
-672,6
+675,14
@@
int kvmppc_e500_tlb_search(struct kvm_vcpu *vcpu,
return -1;
}
return -1;
}
+void kvmppc_set_pid(struct kvm_vcpu *vcpu, u32 pid)
+{
+ struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu);
+
+ vcpu_e500->pid[0] = vcpu->arch.shadow_pid =
+ vcpu->arch.pid = pid;
+}
+
void kvmppc_e500_tlb_setup(struct kvmppc_vcpu_e500 *vcpu_e500)
{
struct tlbe *tlbe;
void kvmppc_e500_tlb_setup(struct kvmppc_vcpu_e500 *vcpu_e500)
{
struct tlbe *tlbe;