All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [Qemu-devel] [PULL 12/51] target-arm: A64: Implement DC ZVA
       [not found] ` <1397730846-7576-13-git-send-email-peter.maydell@linaro.org>
@ 2014-10-08 13:50   ` Christopher Covington
  0 siblings, 0 replies; only message in thread
From: Christopher Covington @ 2014-10-08 13:50 UTC (permalink / raw)
  To: Peter Maydell; +Cc: qemu-devel

Hi Peter,

On 04/17/2014 06:33 AM, Peter Maydell wrote:
> Implement the DC ZVA instruction, which clears a block of memory.
> The fast path obtains a pointer to the underlying RAM via the TCG TLB
> data structure so we can do a direct memset(), with fallback to a
> simple byte-store loop in the slow path.

> diff --git a/target-arm/helper.c b/target-arm/helper.c
> index 62f7fd3..2ffc588 100644
> --- a/target-arm/helper.c
> +++ b/target-arm/helper.c

> +static uint64_t aa64_dczid_read(CPUARMState *env, const ARMCPRegInfo *ri)
> +{
> +    ARMCPU *cpu = arm_env_get_cpu(env);
> +    int dzp_bit = 1 << 4;
> +
> +    /* DZP indicates whether DC ZVA access is allowed */
> +    if (aa64_zva_access(env, NULL) != CP_ACCESS_OK) {

I believe this logic for the Data Zero Prohibited field is inverted, causing
eglibc to use STP rather than DC ZVA for __memset.

> +        dzp_bit = 0;
> +    }
> +    return cpu->dcz_blocksize | dzp_bit;
> +}

Thanks,
Christopher

-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by the Linux Foundation.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2014-10-08 13:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1397730846-7576-1-git-send-email-peter.maydell@linaro.org>
     [not found] ` <1397730846-7576-13-git-send-email-peter.maydell@linaro.org>
2014-10-08 13:50   ` [Qemu-devel] [PULL 12/51] target-arm: A64: Implement DC ZVA Christopher Covington

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.