From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B3777C04AB6 for ; Fri, 31 May 2019 08:54:01 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 961D825D30 for ; Fri, 31 May 2019 08:54:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726386AbfEaIx5 (ORCPT ); Fri, 31 May 2019 04:53:57 -0400 Received: from mail-qt1-f195.google.com ([209.85.160.195]:37964 "EHLO mail-qt1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726002AbfEaIx4 (ORCPT ); Fri, 31 May 2019 04:53:56 -0400 Received: by mail-qt1-f195.google.com with SMTP id l3so10448081qtj.5; Fri, 31 May 2019 01:53:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=PLETH2OB3IxfKN1eggOuRioC9EOnLLXN9MFUnFFew5s=; b=sUN03/0C+hMfoQOP6ZAjoEeEQifClVYy2S6TWneDAJ5QdQyBkIgzcSZWQR0WSR8Iki pp2QmTbaCo70vduP2EVL51XRLgZYCsZ+PoRC74vNatvcPLRw4D+i+5NDMLEZInyIi0kz zkZXlATQiq5h0fd6GneSufHqHYEIAiTTDxhGHpir+y0iK2qnvvG42qRLwJjb2P4zqRbY h1i6AxXl4nzwW9fuUBLLXLWYDYpS4CoX+4nZVHvlI/YoSVqpWsvFondqvpK9gJY64JQy iPwnR+6BbrDjUbL4jLgzJ81sqCxf4M1fBq7XlQ707HY+9+58m0OyrEOGa6/yYbJ9l6vz larw== X-Gm-Message-State: APjAAAV35WBhXvJTPyULaJb7pxdJkd5WKb/32zeL3Jfdss7hk2gZIrm6 5KE6cfLOZjpQX8b9hH5JkxKclT+ebRNtS7g7K/Y= X-Google-Smtp-Source: APXvYqzU7iWArqELb2azzCaYfon35mBi7acUgoO6bIp937zY6y9ykUj3bD/yvsjRGY3UDM715ORpT4Efor58s/vfKbs= X-Received: by 2002:a0c:9e0f:: with SMTP id p15mr7638581qve.176.1559292835687; Fri, 31 May 2019 01:53:55 -0700 (PDT) MIME-Version: 1.0 References: <20190530141531.43462-1-vincenzo.frascino@arm.com> <20190530141531.43462-20-vincenzo.frascino@arm.com> In-Reply-To: <20190530141531.43462-20-vincenzo.frascino@arm.com> From: Arnd Bergmann Date: Fri, 31 May 2019 10:53:39 +0200 Message-ID: Subject: Re: [PATCH v6 19/19] kselftest: Extend vDSO selftest To: Vincenzo Frascino Cc: linux-arch , Linux ARM , Linux Kernel Mailing List , linux-mips@vger.kernel.org, "open list:KERNEL SELFTEST FRAMEWORK" , Catalin Marinas , Will Deacon , Russell King , Ralf Baechle , Paul Burton , Daniel Lezcano , Thomas Gleixner , Mark Salyzyn , Peter Collingbourne , Shuah Khan , Dmitry Safonov <0x7f454c46@gmail.com>, Rasmus Villemoes , Huw Davies Content-Type: text/plain; charset="UTF-8" Sender: linux-mips-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mips@vger.kernel.org On Thu, May 30, 2019 at 4:16 PM Vincenzo Frascino wrote: > +/* > + * ARM64's vDSO exports its vDSO implementation with different names and > + * a different version from other architectures, so we need to handle it > + * as a special case. > + */ > +#if defined(__aarch64__) > +const char *version = "LINUX_2.6.39"; > +const char *name[4] = { > + "__kernel_gettimeofday", > + "__kernel_clock_gettime", > + "__kernel_time", > + "__kernel_clock_getres", > +}; > +#else > +/* Tested on x86, arm, mips */ > +const char *version = "LINUX_2.6"; > +const char *name[4] = { > + "__vdso_gettimeofday", > + "__vdso_clock_gettime", > + "__vdso_time", > + "__vdso_clock_getres", > +}; > +#endif I see the __kernel_* name used on arm64, powerpc and s390, whiel the __vdso_* name is used on arm, mips, nds32, riscv, sparc, and x86. Also the versions have more variants: $ git ls-files arch | grep vdso | xargs grep '\(LINUX_[2345]\|VDSO_VERSION_STRING\)' arch/arm/vdso/vdso.lds.S: LINUX_2.6 { arch/arm64/kernel/vdso/vdso.lds.S: LINUX_2.6.39 { arch/mips/vdso/vdso.lds.S: LINUX_2.6 { arch/nds32/kernel/vdso/vdso.lds.S: LINUX_4 { arch/powerpc/include/asm/vdso.h:#define VDSO_VERSION_STRING LINUX_2.6.15 arch/powerpc/kernel/vdso32/vdso32.lds.S: VDSO_VERSION_STRING { arch/powerpc/kernel/vdso64/vdso64.lds.S: VDSO_VERSION_STRING { arch/riscv/kernel/vdso/vdso.lds.S: LINUX_4.15 { arch/s390/include/asm/vdso.h:#define VDSO_VERSION_STRING LINUX_2.6.29 arch/s390/kernel/vdso32/vdso32.lds.S: VDSO_VERSION_STRING { arch/s390/kernel/vdso64/vdso64.lds.S: VDSO_VERSION_STRING { arch/sparc/vdso/vdso.lds.S: LINUX_2.6 { arch/sparc/vdso/vdso32/vdso32.lds.S: LINUX_2.6 { arch/x86/entry/vdso/vdso.lds.S: LINUX_2.6 { arch/x86/entry/vdso/vdso32/vdso32.lds.S: LINUX_2.6 { arch/x86/entry/vdso/vdso32/vdso32.lds.S: LINUX_2.5 { arch/x86/entry/vdso/vdsox32.lds.S: LINUX_2.6 { arch/x86/um/vdso/vdso.lds.S: LINUX_2.6 { Maybe change the test case to just try all combinations of the above (and __vdso_clock_gettime64 as well) and stop checking the architecture? Arnd