[Top][All Lists]

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

Re: [Qemu-arm] [Qemu-devel] [PATCH 5/7] target-arm: Add isread parameter

From: Peter Maydell
Subject: Re: [Qemu-arm] [Qemu-devel] [PATCH 5/7] target-arm: Add isread parameter to CPAccessFns
Date: Fri, 5 Feb 2016 14:29:21 +0000

On 5 February 2016 at 14:20, Alex Bennée <address@hidden> wrote:
> Peter Maydell <address@hidden> writes:
>> -typedef CPAccessResult CPAccessFn(CPUARMState *env, const ARMCPRegInfo 
>> *opaque);
>> +typedef CPAccessResult CPAccessFn(CPUARMState *env,
>> +                                  const ARMCPRegInfo *opaque,
>> +                                  bool isread);
> I guess my only comment here is we've extended the call for every access
> check with another parameter (and associated TCG activity) for something
> only one handler currently cares about.
> Is there an argument for an rwaccessfn() that we use for just those
> registers that care about the detail? I know system registers are hardly
> a fast path priority but I'm concerned about knock on effects on
> performance. Have you done any measurements?

I haven't measured, no, but since there are only 3 arguments the
third argument is going to be in a register on any host architecture
we care about, which means the overhead is just going to be a single
"load constant 0 or 1 into register before the call". I think that's
going to be lost in the noise compared to actually having to make
the function call at all, the work the function call does, and then
the second function call later to do the read or write.

-- PMM

reply via email to

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