Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 547465ef authored by Bharat Bhushan's avatar Bharat Bhushan Committed by Alexander Graf
Browse files

KVM: PPC: E500: Using "struct debug_reg"



For KVM also use the "struct debug_reg" defined in asm/processor.h

Signed-off-by: default avatarBharat Bhushan <bharat.bhushan@freescale.com>
Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
parent b12c7841
Loading
Loading
Loading
Loading
+1 −12
Original line number Diff line number Diff line
@@ -387,17 +387,6 @@ struct kvmppc_slb {
#define KVMPPC_EPR_USER		1 /* exit to userspace to fill EPR */
#define KVMPPC_EPR_KERNEL	2 /* in-kernel irqchip */

struct kvmppc_booke_debug_reg {
	u32 dbcr0;
	u32 dbcr1;
	u32 dbcr2;
#ifdef CONFIG_KVM_E500MC
	u32 dbcr4;
#endif
	u64 iac[KVMPPC_BOOKE_MAX_IAC];
	u64 dac[KVMPPC_BOOKE_MAX_DAC];
};

#define KVMPPC_IRQ_DEFAULT	0
#define KVMPPC_IRQ_MPIC		1
#define KVMPPC_IRQ_XICS		2
@@ -549,7 +538,7 @@ struct kvm_vcpu_arch {
	u32 eptcfg;
	u32 epr;
	u32 crit_save;
	struct kvmppc_booke_debug_reg dbg_reg;
	struct debug_reg dbg_reg;
#endif
	gpa_t paddr_accessed;
	gva_t vaddr_accessed;
+24 −10
Original line number Diff line number Diff line
@@ -1441,7 +1441,6 @@ int kvm_vcpu_ioctl_get_one_reg(struct kvm_vcpu *vcpu, struct kvm_one_reg *reg)
	int r = 0;
	union kvmppc_one_reg val;
	int size;
	long int i;

	size = one_reg_size(reg->id);
	if (size > sizeof(val))
@@ -1449,16 +1448,24 @@ int kvm_vcpu_ioctl_get_one_reg(struct kvm_vcpu *vcpu, struct kvm_one_reg *reg)

	switch (reg->id) {
	case KVM_REG_PPC_IAC1:
		val = get_reg_val(reg->id, vcpu->arch.dbg_reg.iac1);
		break;
	case KVM_REG_PPC_IAC2:
		val = get_reg_val(reg->id, vcpu->arch.dbg_reg.iac2);
		break;
#if CONFIG_PPC_ADV_DEBUG_IACS > 2
	case KVM_REG_PPC_IAC3:
		val = get_reg_val(reg->id, vcpu->arch.dbg_reg.iac3);
		break;
	case KVM_REG_PPC_IAC4:
		i = reg->id - KVM_REG_PPC_IAC1;
		val = get_reg_val(reg->id, vcpu->arch.dbg_reg.iac[i]);
		val = get_reg_val(reg->id, vcpu->arch.dbg_reg.iac4);
		break;
#endif
	case KVM_REG_PPC_DAC1:
		val = get_reg_val(reg->id, vcpu->arch.dbg_reg.dac1);
		break;
	case KVM_REG_PPC_DAC2:
		i = reg->id - KVM_REG_PPC_DAC1;
		val = get_reg_val(reg->id, vcpu->arch.dbg_reg.dac[i]);
		val = get_reg_val(reg->id, vcpu->arch.dbg_reg.dac2);
		break;
	case KVM_REG_PPC_EPR: {
		u32 epr = get_guest_epr(vcpu);
@@ -1501,7 +1508,6 @@ int kvm_vcpu_ioctl_set_one_reg(struct kvm_vcpu *vcpu, struct kvm_one_reg *reg)
	int r = 0;
	union kvmppc_one_reg val;
	int size;
	long int i;

	size = one_reg_size(reg->id);
	if (size > sizeof(val))
@@ -1512,16 +1518,24 @@ int kvm_vcpu_ioctl_set_one_reg(struct kvm_vcpu *vcpu, struct kvm_one_reg *reg)

	switch (reg->id) {
	case KVM_REG_PPC_IAC1:
		vcpu->arch.dbg_reg.iac1 = set_reg_val(reg->id, val);
		break;
	case KVM_REG_PPC_IAC2:
		vcpu->arch.dbg_reg.iac2 = set_reg_val(reg->id, val);
		break;
#if CONFIG_PPC_ADV_DEBUG_IACS > 2
	case KVM_REG_PPC_IAC3:
		vcpu->arch.dbg_reg.iac3 = set_reg_val(reg->id, val);
		break;
	case KVM_REG_PPC_IAC4:
		i = reg->id - KVM_REG_PPC_IAC1;
		vcpu->arch.dbg_reg.iac[i] = set_reg_val(reg->id, val);
		vcpu->arch.dbg_reg.iac4 = set_reg_val(reg->id, val);
		break;
#endif
	case KVM_REG_PPC_DAC1:
		vcpu->arch.dbg_reg.dac1 = set_reg_val(reg->id, val);
		break;
	case KVM_REG_PPC_DAC2:
		i = reg->id - KVM_REG_PPC_DAC1;
		vcpu->arch.dbg_reg.dac[i] = set_reg_val(reg->id, val);
		vcpu->arch.dbg_reg.dac2 = set_reg_val(reg->id, val);
		break;
	case KVM_REG_PPC_EPR: {
		u32 new_epr = set_reg_val(reg->id, val);