KVM: PPC: Remove unused kvm_unmap_hva callback
Since commit fb1522e099
("KVM: update to new mmu_notifier semantic
v2", 2017-08-31), the MMU notifier code in KVM no longer calls the
kvm_unmap_hva callback. This removes the PPC implementations of
kvm_unmap_hva().
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
This commit is contained in:
parent
a8b48a4dcc
commit
39c983ea0f
10 changed files with 2 additions and 46 deletions
|
@ -60,7 +60,6 @@
|
||||||
|
|
||||||
#define KVM_ARCH_WANT_MMU_NOTIFIER
|
#define KVM_ARCH_WANT_MMU_NOTIFIER
|
||||||
|
|
||||||
extern int kvm_unmap_hva(struct kvm *kvm, unsigned long hva);
|
|
||||||
extern int kvm_unmap_hva_range(struct kvm *kvm,
|
extern int kvm_unmap_hva_range(struct kvm *kvm,
|
||||||
unsigned long start, unsigned long end);
|
unsigned long start, unsigned long end);
|
||||||
extern int kvm_age_hva(struct kvm *kvm, unsigned long start, unsigned long end);
|
extern int kvm_age_hva(struct kvm *kvm, unsigned long start, unsigned long end);
|
||||||
|
|
|
@ -295,7 +295,6 @@ struct kvmppc_ops {
|
||||||
const struct kvm_userspace_memory_region *mem,
|
const struct kvm_userspace_memory_region *mem,
|
||||||
const struct kvm_memory_slot *old,
|
const struct kvm_memory_slot *old,
|
||||||
const struct kvm_memory_slot *new);
|
const struct kvm_memory_slot *new);
|
||||||
int (*unmap_hva)(struct kvm *kvm, unsigned long hva);
|
|
||||||
int (*unmap_hva_range)(struct kvm *kvm, unsigned long start,
|
int (*unmap_hva_range)(struct kvm *kvm, unsigned long start,
|
||||||
unsigned long end);
|
unsigned long end);
|
||||||
int (*age_hva)(struct kvm *kvm, unsigned long start, unsigned long end);
|
int (*age_hva)(struct kvm *kvm, unsigned long start, unsigned long end);
|
||||||
|
|
|
@ -819,12 +819,6 @@ void kvmppc_core_commit_memory_region(struct kvm *kvm,
|
||||||
kvm->arch.kvm_ops->commit_memory_region(kvm, mem, old, new);
|
kvm->arch.kvm_ops->commit_memory_region(kvm, mem, old, new);
|
||||||
}
|
}
|
||||||
|
|
||||||
int kvm_unmap_hva(struct kvm *kvm, unsigned long hva)
|
|
||||||
{
|
|
||||||
return kvm->arch.kvm_ops->unmap_hva(kvm, hva);
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL_GPL(kvm_unmap_hva);
|
|
||||||
|
|
||||||
int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end)
|
int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end)
|
||||||
{
|
{
|
||||||
return kvm->arch.kvm_ops->unmap_hva_range(kvm, start, end);
|
return kvm->arch.kvm_ops->unmap_hva_range(kvm, start, end);
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
|
|
||||||
extern void kvmppc_core_flush_memslot_hv(struct kvm *kvm,
|
extern void kvmppc_core_flush_memslot_hv(struct kvm *kvm,
|
||||||
struct kvm_memory_slot *memslot);
|
struct kvm_memory_slot *memslot);
|
||||||
extern int kvm_unmap_hva_hv(struct kvm *kvm, unsigned long hva);
|
|
||||||
extern int kvm_unmap_hva_range_hv(struct kvm *kvm, unsigned long start,
|
extern int kvm_unmap_hva_range_hv(struct kvm *kvm, unsigned long start,
|
||||||
unsigned long end);
|
unsigned long end);
|
||||||
extern int kvm_age_hva_hv(struct kvm *kvm, unsigned long start,
|
extern int kvm_age_hva_hv(struct kvm *kvm, unsigned long start,
|
||||||
|
|
|
@ -877,15 +877,6 @@ static int kvm_unmap_rmapp(struct kvm *kvm, struct kvm_memory_slot *memslot,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int kvm_unmap_hva_hv(struct kvm *kvm, unsigned long hva)
|
|
||||||
{
|
|
||||||
hva_handler_fn handler;
|
|
||||||
|
|
||||||
handler = kvm_is_radix(kvm) ? kvm_unmap_radix : kvm_unmap_rmapp;
|
|
||||||
kvm_handle_hva(kvm, hva, handler);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int kvm_unmap_hva_range_hv(struct kvm *kvm, unsigned long start, unsigned long end)
|
int kvm_unmap_hva_range_hv(struct kvm *kvm, unsigned long start, unsigned long end)
|
||||||
{
|
{
|
||||||
hva_handler_fn handler;
|
hva_handler_fn handler;
|
||||||
|
|
|
@ -450,7 +450,7 @@ long kvmppc_rm_h_put_tce_indirect(struct kvm_vcpu *vcpu,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Synchronize with the MMU notifier callbacks in
|
* Synchronize with the MMU notifier callbacks in
|
||||||
* book3s_64_mmu_hv.c (kvm_unmap_hva_hv etc.).
|
* book3s_64_mmu_hv.c (kvm_unmap_hva_range_hv etc.).
|
||||||
* While we have the rmap lock, code running on other CPUs
|
* While we have the rmap lock, code running on other CPUs
|
||||||
* cannot finish unmapping the host real page that backs
|
* cannot finish unmapping the host real page that backs
|
||||||
* this guest real page, so we are OK to access the host
|
* this guest real page, so we are OK to access the host
|
||||||
|
|
|
@ -4351,7 +4351,6 @@ static struct kvmppc_ops kvm_ops_hv = {
|
||||||
.flush_memslot = kvmppc_core_flush_memslot_hv,
|
.flush_memslot = kvmppc_core_flush_memslot_hv,
|
||||||
.prepare_memory_region = kvmppc_core_prepare_memory_region_hv,
|
.prepare_memory_region = kvmppc_core_prepare_memory_region_hv,
|
||||||
.commit_memory_region = kvmppc_core_commit_memory_region_hv,
|
.commit_memory_region = kvmppc_core_commit_memory_region_hv,
|
||||||
.unmap_hva = kvm_unmap_hva_hv,
|
|
||||||
.unmap_hva_range = kvm_unmap_hva_range_hv,
|
.unmap_hva_range = kvm_unmap_hva_range_hv,
|
||||||
.age_hva = kvm_age_hva_hv,
|
.age_hva = kvm_age_hva_hv,
|
||||||
.test_age_hva = kvm_test_age_hva_hv,
|
.test_age_hva = kvm_test_age_hva_hv,
|
||||||
|
|
|
@ -277,15 +277,6 @@ static void do_kvm_unmap_hva(struct kvm *kvm, unsigned long start,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int kvm_unmap_hva_pr(struct kvm *kvm, unsigned long hva)
|
|
||||||
{
|
|
||||||
trace_kvm_unmap_hva(hva);
|
|
||||||
|
|
||||||
do_kvm_unmap_hva(kvm, hva, hva + PAGE_SIZE);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int kvm_unmap_hva_range_pr(struct kvm *kvm, unsigned long start,
|
static int kvm_unmap_hva_range_pr(struct kvm *kvm, unsigned long start,
|
||||||
unsigned long end)
|
unsigned long end)
|
||||||
{
|
{
|
||||||
|
@ -1773,7 +1764,6 @@ static struct kvmppc_ops kvm_ops_pr = {
|
||||||
.flush_memslot = kvmppc_core_flush_memslot_pr,
|
.flush_memslot = kvmppc_core_flush_memslot_pr,
|
||||||
.prepare_memory_region = kvmppc_core_prepare_memory_region_pr,
|
.prepare_memory_region = kvmppc_core_prepare_memory_region_pr,
|
||||||
.commit_memory_region = kvmppc_core_commit_memory_region_pr,
|
.commit_memory_region = kvmppc_core_commit_memory_region_pr,
|
||||||
.unmap_hva = kvm_unmap_hva_pr,
|
|
||||||
.unmap_hva_range = kvm_unmap_hva_range_pr,
|
.unmap_hva_range = kvm_unmap_hva_range_pr,
|
||||||
.age_hva = kvm_age_hva_pr,
|
.age_hva = kvm_age_hva_pr,
|
||||||
.test_age_hva = kvm_test_age_hva_pr,
|
.test_age_hva = kvm_test_age_hva_pr,
|
||||||
|
|
|
@ -724,7 +724,7 @@ int kvmppc_load_last_inst(struct kvm_vcpu *vcpu, enum instruction_type type,
|
||||||
|
|
||||||
/************* MMU Notifiers *************/
|
/************* MMU Notifiers *************/
|
||||||
|
|
||||||
int kvm_unmap_hva(struct kvm *kvm, unsigned long hva)
|
static int kvm_unmap_hva(struct kvm *kvm, unsigned long hva)
|
||||||
{
|
{
|
||||||
trace_kvm_unmap_hva(hva);
|
trace_kvm_unmap_hva(hva);
|
||||||
|
|
||||||
|
|
|
@ -254,21 +254,6 @@ TRACE_EVENT(kvm_exit,
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
TRACE_EVENT(kvm_unmap_hva,
|
|
||||||
TP_PROTO(unsigned long hva),
|
|
||||||
TP_ARGS(hva),
|
|
||||||
|
|
||||||
TP_STRUCT__entry(
|
|
||||||
__field( unsigned long, hva )
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_fast_assign(
|
|
||||||
__entry->hva = hva;
|
|
||||||
),
|
|
||||||
|
|
||||||
TP_printk("unmap hva 0x%lx\n", __entry->hva)
|
|
||||||
);
|
|
||||||
|
|
||||||
#endif /* _TRACE_KVM_H */
|
#endif /* _TRACE_KVM_H */
|
||||||
|
|
||||||
/* This part must be outside protection */
|
/* This part must be outside protection */
|
||||||
|
|
Loading…
Add table
Reference in a new issue