qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 04/14] Add calls to initialize VSCR on appropria


From: Aurelien Jarno
Subject: Re: [Qemu-devel] [PATCH 04/14] Add calls to initialize VSCR on appropriate machines
Date: Tue, 3 Feb 2009 20:59:22 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

On Thu, Jan 22, 2009 at 12:44:04PM -0800, Nathan Froyd wrote:
> 
> Signed-off-by: Nathan Froyd <address@hidden>

Thanks, applied.

> ---
>  target-ppc/translate_init.c |   22 ++++++++++++++++++++++
>  1 files changed, 22 insertions(+), 0 deletions(-)
> 
> diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
> index 5008a3a..d1722aa 100644
> --- a/target-ppc/translate_init.c
> +++ b/target-ppc/translate_init.c
> @@ -471,6 +471,14 @@ static void spr_write_excp_vector (void *opaque, int 
> sprn, int gprn)
>  }
>  #endif
>  
> +static inline void vscr_init (CPUPPCState *env, uint32_t val)
> +{
> +    env->vscr = val;
> +    /* Altivec always uses round-to-nearest */
> +    set_float_rounding_mode(float_round_nearest_even, &env->vec_status);
> +    set_flush_to_zero(vscr_nj, &env->vec_status);
> +}
> +
>  #if defined(CONFIG_USER_ONLY)
>  #define spr_register(env, num, name, uea_read, uea_write,                    
>  \
>                       oea_read, oea_write, initial_value)                     
>  \
> @@ -1219,6 +1227,8 @@ static void gen_spr_74xx (CPUPPCState *env)
>                   SPR_NOACCESS, SPR_NOACCESS,
>                   &spr_read_generic, &spr_write_generic,
>                   0x00000000);
> +    /* Not strictly an SPR */
> +    vscr_init(env, 0x00010000);
>  }
>  
>  static void gen_l3_ctrl (CPUPPCState *env)
> @@ -5918,6 +5928,9 @@ static void init_proc_970 (CPUPPCState *env)
>      env->icache_line_size = 128;
>      /* Allocate hardware IRQ controller */
>      ppc970_irq_init(env);
> +    /* Can't find information on what this should be on reset.  This
> +     * value is the one used by 74xx processors. */
> +    vscr_init(env, 0x00010000);
>  }
>  
>  /* PowerPC 970FX (aka G5)                                                    
> */
> @@ -6004,6 +6017,9 @@ static void init_proc_970FX (CPUPPCState *env)
>      env->icache_line_size = 128;
>      /* Allocate hardware IRQ controller */
>      ppc970_irq_init(env);
> +    /* Can't find information on what this should be on reset.  This
> +     * value is the one used by 74xx processors. */
> +    vscr_init(env, 0x00010000);
>  }
>  
>  /* PowerPC 970 GX                                                            
> */
> @@ -6090,6 +6106,9 @@ static void init_proc_970GX (CPUPPCState *env)
>      env->icache_line_size = 128;
>      /* Allocate hardware IRQ controller */
>      ppc970_irq_init(env);
> +    /* Can't find information on what this should be on reset.  This
> +     * value is the one used by 74xx processors. */
> +    vscr_init(env, 0x00010000);
>  }
>  
>  /* PowerPC 970 MP                                                            
> */
> @@ -6176,6 +6195,9 @@ static void init_proc_970MP (CPUPPCState *env)
>      env->icache_line_size = 128;
>      /* Allocate hardware IRQ controller */
>      ppc970_irq_init(env);
> +    /* Can't find information on what this should be on reset.  This
> +     * value is the one used by 74xx processors. */
> +    vscr_init(env, 0x00010000);
>  }
>  
>  /* PowerPC 620                                                               
> */
> -- 
> 1.6.0.5
> 
> 
> 
> 

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
address@hidden                 http://www.aurel32.net




reply via email to

[Prev in Thread] Current Thread [Next in Thread]