From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58478) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WsEzk-00078T-2K for qemu-devel@nongnu.org; Wed, 04 Jun 2014 13:29:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WsEze-000592-27 for qemu-devel@nongnu.org; Wed, 04 Jun 2014 13:29:00 -0400 Message-ID: <538F574F.5060706@gmail.com> Date: Wed, 04 Jun 2014 12:28:47 -0500 From: Tom Musta MIME-Version: 1.0 References: <1401886265-6589-1-git-send-email-aik@ozlabs.ru> <1401886265-6589-13-git-send-email-aik@ozlabs.ru> In-Reply-To: <1401886265-6589-13-git-send-email-aik@ozlabs.ru> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v5 12/30] target-ppc: Enable PMU SPRs migration List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexey Kardashevskiy , qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, Alexander Graf , Greg Kurz On 6/4/2014 7:50 AM, Alexey Kardashevskiy wrote: > This enabled PMU SPRs migration by hooking hypv privileged versions with > "KVM one reg" IDs. > > Signed-off-by: Alexey Kardashevskiy > --- > target-ppc/translate_init.c | 104 ++++++++++++++++++++++---------------------- > 1 file changed, 52 insertions(+), 52 deletions(-) > > diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c > index 055c726..062d058 100644 > --- a/target-ppc/translate_init.c > +++ b/target-ppc/translate_init.c > @@ -7370,50 +7370,50 @@ static void gen_spr_970_dbg(CPUPPCState *env) > > static void gen_spr_book3s_pmu_sup(CPUPPCState *env) > { > - spr_register(env, SPR_POWER_MMCR0, "MMCR0", > - SPR_NOACCESS, SPR_NOACCESS, > - &spr_read_generic, &spr_write_generic, > - 0x00000000); > - spr_register(env, SPR_POWER_MMCR1, "MMCR1", > - SPR_NOACCESS, SPR_NOACCESS, > - &spr_read_generic, &spr_write_generic, > - 0x00000000); > - spr_register(env, SPR_POWER_MMCRA, "MMCRA", > - SPR_NOACCESS, SPR_NOACCESS, > - &spr_read_generic, &spr_write_generic, > - 0x00000000); > - spr_register(env, SPR_POWER_PMC1, "PMC1", > - SPR_NOACCESS, SPR_NOACCESS, > - &spr_read_generic, &spr_write_generic, > - 0x00000000); > - spr_register(env, SPR_POWER_PMC2, "PMC2", > - SPR_NOACCESS, SPR_NOACCESS, > - &spr_read_generic, &spr_write_generic, > - 0x00000000); > - spr_register(env, SPR_POWER_PMC3, "PMC3", > - SPR_NOACCESS, SPR_NOACCESS, > - &spr_read_generic, &spr_write_generic, > - 0x00000000); > - spr_register(env, SPR_POWER_PMC4, "PMC4", > - SPR_NOACCESS, SPR_NOACCESS, > - &spr_read_generic, &spr_write_generic, > - 0x00000000); > - spr_register(env, SPR_POWER_PMC5, "PMC5", > - SPR_NOACCESS, SPR_NOACCESS, > - &spr_read_generic, &spr_write_generic, > - 0x00000000); > - spr_register(env, SPR_POWER_PMC6, "PMC6", > - SPR_NOACCESS, SPR_NOACCESS, > - &spr_read_generic, &spr_write_generic, > - 0x00000000); > - spr_register(env, SPR_POWER_SIAR, "SIAR", > - SPR_NOACCESS, SPR_NOACCESS, > - &spr_read_generic, &spr_write_generic, > - 0x00000000); > - spr_register(env, SPR_POWER_SDAR, "SDAR", > - SPR_NOACCESS, SPR_NOACCESS, > - &spr_read_generic, &spr_write_generic, > - 0x00000000); > + spr_register_kvm(env, SPR_POWER_MMCR0, "MMCR0", > + SPR_NOACCESS, SPR_NOACCESS, > + &spr_read_generic, &spr_write_generic, > + KVM_REG_PPC_MMCR0, 0x00000000); > + spr_register_kvm(env, SPR_POWER_MMCR1, "MMCR1", > + SPR_NOACCESS, SPR_NOACCESS, > + &spr_read_generic, &spr_write_generic, > + KVM_REG_PPC_MMCR1, 0x00000000); > + spr_register_kvm(env, SPR_POWER_MMCRA, "MMCRA", > + SPR_NOACCESS, SPR_NOACCESS, > + &spr_read_generic, &spr_write_generic, > + KVM_REG_PPC_MMCRA, 0x00000000); > + spr_register_kvm(env, SPR_POWER_PMC1, "PMC1", > + SPR_NOACCESS, SPR_NOACCESS, > + &spr_read_generic, &spr_write_generic, > + KVM_REG_PPC_PMC1, 0x00000000); > + spr_register_kvm(env, SPR_POWER_PMC2, "PMC2", > + SPR_NOACCESS, SPR_NOACCESS, > + &spr_read_generic, &spr_write_generic, > + KVM_REG_PPC_PMC2, 0x00000000); > + spr_register_kvm(env, SPR_POWER_PMC3, "PMC3", > + SPR_NOACCESS, SPR_NOACCESS, > + &spr_read_generic, &spr_write_generic, > + KVM_REG_PPC_PMC3, 0x00000000); > + spr_register_kvm(env, SPR_POWER_PMC4, "PMC4", > + SPR_NOACCESS, SPR_NOACCESS, > + &spr_read_generic, &spr_write_generic, > + KVM_REG_PPC_PMC4, 0x00000000); > + spr_register_kvm(env, SPR_POWER_PMC5, "PMC5", > + SPR_NOACCESS, SPR_NOACCESS, > + &spr_read_generic, &spr_write_generic, > + KVM_REG_PPC_PMC5, 0x00000000); > + spr_register_kvm(env, SPR_POWER_PMC6, "PMC6", > + SPR_NOACCESS, SPR_NOACCESS, > + &spr_read_generic, &spr_write_generic, > + KVM_REG_PPC_PMC6, 0x00000000); > + spr_register_kvm(env, SPR_POWER_SIAR, "SIAR", > + SPR_NOACCESS, SPR_NOACCESS, > + &spr_read_generic, &spr_write_generic, > + KVM_REG_PPC_SIAR, 0x00000000); > + spr_register_kvm(env, SPR_POWER_SDAR, "SDAR", > + SPR_NOACCESS, SPR_NOACCESS, > + &spr_read_generic, &spr_write_generic, > + KVM_REG_PPC_SDAR, 0x00000000); > } > > static void gen_spr_book3s_pmu_user(CPUPPCState *env) > @@ -7466,14 +7466,14 @@ static void gen_spr_book3s_pmu_user(CPUPPCState *env) > > static void gen_spr_970_pmu_sup(CPUPPCState *env) > { > - spr_register(env, SPR_970_PMC7, "PMC7", > - SPR_NOACCESS, SPR_NOACCESS, > - &spr_read_generic, &spr_write_generic, > - 0x00000000); > - spr_register(env, SPR_970_PMC8, "PMC8", > - SPR_NOACCESS, SPR_NOACCESS, > - &spr_read_generic, &spr_write_generic, > - 0x00000000); > + spr_register_kvm(env, SPR_970_PMC7, "PMC7", > + SPR_NOACCESS, SPR_NOACCESS, > + &spr_read_generic, &spr_write_generic, > + KVM_REG_PPC_PMC7, 0x00000000); > + spr_register_kvm(env, SPR_970_PMC8, "PMC8", > + SPR_NOACCESS, SPR_NOACCESS, > + &spr_read_generic, &spr_write_generic, > + KVM_REG_PPC_PMC8, 0x00000000); > } > > static void gen_spr_970_pmu_user(CPUPPCState *env) > Reviewed-by: Tom Musta