Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

KVM: PPC: Book3S HV: Rename current DAWR macros and variables

Power10 is introducing a second DAWR (Data Address Watchpoint
Register). Use real register names (with suffix 0) from ISA for
current macros and variables used by kvm. One exception is
KVM_REG_PPC_DAWR. Keep it as it is because it's uapi so changing it
will break userspace.

Signed-off-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>

authored by

Ravi Bangoria and committed by
Paul Mackerras
122954ed afe75049

+30 -30
+2 -2
arch/powerpc/include/asm/kvm_host.h
··· 583 583 u32 ctrl; 584 584 u32 dabrx; 585 585 ulong dabr; 586 - ulong dawr; 587 - ulong dawrx; 586 + ulong dawr0; 587 + ulong dawrx0; 588 588 ulong ciabr; 589 589 ulong cfar; 590 590 ulong ppr;
+2 -2
arch/powerpc/kernel/asm-offsets.c
··· 526 526 OFFSET(VCPU_CTRL, kvm_vcpu, arch.ctrl); 527 527 OFFSET(VCPU_DABR, kvm_vcpu, arch.dabr); 528 528 OFFSET(VCPU_DABRX, kvm_vcpu, arch.dabrx); 529 - OFFSET(VCPU_DAWR, kvm_vcpu, arch.dawr); 530 - OFFSET(VCPU_DAWRX, kvm_vcpu, arch.dawrx); 529 + OFFSET(VCPU_DAWR0, kvm_vcpu, arch.dawr0); 530 + OFFSET(VCPU_DAWRX0, kvm_vcpu, arch.dawrx0); 531 531 OFFSET(VCPU_CIABR, kvm_vcpu, arch.ciabr); 532 532 OFFSET(VCPU_HFLAGS, kvm_vcpu, arch.hflags); 533 533 OFFSET(VCPU_DEC, kvm_vcpu, arch.dec);
+12 -12
arch/powerpc/kvm/book3s_hv.c
··· 782 782 return H_UNSUPPORTED_FLAG_START; 783 783 if (value2 & DABRX_HYP) 784 784 return H_P4; 785 - vcpu->arch.dawr = value1; 786 - vcpu->arch.dawrx = value2; 785 + vcpu->arch.dawr0 = value1; 786 + vcpu->arch.dawrx0 = value2; 787 787 return H_SUCCESS; 788 788 case H_SET_MODE_RESOURCE_ADDR_TRANS_MODE: 789 789 /* KVM does not support mflags=2 (AIL=2) */ ··· 1759 1759 *val = get_reg_val(id, vcpu->arch.vcore->vtb); 1760 1760 break; 1761 1761 case KVM_REG_PPC_DAWR: 1762 - *val = get_reg_val(id, vcpu->arch.dawr); 1762 + *val = get_reg_val(id, vcpu->arch.dawr0); 1763 1763 break; 1764 1764 case KVM_REG_PPC_DAWRX: 1765 - *val = get_reg_val(id, vcpu->arch.dawrx); 1765 + *val = get_reg_val(id, vcpu->arch.dawrx0); 1766 1766 break; 1767 1767 case KVM_REG_PPC_CIABR: 1768 1768 *val = get_reg_val(id, vcpu->arch.ciabr); ··· 1991 1991 vcpu->arch.vcore->vtb = set_reg_val(id, *val); 1992 1992 break; 1993 1993 case KVM_REG_PPC_DAWR: 1994 - vcpu->arch.dawr = set_reg_val(id, *val); 1994 + vcpu->arch.dawr0 = set_reg_val(id, *val); 1995 1995 break; 1996 1996 case KVM_REG_PPC_DAWRX: 1997 - vcpu->arch.dawrx = set_reg_val(id, *val) & ~DAWRX_HYP; 1997 + vcpu->arch.dawrx0 = set_reg_val(id, *val) & ~DAWRX_HYP; 1998 1998 break; 1999 1999 case KVM_REG_PPC_CIABR: 2000 2000 vcpu->arch.ciabr = set_reg_val(id, *val); ··· 3449 3449 int trap; 3450 3450 unsigned long host_hfscr = mfspr(SPRN_HFSCR); 3451 3451 unsigned long host_ciabr = mfspr(SPRN_CIABR); 3452 - unsigned long host_dawr = mfspr(SPRN_DAWR0); 3453 - unsigned long host_dawrx = mfspr(SPRN_DAWRX0); 3452 + unsigned long host_dawr0 = mfspr(SPRN_DAWR0); 3453 + unsigned long host_dawrx0 = mfspr(SPRN_DAWRX0); 3454 3454 unsigned long host_psscr = mfspr(SPRN_PSSCR); 3455 3455 unsigned long host_pidr = mfspr(SPRN_PID); 3456 3456 ··· 3489 3489 mtspr(SPRN_SPURR, vcpu->arch.spurr); 3490 3490 3491 3491 if (dawr_enabled()) { 3492 - mtspr(SPRN_DAWR0, vcpu->arch.dawr); 3493 - mtspr(SPRN_DAWRX0, vcpu->arch.dawrx); 3492 + mtspr(SPRN_DAWR0, vcpu->arch.dawr0); 3493 + mtspr(SPRN_DAWRX0, vcpu->arch.dawrx0); 3494 3494 } 3495 3495 mtspr(SPRN_CIABR, vcpu->arch.ciabr); 3496 3496 mtspr(SPRN_IC, vcpu->arch.ic); ··· 3542 3542 (local_paca->kvm_hstate.fake_suspend << PSSCR_FAKE_SUSPEND_LG)); 3543 3543 mtspr(SPRN_HFSCR, host_hfscr); 3544 3544 mtspr(SPRN_CIABR, host_ciabr); 3545 - mtspr(SPRN_DAWR0, host_dawr); 3546 - mtspr(SPRN_DAWRX0, host_dawrx); 3545 + mtspr(SPRN_DAWR0, host_dawr0); 3546 + mtspr(SPRN_DAWRX0, host_dawrx0); 3547 3547 mtspr(SPRN_PID, host_pidr); 3548 3548 3549 3549 /*
+4 -4
arch/powerpc/kvm/book3s_hv_nested.c
··· 33 33 hr->dpdes = vc->dpdes; 34 34 hr->hfscr = vcpu->arch.hfscr; 35 35 hr->tb_offset = vc->tb_offset; 36 - hr->dawr0 = vcpu->arch.dawr; 37 - hr->dawrx0 = vcpu->arch.dawrx; 36 + hr->dawr0 = vcpu->arch.dawr0; 37 + hr->dawrx0 = vcpu->arch.dawrx0; 38 38 hr->ciabr = vcpu->arch.ciabr; 39 39 hr->purr = vcpu->arch.purr; 40 40 hr->spurr = vcpu->arch.spurr; ··· 151 151 vc->pcr = hr->pcr | PCR_MASK; 152 152 vc->dpdes = hr->dpdes; 153 153 vcpu->arch.hfscr = hr->hfscr; 154 - vcpu->arch.dawr = hr->dawr0; 155 - vcpu->arch.dawrx = hr->dawrx0; 154 + vcpu->arch.dawr0 = hr->dawr0; 155 + vcpu->arch.dawrx0 = hr->dawrx0; 156 156 vcpu->arch.ciabr = hr->ciabr; 157 157 vcpu->arch.purr = hr->purr; 158 158 vcpu->arch.spurr = hr->spurr;
+10 -10
arch/powerpc/kvm/book3s_hv_rmhandlers.S
··· 52 52 #define STACK_SLOT_PID (SFS-32) 53 53 #define STACK_SLOT_IAMR (SFS-40) 54 54 #define STACK_SLOT_CIABR (SFS-48) 55 - #define STACK_SLOT_DAWR (SFS-56) 56 - #define STACK_SLOT_DAWRX (SFS-64) 55 + #define STACK_SLOT_DAWR0 (SFS-56) 56 + #define STACK_SLOT_DAWRX0 (SFS-64) 57 57 #define STACK_SLOT_HFSCR (SFS-72) 58 58 #define STACK_SLOT_AMR (SFS-80) 59 59 #define STACK_SLOT_UAMOR (SFS-88) ··· 711 711 mfspr r7, SPRN_DAWRX0 712 712 mfspr r8, SPRN_IAMR 713 713 std r5, STACK_SLOT_CIABR(r1) 714 - std r6, STACK_SLOT_DAWR(r1) 715 - std r7, STACK_SLOT_DAWRX(r1) 714 + std r6, STACK_SLOT_DAWR0(r1) 715 + std r7, STACK_SLOT_DAWRX0(r1) 716 716 std r8, STACK_SLOT_IAMR(r1) 717 717 END_FTR_SECTION_IFSET(CPU_FTR_ARCH_207S) 718 718 ··· 801 801 lbz r5, 0(r5) 802 802 cmpdi r5, 0 803 803 beq 1f 804 - ld r5, VCPU_DAWR(r4) 805 - ld r6, VCPU_DAWRX(r4) 804 + ld r5, VCPU_DAWR0(r4) 805 + ld r6, VCPU_DAWRX0(r4) 806 806 mtspr SPRN_DAWR0, r5 807 807 mtspr SPRN_DAWRX0, r6 808 808 1: ··· 1759 1759 /* Restore host values of some registers */ 1760 1760 BEGIN_FTR_SECTION 1761 1761 ld r5, STACK_SLOT_CIABR(r1) 1762 - ld r6, STACK_SLOT_DAWR(r1) 1763 - ld r7, STACK_SLOT_DAWRX(r1) 1762 + ld r6, STACK_SLOT_DAWR0(r1) 1763 + ld r7, STACK_SLOT_DAWRX0(r1) 1764 1764 mtspr SPRN_CIABR, r5 1765 1765 /* 1766 1766 * If the DAWR doesn't work, it's ok to write these here as ··· 2574 2574 rlwimi r5, r4, 5, DAWRX_DR | DAWRX_DW 2575 2575 rlwimi r5, r4, 2, DAWRX_WT 2576 2576 clrrdi r4, r4, 3 2577 - std r4, VCPU_DAWR(r3) 2578 - std r5, VCPU_DAWRX(r3) 2577 + std r4, VCPU_DAWR0(r3) 2578 + std r5, VCPU_DAWRX0(r3) 2579 2579 /* 2580 2580 * If came in through the real mode hcall handler then it is necessary 2581 2581 * to write the registers since the return path won't. Otherwise it is