Commit 5a213b92 authored by Paolo Bonzini's avatar Paolo Bonzini
Browse files

Merge branch 'topic/ppc-kvm' of...

Merge branch 'topic/ppc-kvm' of https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux into HEAD

Fix conflicts between memslot overhaul and commit 511d25d6 ("KVM:
PPC: Book3S: Suppress warnings when allocating too big memory slots")
from the powerpc tree.
parents d8f6ef45 63fa47ba
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -4144,6 +4144,14 @@
			Override pmtimer IOPort with a hex value.
			e.g. pmtmr=0x508

	pmu_override=	[PPC] Override the PMU.
			This option takes over the PMU facility, so it is no
			longer usable by perf. Setting this option starts the
			PMU counters by setting MMCR0 to 0 (the FC bit is
			cleared). If a number is given, then MMCR1 is set to
			that number, otherwise (e.g., 'pmu_override=on'), MMCR1
			remains 0.

	pm_debug_messages	[SUSPEND,KNL]
			Enable suspend/resume debug messages during boot up.

+0 −5
Original line number Diff line number Diff line
@@ -141,11 +141,6 @@ static inline void kvmppc_restore_tm_hv(struct kvm_vcpu *vcpu, u64 msr,
					bool preserve_nv) { }
#endif /* CONFIG_PPC_TRANSACTIONAL_MEM */

void kvmhv_save_host_pmu(void);
void kvmhv_load_host_pmu(void);
void kvmhv_save_guest_pmu(struct kvm_vcpu *vcpu, bool pmu_in_use);
void kvmhv_load_guest_pmu(struct kvm_vcpu *vcpu);

void kvmppc_p9_enter_guest(struct kvm_vcpu *vcpu);

long kvmppc_h_set_dabr(struct kvm_vcpu *vcpu, unsigned long dabr);
+1 −0
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@
#define BOOK3S_INTERRUPT_FP_UNAVAIL	0x800
#define BOOK3S_INTERRUPT_DECREMENTER	0x900
#define BOOK3S_INTERRUPT_HV_DECREMENTER	0x980
#define BOOK3S_INTERRUPT_NESTED_HV_DECREMENTER	0x1980
#define BOOK3S_INTERRUPT_DOORBELL	0xa00
#define BOOK3S_INTERRUPT_SYSCALL	0xc00
#define BOOK3S_INTERRUPT_TRACE		0xd00
+6 −0
Original line number Diff line number Diff line
@@ -406,6 +406,12 @@ static inline ulong kvmppc_get_fault_dar(struct kvm_vcpu *vcpu)
	return vcpu->arch.fault_dar;
}

/* Expiry time of vcpu DEC relative to host TB */
static inline u64 kvmppc_dec_expires_host_tb(struct kvm_vcpu *vcpu)
{
	return vcpu->arch.dec_expires - vcpu->arch.vcore->tb_offset;
}

static inline bool is_kvmppc_resume_guest(int r)
{
	return (r == RESUME_GUEST || r == RESUME_GUEST_NV);
+3 −2
Original line number Diff line number Diff line
@@ -44,7 +44,6 @@ struct kvm_nested_guest {
	struct mutex tlb_lock;		/* serialize page faults and tlbies */
	struct kvm_nested_guest *next;
	cpumask_t need_tlb_flush;
	cpumask_t cpu_in_guest;
	short prev_cpu[NR_CPUS];
	u8 radix;			/* is this nested guest radix */
};
@@ -154,7 +153,9 @@ static inline bool kvmhv_vcpu_is_radix(struct kvm_vcpu *vcpu)
	return radix;
}

int kvmhv_vcpu_entry_p9(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpcr);
unsigned long kvmppc_msr_hard_disable_set_facilities(struct kvm_vcpu *vcpu, unsigned long msr);

int kvmhv_vcpu_entry_p9(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpcr, u64 *tb);

#define KVM_DEFAULT_HPT_ORDER	24	/* 16MB HPT by default */
#endif
Loading