Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp1060694pxb; Fri, 1 Oct 2021 02:35:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx9K6PXYlzWetSW1jZvxkJ8rc3Y7A7kkk/V6htn91BV16oaBkvqsHlNDbTsJ7L4/4rBrkHE X-Received: by 2002:a17:906:7053:: with SMTP id r19mr4913062ejj.476.1633080905362; Fri, 01 Oct 2021 02:35:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633080905; cv=none; d=google.com; s=arc-20160816; b=Dz0gDldjXEq0nj+zAuPyx00Q8wboqFeY5xOeN3hwniSiA1PBpCKhnhHk9xoPugPPlB 9Bt8QpPFarRSgwZ5AtkWt216KiexXcCl419Vz8vzobHVdT4jyteOfd3EwpmLBd/gCjal trgF9NUyTmlTKGVe9R8VD9Nm5P6u0SGgE+phAS56RBkgQ+FW46MCGendHC9YMQLZ7Jp+ z6Zc+H6XaAgSg2D2hB3E+2YjaenRCDzLXgLZf+7eR3LGo+1Ru+gDT0n+LyGxmaJykLP8 UBLk43djbeuFIk/mReHT3B366pLc5YbONziphqMja0ctG1a+NTYL3RKbja535+6+gi69 dRtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=UEwVtCQlrIFEzb9OGionUYZ0V7Y0WYppo4VoiyP0SKg=; b=rTDayMCNbqqoZw2zL7izCorYxLRXfP+HF5IT4ZZcbpbV5Ju8koDy8FeMsRuWAukDkc rT2wuZSRZRkWCmdUhg9NUjtiYJUNy/YXLfwogDvaKiAfFIbNvldZ6bf/mfkrk0AYUgPp KLRwX2ThUoIeDrinzIdnNMEnz/Z+NsmUBVsi0apF030SlQuEBSq2NWemJ0tDUv8sUAD9 jjmPiEX/Jbbxz0r+4wjCzSgLk5UEmz+7UA5BnmjaNi4DFRbCyr8AVOIZbQZC6XczN8ok 10/ZHavb9VGHqxxwOU83wbQmGezwqC82PozmdntH0F76u/a15zR0Oj51wzjyaftOOhLz VUIw== 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 eg14si6430942edb.261.2021.10.01.02.34.38; Fri, 01 Oct 2021 02:35:05 -0700 (PDT) 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 S1352904AbhJAJcA (ORCPT + 99 others); Fri, 1 Oct 2021 05:32:00 -0400 Received: from foss.arm.com ([217.140.110.172]:38692 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229681AbhJAJcA (ORCPT ); Fri, 1 Oct 2021 05:32:00 -0400 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 D7AAC101E; Fri, 1 Oct 2021 02:30:15 -0700 (PDT) Received: from bogus (unknown [10.57.26.136]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7CE7D3F70D; Fri, 1 Oct 2021 02:30:13 -0700 (PDT) Date: Fri, 1 Oct 2021 10:29:39 +0100 From: Sudeep Holla To: Jens Wiklander Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, op-tee@lists.trustedfirmware.org, Sumit Garg , Marc Bonnici , Sudeep Holla , Jerome Forissier , sughosh.ganu@linaro.org Subject: Re: [PATCH v5 0/5] Add FF-A support in OP-TEE driver Message-ID: <20211001092939.heiskb5gqzx3nd7p@bogus> References: <20210831072412.887565-1-jens.wiklander@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210831072412.887565-1-jens.wiklander@linaro.org> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Aug 31, 2021 at 09:24:07AM +0200, Jens Wiklander wrote: > Hi all, > > This adds supports for the OP-TEE driver to communicate with secure world > using FF-A [1] as transport. > > There is one change to the TEE subsystem with "tee: add sec_world_id to > struct tee_shm" to add support for holding globally unique handle assigned > by the FF-A. This is a field that I believe could useful for the AMDTEE > driver too. > > For communication the OP-TEE message protocol is still used, but with a new > type of memory reference, struct optee_msg_param_fmem, to carry the > information needed by FF-A. The OP-TEE driver is refactored internally with > to sets of callbacks, one for the old SMC based communication and another > set with FF-A as transport. The functions relating to the SMC based ABI > are moved to smc_abi.c while the FF-A based ABI is added in a ffa_abi.c. > > There is also a difference in how the drivers are instantiated. With the > SMC based transport we have a platform driver, module_platform_driver(), > today which we're keeping as is for this configuration. In a FF-A system we > have a FF-A driver, module_ffa_driver(), instead. > > The OP-TEE driver can be compiled for both targets at the same time and > it's up to runtime configuration (device tree or ACPI) to decide how it's > initialized. Note that it's only the old SMC based driver instance that > need device tree or ACPI to initialize. The FF-A based driver relies on the > FF-A bus instead. > > This can be tested QEMU > The repo for SPMC at S-EL1 retrieved by > repo init -u https://github.com/jenswi-linaro/manifest.git -m > qemu_v8.xml -b ffav4_spmc > repo sync > # Then checkout the branch optee_ffa_v5 from > # git://git.linaro.org/people/jens.wiklander/linux-tee.git > # in the linux directory > > To build do: > cd build > make toolchains > make all > > To boot: > make run-only > > Test with xtest, perhaps only with the command "xtest 1004" in case you're > not interested in too many tests. > Ran entire xtest test suite with latest TF-A, hafinum and OPTEE. So for the series, Tested-by: Sudeep Holla Minor comments to address OPTEE as module when FFA is also built as module. FFA as a module couple of bugs(thanks for reporting one of them). I have the fixes here[1], please test and provide feedback. -- Regards, Sudeep [1] https://lore.kernel.org/linux-arm-kernel/20210924092859.3057562-1-sudeep.holla@arm.com/