From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by mx.groups.io with SMTP id smtpd.web08.5696.1637759130544130085 for ; Wed, 24 Nov 2021 05:05:31 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@nuviainc-com.20210112.gappssmtp.com header.s=20210112 header.b=jNOTBMEs; spf=pass (domain: nuviainc.com, ip: 209.85.221.46, mailfrom: leif@nuviainc.com) Received: by mail-wr1-f46.google.com with SMTP id l16so4072089wrp.11 for ; Wed, 24 Nov 2021 05:05:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuviainc-com.20210112.gappssmtp.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=LYZfLeZkmNWLKEapI/v1ICoStO8gU2iV68LLs6wgEcM=; b=jNOTBMEsNhnwtSpG88lv+giwygKTCgQ7YZcd5530yMl+nI7cwhJmAJYL31o6pB7mor jPkF/+FRgH//LJCFYK8WAwRO+n5didYNH7C+pmWI/I5wLxwaBtN4EtglbfIJxrtBVSDN jsQ7I/wUqqiaPZXVIsrXa+ncRy8CJGc4YCYprFi66D1WNqEx/c49U/FPUi4ux4byYxYE Py97o0vKOwSmAk5GBC5oxzt9X/wzN6gBz1e4ugcx07mf+S8ij12Lc+05y1rb3Zd94IDd 3rivupFrOmgPe2//jKvYZNFDlIgaaqbZm7ceQjcM2l2kfASsN/XW9ML1F/v255XrIAK2 IstQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=LYZfLeZkmNWLKEapI/v1ICoStO8gU2iV68LLs6wgEcM=; b=R1nqy21dof4/JJ7PIsC3NpjuC3JV0hy5IfFnMSummHSjdlI6Nt9FLq8Tkvc5woYaix NI8DarP/s/C0WfVRZn1wWZIUj/kprkNnQaQ0UE3TBSW9T8KZ2N3fKgFaMm6vgtnC6nt7 89FgW6pqK4f+3wOOZbMOdGITthcIlaa8WQ1aZSq5ooSiEv6IwMd87Ur0wEqYYM9Zn3B/ UQ8+Z84DFb0GOxMc5u5lTOBrhDzB9b5v/81YSe/qOEr5BD4YO/J4CGhgqg5mDWo6XllV S3jTxYrXdty2AGLFwmpWtBuKq7/9dBNYsL3gEQYAH3C5ipbAw0Li+TkH48w7jA+4qE9H M6bQ== X-Gm-Message-State: AOAM531b1JtFM+PdbnA/RXNrVrga5ZpuDkaKD/CDoWTIReS4OBXwouP2 lanhqlpQwwCDuqgPUhDOFf4nAw== X-Google-Smtp-Source: ABdhPJy1ekcb1e6nqD33WM0zyr28h0U65xyaTj15lZ4FkozLdB/exYzubhW0cDBxKefDiLu0SqunZg== X-Received: by 2002:a05:6000:1aca:: with SMTP id i10mr18927227wry.407.1637759128801; Wed, 24 Nov 2021 05:05:28 -0800 (PST) Return-Path: Received: from leviathan (cpc92314-cmbg19-2-0-cust559.5-4.cable.virginm.net. [82.11.186.48]) by smtp.gmail.com with ESMTPSA id o3sm5287355wms.10.2021.11.24.05.05.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Nov 2021 05:05:28 -0800 (PST) Date: Wed, 24 Nov 2021 13:05:26 +0000 From: "Leif Lindholm" To: Ard Biesheuvel Cc: Sami Mujawar , Ard Biesheuvel , edk2-devel-groups-io , Rebecca Cran , Gerd Hoffmann , Michael Kinney , "Liming Gao (Byosoft address)" , Zhiguang Liu , Jiewen Yao , Jian J Wang , Matteo.Carlini@arm.com, Akanksha.Jain2@arm.com, Ben.Adderson@arm.com, nd Subject: Re: [PATCH v2 2/8] ArmPkg: PCD to select conduit for monitor calls Message-ID: References: <20211116113301.31088-1-sami.mujawar@arm.com> <20211116113301.31088-3-sami.mujawar@arm.com> MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Wed, Nov 24, 2021 at 14:03:51 +0100, Ard Biesheuvel wrote: > On Wed, 24 Nov 2021 at 13:07, Leif Lindholm wrote: > > > > Ard - how does this interact with e.g. ArmVirtPsciResetSystemLib, > > which reads its conduit out of the DT passed to it by QEMU? > > > > As long as ArmCallSmc() and ArmCallHvc() continue to exist and behave > as before, I don't think those libraries are affected. Well, I was thinking more that you can now end up with a firmware build where the conduit is sometimes dynamically determined, and sometimes compile-time determined. / Leif > > On Tue, Nov 16, 2021 at 11:32:54 +0000, Sami Mujawar wrote: > > > Bugzilla: 3668 (https://bugzilla.tianocore.org/show_bug.cgi?id=3668) > > > > > > Define a PCD 'PcdMonitorConduitHvc' to select the conduit to use for > > > monitor calls. PcdMonitorConduitHvc is defined as FALSE by default, > > > meaning the SMC conduit is enabled as default. > > > > > > Adding PcdMonitorConduitHvc allows selection of HVC conduit to be used > > > by virtual firmware implementations. > > > > > > Signed-off-by: Sami Mujawar > > > --- > > > > > > Notes: > > > v2: > > > - No code change since v1. Re-sending with V2 series. [SAMI] > > > > > > ArmPkg/ArmPkg.dec | 5 +++++ > > > 1 file changed, 5 insertions(+) > > > > > > diff --git a/ArmPkg/ArmPkg.dec b/ArmPkg/ArmPkg.dec > > > index 9da1bbc9f2166dc8ae93f96a34d3165fffed34dc..9a53888ae52f00eec50e631cf1bfcacecf8bba87 100644 > > > --- a/ArmPkg/ArmPkg.dec > > > +++ b/ArmPkg/ArmPkg.dec > > > @@ -132,6 +132,11 @@ [PcdsFeatureFlag.common] > > > # Define if the GICv3 controller should use the GICv2 legacy > > > gArmTokenSpaceGuid.PcdArmGicV3WithV2Legacy|FALSE|BOOLEAN|0x00000042 > > > > > > + ## Define the conduit to use for monitor calls. > > > + # Default PcdMonitorConduitHvc = FALSE, conduit = SMC > > > + # If PcdMonitorConduitHvc = TRUE, conduit = HVC > > > + gArmTokenSpaceGuid.PcdMonitorConduitHvc|FALSE|BOOLEAN|0x00000047 > > > + > > > [PcdsFeatureFlag.ARM] > > > # Whether to map normal memory as non-shareable. FALSE is the safe choice, but > > > # TRUE may be appropriate to fix performance problems if you don't care about > > > -- > > > 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' > > >