Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp723782pxu; Wed, 6 Jan 2021 02:39:20 -0800 (PST) X-Google-Smtp-Source: ABdhPJxbioG9jduVjuGj1Os2ys8vVsZPIPQEmniEqbamE5QhWP8D1LDXzSf9QphxQeUT6z/v2O0g X-Received: by 2002:a05:6402:41:: with SMTP id f1mr3509425edu.286.1609929560493; Wed, 06 Jan 2021 02:39:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1609929560; cv=none; d=google.com; s=arc-20160816; b=E/PSTLyRkzhS1Fidtv5C02cQLTUvbs3jzhmJLkrbVftX4Ok3EJZITQFVHR9j1uwtvx +lgNOF4sU9/ro7eZ55yFONUT2CFiCPjGvZ3J6ngyPVsSxITrJ8aBIFnpWgStXPMHeyB3 S1Xnsdaut0h1d9ncEDGHpexFwQfZf94um8E3Al1XC0bVuAG+J5C+VcdhPc2V3tRFLCmU IXn2WMg9Ss8j/I1S8hVe8W07vv8/KBoH1dksB3A1Iq3pT9zSxcMxuqtr4KIUpXXQRLWZ RIsrAf8JV87KnNlRMx86p9RYdbdDBzb5eDoL6Iot9Av+Yry6FEVBth0RJfWTwRS5gRfX lszw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from; bh=pNOJj+Y17YNQJXIrlL8EfJ/bG4gRU/xL5NBDzN7lumw=; b=SuS1DZh8/HmfhPFj7Jf8Pi2dGKyLPOGxjNzhO5vN17UZXvE57XDOia62OUnW5R10qS 3SR7NRvcanOD05qHA3sBqIxDtpZli7rSq8KCF5zS0zMeMxXa+aKiqdS72DlkvyfMsF4p h4ZV8v/tt7m/3vhg7fzH9UcPTEv/r55JExvKStKw3XByfkwe83Z11kfvbWcImB6p+nan ChUgJhK6fKTTPR2PpVX9zB0WKMKRhS1nSiWP84hb3KDySCyTkQ02C70MmgAT8x88Zoz7 lQdhlokKEnLHhjdOfbuJe3FfWigofL8HQb1txSXq++MkkQZ24qo7kydWMiPOVWpaN48u eNkg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v4si859614edi.191.2021.01.06.02.38.52; Wed, 06 Jan 2021 02:39:20 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726504AbhAFKfu (ORCPT + 99 others); Wed, 6 Jan 2021 05:35:50 -0500 Received: from foss.arm.com ([217.140.110.172]:38700 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725906AbhAFKft (ORCPT ); Wed, 6 Jan 2021 05:35:49 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E5421D6E; Wed, 6 Jan 2021 02:35:03 -0800 (PST) Received: from donnerap.arm.com (donnerap.cambridge.arm.com [10.1.195.35]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 10FBB3F719; Wed, 6 Jan 2021 02:35:01 -0800 (PST) From: Andre Przywara To: Will Deacon , Catalin Marinas , Ard Biesheuvel , Russell King , Marc Zyngier Cc: Theodore Ts'o , Sudeep Holla , Mark Rutland , Mark Brown , Lorenzo Pieralisi , Linus Walleij , linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org Subject: [PATCH v6 1/5] firmware: smccc: Add SMCCC TRNG function call IDs Date: Wed, 6 Jan 2021 10:34:49 +0000 Message-Id: <20210106103453.152275-2-andre.przywara@arm.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210106103453.152275-1-andre.przywara@arm.com> References: <20210106103453.152275-1-andre.przywara@arm.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ard Biesheuvel The ARM architected TRNG firmware interface, described in ARM spec DEN0098, define an ARM SMCCC based interface to a true random number generator, provided by firmware. Add the definitions of the SMCCC functions as defined by the spec. Signed-off-by: Ard Biesheuvel Signed-off-by: Andre Przywara Reviewed-by: Linus Walleij Reviewed-by: Sudeep Holla --- include/linux/arm-smccc.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/include/linux/arm-smccc.h b/include/linux/arm-smccc.h index f860645f6512..62c54234576c 100644 --- a/include/linux/arm-smccc.h +++ b/include/linux/arm-smccc.h @@ -102,6 +102,37 @@ ARM_SMCCC_OWNER_STANDARD_HYP, \ 0x21) +/* TRNG entropy source calls (defined by ARM DEN0098) */ +#define ARM_SMCCC_TRNG_VERSION \ + ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \ + ARM_SMCCC_SMC_32, \ + ARM_SMCCC_OWNER_STANDARD, \ + 0x50) + +#define ARM_SMCCC_TRNG_FEATURES \ + ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \ + ARM_SMCCC_SMC_32, \ + ARM_SMCCC_OWNER_STANDARD, \ + 0x51) + +#define ARM_SMCCC_TRNG_GET_UUID \ + ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \ + ARM_SMCCC_SMC_32, \ + ARM_SMCCC_OWNER_STANDARD, \ + 0x52) + +#define ARM_SMCCC_TRNG_RND32 \ + ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \ + ARM_SMCCC_SMC_32, \ + ARM_SMCCC_OWNER_STANDARD, \ + 0x53) + +#define ARM_SMCCC_TRNG_RND64 \ + ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \ + ARM_SMCCC_SMC_64, \ + ARM_SMCCC_OWNER_STANDARD, \ + 0x53) + /* * Return codes defined in ARM DEN 0070A * ARM DEN 0070A is now merged/consolidated into ARM DEN 0028 C -- 2.17.1