Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp1193576ybl; Tue, 3 Dec 2019 03:18:35 -0800 (PST) X-Google-Smtp-Source: APXvYqzWzNNMpycZIlwjdn14riaSY2vubqxvjz2w1NfM0anc8Zm2e4WRCHc6owZoHUIxJ+4X63YG X-Received: by 2002:aca:52c4:: with SMTP id g187mr3171997oib.76.1575371915174; Tue, 03 Dec 2019 03:18:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575371915; cv=none; d=google.com; s=arc-20160816; b=Lzs/posDaKnJbTe39GusOZgZFfS0LO7wbIvBfwD/dFDe6WM5KweNomhAuYV18F4qUL bFRpsMXBsyj7YZjno+FWsPpS359xltxS6x5e9iY7HCFiPyPDjTA9wGj40K60cm/rsbH0 3N9gwLc/eTKtyKjGPh93CKgGYe4ZI6erPEmKH0Qgnya4IoCSZFEDfnNmOT443iuVM5Xo fbIlCPYb4YytK9smD0+EyrdqNUG46IXwgNSDfcZMLzrryvHJEudgBcKvPjKpyLas7ssd uVMv4YtC53hB4xZqaszh1ud05XM7pFh/hW11KjUjTs/IDobW2yrhpyKkoVmh95po5VeK HIwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:references :in-reply-to:cc:from:date:content-transfer-encoding:mime-version :subject:to; bh=joJs6ik0SoJpHEmOjc7XPw6HTXYFl2g0sf5D5IQf1eU=; b=gaH2OWI3Jmz8gxGdwMsxtU/40BzXrLdEMxuqjbjM1Cjyjqqe6MBYs6XPN+kMLzgAea QjYaZnmzFYRSit3NcItRkp0Qm2cRjOaAEUTotzphPNvhIPz9T1RFGeuvj5h+R/LpUrb2 hzIN8a3F+BKZEnVILhJgqPICmqfLYJDyJaiilWjKzyOxQuj7g5eJ4MhdSSqtdzvzSmeH 5ltw/U/YZ1lXkY0IaMwXKaEXKWHZSY1wCEy/eWNTxACs2+FvG0THfaFRWZVjqGWHGZJX L/Je2TwGtcw/PxtBn1+v+d8WsiHmTSAAG8Kn53tteYkdlfDX22mVgy1lEo5QUJnXP6CM xFiQ== ARC-Authentication-Results: i=1; mx.google.com; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j23si1023098otr.48.2019.12.03.03.18.22; Tue, 03 Dec 2019 03:18:35 -0800 (PST) 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; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726661AbfLCLRt (ORCPT + 99 others); Tue, 3 Dec 2019 06:17:49 -0500 Received: from inca-roads.misterjones.org ([213.251.177.50]:45023 "EHLO inca-roads.misterjones.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725954AbfLCLRt (ORCPT ); Tue, 3 Dec 2019 06:17:49 -0500 Received: from www-data by cheepnis.misterjones.org with local (Exim 4.80) (envelope-from ) id 1ic6Bb-0003tJ-76; Tue, 03 Dec 2019 12:17:43 +0100 To: Florian Fainelli Subject: Re: [PATCH v5 3/3] hwrng: add mtk-sec-rng driver X-PHP-Originating-Script: 0:main.inc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: Tue, 03 Dec 2019 11:17:42 +0000 From: Marc Zyngier Cc: Ard Biesheuvel , , Mark Rutland , DTML , Herbert Xu , wsd_upstream , Catalin Marinas , Sean Wang , , Linux Kernel Mailing List , Rob Herring , Neal Liu , , Matt Mackall , Matthias Brugger , =?UTF-8?Q?Crystal_Guo_=28=E9=83=AD=E6=99=B6=29?= , Will Deacon , Lars Persson , In-Reply-To: <299029b0-0689-c2c4-4656-36ced31ed513@gmail.com> References: <1574864578-467-1-git-send-email-neal.liu@mediatek.com> <1574864578-467-4-git-send-email-neal.liu@mediatek.com> <1575027046.24848.4.camel@mtkswgap22> <20191202191146.79e6368c@why> <299029b0-0689-c2c4-4656-36ced31ed513@gmail.com> Message-ID: X-Sender: maz@kernel.org User-Agent: Roundcube Webmail/0.7.2 X-SA-Exim-Connect-IP: X-SA-Exim-Rcpt-To: f.fainelli@gmail.com, ard.biesheuvel@linaro.org, pawel.moll@arm.com, mark.rutland@arm.com, devicetree@vger.kernel.org, herbert@gondor.apana.org.au, wsd_upstream@mediatek.com, catalin.marinas@arm.com, sean.wang@kernel.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, robh+dt@kernel.org, neal.liu@mediatek.com, linux-crypto@vger.kernel.org, mpm@selenic.com, matthias.bgg@gmail.com, crystal.guo@mediatek.com, will@kernel.org, lists@bofh.nu, linux-arm-kernel@lists.infradead.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on cheepnis.misterjones.org); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2019-12-03 04:16, Florian Fainelli wrote: > On 12/2/2019 11:11 AM, Marc Zyngier wrote: >> On Mon, 2 Dec 2019 16:12:09 +0000 >> Ard Biesheuvel wrote: >> >>> (adding some more arm64 folks) >>> >>> On Fri, 29 Nov 2019 at 11:30, Neal Liu >>> wrote: >>>> >>>> On Fri, 2019-11-29 at 18:02 +0800, Lars Persson wrote: >>>>> Hi Neal, >>>>> >>>>> On Wed, Nov 27, 2019 at 3:23 PM Neal Liu >>>>> wrote: >>>>>> >>>>>> For MediaTek SoCs on ARMv8 with TrustZone enabled, peripherals >>>>>> like >>>>>> entropy sources is not accessible from normal world (linux) and >>>>>> rather accessible from secure world (ATF/TEE) only. This driver >>>>>> aims >>>>>> to provide a generic interface to ATF rng service. >>>>>> >>>>> >>>>> I am working on several SoCs that also will need this kind of >>>>> driver >>>>> to get entropy from Arm trusted firmware. >>>>> If you intend to make this a generic interface, please clean up >>>>> the >>>>> references to MediaTek and give it a more generic name. For >>>>> example >>>>> "Arm Trusted Firmware random number driver". >>>>> >>>>> It will also be helpful if the SMC call number is configurable. >>>>> >>>>> - Lars >>>> >>>> Yes, I'm trying to make this to a generic interface. I'll try to >>>> make >>>> HW/platform related dependency to be configurable and let it more >>>> generic. >>>> Thanks for your suggestion. >>>> >>> >>> I don't think it makes sense for each arm64 platform to expose an >>> entropy source via SMC calls in a slightly different way, and model >>> it >>> as a h/w driver. Instead, we should try to standardize this, and >>> perhaps expose it via the architectural helpers that already exist >>> (get_random_seed_long() and friends), so they get plugged into the >>> kernel random pool driver directly. >> >> Absolutely. I'd love to see a standard, ARM-specified, virtualizable >> RNG that is abstracted from the HW. > > Do you think we could use virtio-rng on top of a modified virtio-mmio > which instead of being backed by a hardware mailbox, could use > hvc/smc > calls to signal writes to shared memory and get notifications via an > interrupt? This would also open up the doors to other virtio uses > cases > beyond just RNG (e.g.: console, block devices?). If this is > completely > stupid, then please disregard this comment. The problem with a virtio device is that it is a ... device. What we want is to be able to have access to an entropy source extremely early in the kernel life, and devices tend to be available pretty late in the game. This means we cannot plug them in the architectural helpers that Ard mentions above. What you're suggesting looks more like a new kind of virtio transport, which is interesting, in a remarkably twisted way... ;-) Thanks, M. -- Jazz is not dead. It just smells funny...