Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp278722ybi; Wed, 29 May 2019 21:14:59 -0700 (PDT) X-Google-Smtp-Source: APXvYqyzwQ/o/tLCuf8FxM5LYaGe4qC/7yGPJdtnF6VGdLkmTR8OVYs/tPkR7eVtLpumm3I1a+Q8 X-Received: by 2002:a17:902:67:: with SMTP id 94mr1919161pla.64.1559189699369; Wed, 29 May 2019 21:14:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559189699; cv=none; d=google.com; s=arc-20160816; b=dDNhVq5ibXMc+nPK7iLwfsbvB3j2Lh2a8LFEtNK/50DSFsv/ZPrkeCo8mUrQF1bY2C 6wRjwaYjlNuPJNvGXhcIzBe4nItJVaRwmE2rFAzKbgjQL3JTLOdfXTRL1NlFeWJzf02i /rsG/7QVIfYOwZgXpjOdKU5PdkZfekMKas1lJOZD+u7y7DUJQSWlLaX2w+j7QlgShS3C ePtIjsIjke/JRLEhMQ+QfcFBMbFfopwxBkN3exZQDGiVg2bj4S4DHIOHx26MZ57DFNxa XoCkj+P3dLLCP6SORncLhHw3qGKche0gd84NANYQtUG/kBpSTv4HmGOJVzRgSAgPI4xs wZLw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=waKza30UIf5h5OyKvoz/3uAXJVcz67XMWaOVgNZj1UM=; b=cJKNCyslp+s8eRh5TketLIj4zVkh3Mi4iZUxjRmswpX4FsxgOZPr1E1KY8Dr2UTBh3 5T+FdZ8Zy1VWlrId8OvKdkd/a/xc0oEcY4aVpLbOhnqhcZwVZkAkEz26pqwHErD2ZFdQ ejSNEHgGUO5WrbM9YGcM0fI/LFioIDWnVO4CIu2ys1754l5Rm3T3kayjqnTkBpMvNBBY w1DHZw4TSUiDXZxmreaWELEes5zwv0hr09AL6B4xa12nsa10l8hSZ+toWPH7EhI64EZo BtzS44v9nhp/2vfeM/9raJR/gAv3OlOdj2Njz2cnBjJ/O6Iv9cGn7nXKZDKvnhL0t/Jg zGcQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=xx+BoNI3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r2si2190823pjb.0.2019.05.29.21.14.43; Wed, 29 May 2019 21:14:59 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=xx+BoNI3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731133AbfE3EM1 (ORCPT + 99 others); Thu, 30 May 2019 00:12:27 -0400 Received: from mail.kernel.org ([198.145.29.99]:43252 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730735AbfE3DQh (ORCPT ); Wed, 29 May 2019 23:16:37 -0400 Received: from localhost (ip67-88-213-2.z213-88-67.customer.algx.net [67.88.213.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id E228B245AB; Thu, 30 May 2019 03:16:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1559186197; bh=oDp3VEB09fC7B/D5QmrWyIiX/u6HdGaoyP3JsUBBgxw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=xx+BoNI3kZoOwmBOj/2IiThfWed0w+lsbTejKzSO34nYwWg0fvUcJB7z9fds3E44Y UtKDWfIpkT4/x1gdrnGGDD/wzEkh6FqFuBqKpok3+FPRDGZRuPAITBwRy7yOcLI7Np oZikbinxCEVpIfx2uOOCawt0ppouc9Dz8LRhSQgs= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mark Rutland , Marc Zyngier , Will Deacon , Sasha Levin Subject: [PATCH 4.19 071/276] ARM: vdso: Remove dependency with the arch_timer driver internals Date: Wed, 29 May 2019 20:03:49 -0700 Message-Id: <20190530030530.679202176@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190530030523.133519668@linuxfoundation.org> References: <20190530030523.133519668@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [ Upstream commit 1f5b62f09f6b314c8d70b9de5182dae4de1f94da ] The VDSO code uses the kernel helper that was originally designed to abstract the access between 32 and 64bit systems. It worked so far because this function is declared as 'inline'. As we're about to revamp that part of the code, the VDSO would break. Let's fix it by doing what should have been done from the start, a proper system register access. Reviewed-by: Mark Rutland Signed-off-by: Marc Zyngier Signed-off-by: Will Deacon Signed-off-by: Sasha Levin --- arch/arm/include/asm/cp15.h | 2 ++ arch/arm/vdso/vgettimeofday.c | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/arch/arm/include/asm/cp15.h b/arch/arm/include/asm/cp15.h index 07e27f212dc75..d2453e2d3f1f3 100644 --- a/arch/arm/include/asm/cp15.h +++ b/arch/arm/include/asm/cp15.h @@ -68,6 +68,8 @@ #define BPIALL __ACCESS_CP15(c7, 0, c5, 6) #define ICIALLU __ACCESS_CP15(c7, 0, c5, 0) +#define CNTVCT __ACCESS_CP15_64(1, c14) + extern unsigned long cr_alignment; /* defined in entry-armv.S */ static inline unsigned long get_cr(void) diff --git a/arch/arm/vdso/vgettimeofday.c b/arch/arm/vdso/vgettimeofday.c index a9dd619c6c290..7bdbf5d5c47d3 100644 --- a/arch/arm/vdso/vgettimeofday.c +++ b/arch/arm/vdso/vgettimeofday.c @@ -18,9 +18,9 @@ #include #include #include -#include #include #include +#include #include #include #include @@ -123,7 +123,8 @@ static notrace u64 get_ns(struct vdso_data *vdata) u64 cycle_now; u64 nsec; - cycle_now = arch_counter_get_cntvct(); + isb(); + cycle_now = read_sysreg(CNTVCT); cycle_delta = (cycle_now - vdata->cs_cycle_last) & vdata->cs_mask; -- 2.20.1