qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RCF PATCH 5/8] arm/nwfps: remove use of cpsr_write() a


From: Peter Maydell
Subject: Re: [Qemu-devel] [RCF PATCH 5/8] arm/nwfps: remove use of cpsr_write() and set flags directly
Date: Tue, 3 Jun 2014 17:11:02 +0100

On 2 June 2014 17:21, Alex Bennée <address@hidden> wrote:
> This is a pre-cursor to removing the cpsr_write function.
>
> diff --git a/linux-user/arm/nwfpe/fpa11.h b/linux-user/arm/nwfpe/fpa11.h
> index bb9ac65..0dbdf75 100644
> --- a/linux-user/arm/nwfpe/fpa11.h
> +++ b/linux-user/arm/nwfpe/fpa11.h
> @@ -108,7 +108,10 @@ static inline void writeRegister(unsigned int x, 
> unsigned int y)
>
>  static inline void writeConditionCodes(unsigned int x)
>  {
> -        cpsr_write(user_registers,x,CPSR_NZCV);
> +        user_registers->ZF = (~val) & CPSR_Z;
> +        user_registers->NF = val;
> +        user_registers->CF = (val >> 29) & 1;
> +        user_registers->VF = (val << 3) & 0x80000000;
>  }
>
>  #define ARM_REG_PC 15

This seems like it's clearly making things worse.
We definitely don't want to have to have code in
linux-user be aware of the "interesting" definitions
of our ZF/NF/CF/VF fields.

thanks
-- PMM



reply via email to

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