KVM: PPC: rename CONFIG_KVM_E500 -> CONFIG_KVM_E500V2
The CONFIG_KVM_E500 option really indicates that we're running on a V2 machine, not on a machine of the generic E500 class. So indicate that properly and change the config name accordingly. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
Родитель
1d628af78a
Коммит
bf7ca4bdcb
|
@ -109,7 +109,7 @@ config KVM_440
|
||||||
|
|
||||||
config KVM_EXIT_TIMING
|
config KVM_EXIT_TIMING
|
||||||
bool "Detailed exit timing"
|
bool "Detailed exit timing"
|
||||||
depends on KVM_440 || KVM_E500 || KVM_E500MC
|
depends on KVM_440 || KVM_E500V2 || KVM_E500MC
|
||||||
---help---
|
---help---
|
||||||
Calculate elapsed time for every exit/enter cycle. A per-vcpu
|
Calculate elapsed time for every exit/enter cycle. A per-vcpu
|
||||||
report is available in debugfs kvm/vm#_vcpu#_timing.
|
report is available in debugfs kvm/vm#_vcpu#_timing.
|
||||||
|
@ -118,14 +118,14 @@ config KVM_EXIT_TIMING
|
||||||
|
|
||||||
If unsure, say N.
|
If unsure, say N.
|
||||||
|
|
||||||
config KVM_E500
|
config KVM_E500V2
|
||||||
bool "KVM support for PowerPC E500 processors"
|
bool "KVM support for PowerPC E500v2 processors"
|
||||||
depends on EXPERIMENTAL && E500
|
depends on EXPERIMENTAL && E500
|
||||||
select KVM
|
select KVM
|
||||||
select KVM_MMIO
|
select KVM_MMIO
|
||||||
---help---
|
---help---
|
||||||
Support running unmodified E500 guest kernels in virtual machines on
|
Support running unmodified E500 guest kernels in virtual machines on
|
||||||
E500 host processors.
|
E500v2 host processors.
|
||||||
|
|
||||||
This module provides access to the hardware capabilities through
|
This module provides access to the hardware capabilities through
|
||||||
a character device node named /dev/kvm.
|
a character device node named /dev/kvm.
|
||||||
|
|
|
@ -36,7 +36,7 @@ kvm-e500-objs := \
|
||||||
e500.o \
|
e500.o \
|
||||||
e500_tlb.o \
|
e500_tlb.o \
|
||||||
e500_emulate.o
|
e500_emulate.o
|
||||||
kvm-objs-$(CONFIG_KVM_E500) := $(kvm-e500-objs)
|
kvm-objs-$(CONFIG_KVM_E500V2) := $(kvm-e500-objs)
|
||||||
|
|
||||||
kvm-e500mc-objs := \
|
kvm-e500mc-objs := \
|
||||||
$(common-objs-y) \
|
$(common-objs-y) \
|
||||||
|
@ -98,7 +98,7 @@ kvm-objs-$(CONFIG_KVM_BOOK3S_32) := $(kvm-book3s_32-objs)
|
||||||
kvm-objs := $(kvm-objs-m) $(kvm-objs-y)
|
kvm-objs := $(kvm-objs-m) $(kvm-objs-y)
|
||||||
|
|
||||||
obj-$(CONFIG_KVM_440) += kvm.o
|
obj-$(CONFIG_KVM_440) += kvm.o
|
||||||
obj-$(CONFIG_KVM_E500) += kvm.o
|
obj-$(CONFIG_KVM_E500V2) += kvm.o
|
||||||
obj-$(CONFIG_KVM_E500MC) += kvm.o
|
obj-$(CONFIG_KVM_E500MC) += kvm.o
|
||||||
obj-$(CONFIG_KVM_BOOK3S_64) += kvm.o
|
obj-$(CONFIG_KVM_BOOK3S_64) += kvm.o
|
||||||
obj-$(CONFIG_KVM_BOOK3S_32) += kvm.o
|
obj-$(CONFIG_KVM_BOOK3S_32) += kvm.o
|
||||||
|
|
|
@ -762,7 +762,7 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
|
||||||
gpa_t gpaddr;
|
gpa_t gpaddr;
|
||||||
gfn_t gfn;
|
gfn_t gfn;
|
||||||
|
|
||||||
#ifdef CONFIG_KVM_E500
|
#ifdef CONFIG_KVM_E500V2
|
||||||
if (!(vcpu->arch.shared->msr & MSR_PR) &&
|
if (!(vcpu->arch.shared->msr & MSR_PR) &&
|
||||||
(eaddr & PAGE_MASK) == vcpu->arch.magic_page_ea) {
|
(eaddr & PAGE_MASK) == vcpu->arch.magic_page_ea) {
|
||||||
kvmppc_map_magic(vcpu);
|
kvmppc_map_magic(vcpu);
|
||||||
|
|
|
@ -39,7 +39,7 @@ struct tlbe_priv {
|
||||||
struct tlbe_ref ref; /* TLB0 only -- TLB1 uses tlb_refs */
|
struct tlbe_ref ref; /* TLB0 only -- TLB1 uses tlb_refs */
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_KVM_E500
|
#ifdef CONFIG_KVM_E500V2
|
||||||
struct vcpu_id_table;
|
struct vcpu_id_table;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ struct kvmppc_vcpu_e500 {
|
||||||
u64 *g2h_tlb1_map;
|
u64 *g2h_tlb1_map;
|
||||||
unsigned int *h2g_tlb1_rmap;
|
unsigned int *h2g_tlb1_rmap;
|
||||||
|
|
||||||
#ifdef CONFIG_KVM_E500
|
#ifdef CONFIG_KVM_E500V2
|
||||||
u32 pid[E500_PID_NUM];
|
u32 pid[E500_PID_NUM];
|
||||||
|
|
||||||
/* vcpu id table */
|
/* vcpu id table */
|
||||||
|
@ -136,7 +136,7 @@ void kvmppc_get_sregs_e500_tlb(struct kvm_vcpu *vcpu, struct kvm_sregs *sregs);
|
||||||
int kvmppc_set_sregs_e500_tlb(struct kvm_vcpu *vcpu, struct kvm_sregs *sregs);
|
int kvmppc_set_sregs_e500_tlb(struct kvm_vcpu *vcpu, struct kvm_sregs *sregs);
|
||||||
|
|
||||||
|
|
||||||
#ifdef CONFIG_KVM_E500
|
#ifdef CONFIG_KVM_E500V2
|
||||||
unsigned int kvmppc_e500_get_sid(struct kvmppc_vcpu_e500 *vcpu_e500,
|
unsigned int kvmppc_e500_get_sid(struct kvmppc_vcpu_e500 *vcpu_e500,
|
||||||
unsigned int as, unsigned int gid,
|
unsigned int as, unsigned int gid,
|
||||||
unsigned int pr, int avoid_recursion);
|
unsigned int pr, int avoid_recursion);
|
||||||
|
|
|
@ -156,7 +156,7 @@ static inline void write_host_tlbe(struct kvmppc_vcpu_e500 *vcpu_e500,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_KVM_E500
|
#ifdef CONFIG_KVM_E500V2
|
||||||
void kvmppc_map_magic(struct kvm_vcpu *vcpu)
|
void kvmppc_map_magic(struct kvm_vcpu *vcpu)
|
||||||
{
|
{
|
||||||
struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu);
|
struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu);
|
||||||
|
|
|
@ -79,7 +79,7 @@ int kvmppc_kvm_pv(struct kvm_vcpu *vcpu)
|
||||||
}
|
}
|
||||||
case HC_VENDOR_KVM | KVM_HC_FEATURES:
|
case HC_VENDOR_KVM | KVM_HC_FEATURES:
|
||||||
r = HC_EV_SUCCESS;
|
r = HC_EV_SUCCESS;
|
||||||
#if defined(CONFIG_PPC_BOOK3S) || defined(CONFIG_KVM_E500)
|
#if defined(CONFIG_PPC_BOOK3S) || defined(CONFIG_KVM_E500V2)
|
||||||
/* XXX Missing magic page on 44x */
|
/* XXX Missing magic page on 44x */
|
||||||
r2 |= (1 << KVM_FEATURE_MAGIC_PAGE);
|
r2 |= (1 << KVM_FEATURE_MAGIC_PAGE);
|
||||||
#endif
|
#endif
|
||||||
|
@ -235,7 +235,7 @@ int kvm_dev_ioctl_check_extension(long ext)
|
||||||
case KVM_CAP_PPC_PAIRED_SINGLES:
|
case KVM_CAP_PPC_PAIRED_SINGLES:
|
||||||
case KVM_CAP_PPC_OSI:
|
case KVM_CAP_PPC_OSI:
|
||||||
case KVM_CAP_PPC_GET_PVINFO:
|
case KVM_CAP_PPC_GET_PVINFO:
|
||||||
#if defined(CONFIG_KVM_E500) || defined(CONFIG_KVM_E500MC)
|
#if defined(CONFIG_KVM_E500V2) || defined(CONFIG_KVM_E500MC)
|
||||||
case KVM_CAP_SW_TLB:
|
case KVM_CAP_SW_TLB:
|
||||||
#endif
|
#endif
|
||||||
r = 1;
|
r = 1;
|
||||||
|
@ -629,7 +629,7 @@ static int kvm_vcpu_ioctl_enable_cap(struct kvm_vcpu *vcpu,
|
||||||
r = 0;
|
r = 0;
|
||||||
vcpu->arch.papr_enabled = true;
|
vcpu->arch.papr_enabled = true;
|
||||||
break;
|
break;
|
||||||
#if defined(CONFIG_KVM_E500) || defined(CONFIG_KVM_E500MC)
|
#if defined(CONFIG_KVM_E500V2) || defined(CONFIG_KVM_E500MC)
|
||||||
case KVM_CAP_SW_TLB: {
|
case KVM_CAP_SW_TLB: {
|
||||||
struct kvm_config_tlb cfg;
|
struct kvm_config_tlb cfg;
|
||||||
void __user *user_ptr = (void __user *)(uintptr_t)cap->args[0];
|
void __user *user_ptr = (void __user *)(uintptr_t)cap->args[0];
|
||||||
|
@ -706,7 +706,7 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CONFIG_KVM_E500) || defined(CONFIG_KVM_E500MC)
|
#if defined(CONFIG_KVM_E500V2) || defined(CONFIG_KVM_E500MC)
|
||||||
case KVM_DIRTY_TLB: {
|
case KVM_DIRTY_TLB: {
|
||||||
struct kvm_dirty_tlb dirty;
|
struct kvm_dirty_tlb dirty;
|
||||||
r = -EFAULT;
|
r = -EFAULT;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче