diff mbox

PPC: Fix dcbz for linux-user on 970

Message ID 1366960851-21883-1-git-send-email-agraf@suse.de
State New
Headers show

Commit Message

Alexander Graf April 26, 2013, 7:20 a.m. UTC
The default with linux-user for dcbz on 970 is to emulate 32 byte clears.
However, redoing the dcbzl support we added a check to not honor the bit
in HID5 that sets this.

Remove the #ifdef check on linux user, so that we get 32 byte clears again.

Reported-by: Riku Voipio <riku.voipio@iki.fi>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
 target-ppc/mem_helper.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Riku Voipio April 26, 2013, 10:18 a.m. UTC | #1
On Fri, Apr 26, 2013 at 09:20:51AM +0200, Alexander Graf wrote:
> The default with linux-user for dcbz on 970 is to emulate 32 byte clears.
> However, redoing the dcbzl support we added a check to not honor the bit
> in HID5 that sets this.
> 
> Remove the #ifdef check on linux user, so that we get 32 byte clears again.

This fixes ppc64-linux-user for my smoke tests, thanks.

Tested-By: <riku.voipio@iki.fi>
 
> Reported-by: Riku Voipio <riku.voipio@iki.fi>
> Signed-off-by: Alexander Graf <agraf@suse.de>
> ---
>  target-ppc/mem_helper.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/target-ppc/mem_helper.c b/target-ppc/mem_helper.c
> index 9783e52..d8e63ca 100644
> --- a/target-ppc/mem_helper.c
> +++ b/target-ppc/mem_helper.c
> @@ -140,7 +140,7 @@ void helper_dcbz(CPUPPCState *env, target_ulong addr, uint32_t is_dcbzl)
>  {
>      int dcbz_size = env->dcache_line_size;
>  
> -#if !defined(CONFIG_USER_ONLY) && defined(TARGET_PPC64)
> +#if defined(TARGET_PPC64)
>      if (!is_dcbzl &&
>          (env->excp_model == POWERPC_EXCP_970) &&
>          ((env->spr[SPR_970_HID5] >> 7) & 0x3) == 1) {
> -- 
> 1.6.0.2
diff mbox

Patch

diff --git a/target-ppc/mem_helper.c b/target-ppc/mem_helper.c
index 9783e52..d8e63ca 100644
--- a/target-ppc/mem_helper.c
+++ b/target-ppc/mem_helper.c
@@ -140,7 +140,7 @@  void helper_dcbz(CPUPPCState *env, target_ulong addr, uint32_t is_dcbzl)
 {
     int dcbz_size = env->dcache_line_size;
 
-#if !defined(CONFIG_USER_ONLY) && defined(TARGET_PPC64)
+#if defined(TARGET_PPC64)
     if (!is_dcbzl &&
         (env->excp_model == POWERPC_EXCP_970) &&
         ((env->spr[SPR_970_HID5] >> 7) & 0x3) == 1) {