From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58256) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WsEzB-0006ZN-9x for qemu-devel@nongnu.org; Wed, 04 Jun 2014 13:28:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WsEz4-0004wX-MN for qemu-devel@nongnu.org; Wed, 04 Jun 2014 13:28:25 -0400 Message-ID: <538F572C.5030205@gmail.com> Date: Wed, 04 Jun 2014 12:28:12 -0500 From: Tom Musta MIME-Version: 1.0 References: <1401886265-6589-1-git-send-email-aik@ozlabs.ru> <1401886265-6589-8-git-send-email-aik@ozlabs.ru> In-Reply-To: <1401886265-6589-8-git-send-email-aik@ozlabs.ru> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v5 07/30] target-ppc: Add PMC5/6, SDAR and MMCRA to 970 family 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: > MMCR0, MMCR1, MMCRA, PMC1..6, SIAR, SDAR are defined for 970 and PowerISA > CPUs. Since we are building common infrastructure for SPRs intialization > to share it between 970 and POWER5+/7/..., let's add missing SPRs to > the 970 family. Later rework of CPU class initialization will use those > for all PowerISA CPUs. > > This adds new SPRs and enables writing to Uxxxx SPRs from supermode. > > Signed-off-by: Alexey Kardashevskiy > --- > Changes: > v5: > * s/SPR_NOACCESS/spr_write_ureg/ for Uxxxx in supermode > --- > target-ppc/translate_init.c | 32 ++++++++++++++++++++++++++++++++ > 1 file changed, 32 insertions(+) > > diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c > index 11db6e7..bffed90 100644 > --- a/target-ppc/translate_init.c > +++ b/target-ppc/translate_init.c > @@ -7363,6 +7363,10 @@ static void gen_spr_book3s_pmu_sup(CPUPPCState *env) > 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, > @@ -7379,10 +7383,22 @@ static void gen_spr_book3s_pmu_sup(CPUPPCState *env) > 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); > } > > static void gen_spr_book3s_pmu_user(CPUPPCState *env) > @@ -7395,6 +7411,10 @@ static void gen_spr_book3s_pmu_user(CPUPPCState *env) > &spr_read_ureg, SPR_NOACCESS, > &spr_read_ureg, &spr_write_ureg, > 0x00000000); > + spr_register(env, SPR_POWER_UMMCRA, "UMMCRA", > + &spr_read_ureg, SPR_NOACCESS, > + &spr_read_ureg, &spr_write_ureg, > + 0x00000000); > spr_register(env, SPR_POWER_UPMC1, "UPMC1", > &spr_read_ureg, SPR_NOACCESS, > &spr_read_ureg, &spr_write_ureg, > @@ -7411,10 +7431,22 @@ static void gen_spr_book3s_pmu_user(CPUPPCState *env) > &spr_read_ureg, SPR_NOACCESS, > &spr_read_ureg, &spr_write_ureg, > 0x00000000); > + spr_register(env, SPR_POWER_UPMC5, "UPMC5", > + &spr_read_ureg, SPR_NOACCESS, > + &spr_read_ureg, &spr_write_ureg, > + 0x00000000); > + spr_register(env, SPR_POWER_UPMC6, "UPMC6", > + &spr_read_ureg, SPR_NOACCESS, > + &spr_read_ureg, &spr_write_ureg, > + 0x00000000); > spr_register(env, SPR_POWER_USIAR, "USIAR", > &spr_read_ureg, SPR_NOACCESS, > &spr_read_ureg, &spr_write_ureg, > 0x00000000); > + spr_register(env, SPR_POWER_USDAR, "USDAR", > + &spr_read_ureg, SPR_NOACCESS, > + &spr_read_ureg, &spr_write_ureg, > + 0x00000000); > } > > static void gen_spr_power5p_ear(CPUPPCState *env) > Reviewed-by: Tom Musta