From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mx.groups.io with SMTP id smtpd.web11.12341.1647966177846076825 for ; Tue, 22 Mar 2022 09:22:57 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@linux.microsoft.com header.s=default header.b=ICrthbtP; spf=pass (domain: linux.microsoft.com, ip: 13.77.154.182, mailfrom: mikuback@linux.microsoft.com) Received: from localhost.localdomain (unknown [47.202.59.224]) by linux.microsoft.com (Postfix) with ESMTPSA id 8D75C20B4783; Tue, 22 Mar 2022 09:22:56 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 8D75C20B4783 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1647966177; bh=y1em3M9ceoD0PHNbqxhN0Il5D0JF6HGntymCybjmkEk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ICrthbtPhwflAf3U7PXgmcVk+BTuPHB97xxKn7Nb3sC6DZRFxTo9B6OMBmb3e1xyQ duZ+X6tPO0VINBhY4Dw5tsZxF86M5wQOnJiF859tV73MR9IuVqoAcFrvAAi0O0/X01 1z5xCKKvfRWQjCkzC2jUleZWS9cEMTsVzl7JTh+Y= From: "Michael Kubacki" To: devel@edk2.groups.io Cc: Andrew Fish , Kang Gao , Michael D Kinney , Michael Kubacki , Leif Lindholm , Benjamin You , Liu Yun , Ankit Sinha , Nate DeSimone Subject: [PATCH v1 34/41] Readme.md: Add iASL note and QEMU sample link Date: Tue, 22 Mar 2022 12:19:40 -0400 Message-Id: <20220322161947.9319-35-mikuback@linux.microsoft.com> X-Mailer: git-send-email 2.28.0.windows.1 In-Reply-To: <20220322161947.9319-1-mikuback@linux.microsoft.com> References: <20220322161947.9319-1-mikuback@linux.microsoft.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Michael Kubacki Adds a note that the build now depends on an ASL compiler supporting PlatformRtMechanism by default. The minimum iASL version supported is noted in addition to an alternative to remove the code that requires the new OperationRegion. Also, a link is provided to an example of how to integrate the package into a platform using QEMU/OvmfPkg as the sample platform and firmware. Cc: Andrew Fish Cc: Kang Gao Cc: Michael D Kinney Cc: Michael Kubacki Cc: Leif Lindholm Cc: Benjamin You Cc: Liu Yun Cc: Ankit Sinha Cc: Nate DeSimone Signed-off-by: Michael Kubacki --- PrmPkg/Readme.md | 23 ++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/PrmPkg/Readme.md b/PrmPkg/Readme.md index 40df8f00a0c8..f340eeb64258 100644 --- a/PrmPkg/Readme.md +++ b/PrmPkg/Readme.md @@ -13,6 +13,14 @@ to be leveraged by platform firmware with minimal over= head to integrate PRM func formal design and is not validated at product quality. The development o= f this feature is shared in the edk2-staging branch to simplify collaboration by allowing direct code contributions a= nd early feedback throughout its development. =20 +> By default, the build makes use of a new ACPI OperationRegion type spe= cifically introduced for PRM called +`PlatformRtMechanism`. Support for this OperationRegion is planned for t= he next release of the ACPI specification. +However, support for `PlatformRtMechanism` is already included in the iA= SL Compiler/Disassembler for early prototyping +(i.e. this package). If you would like the default build to work and/or = to use PRM handlers that are invoked +through ACPI, iASL compiler [20200528](https://acpica.org/node/181) or g= reater must be used. If you are only +interested in compiling the code and/or using direct call style PRM hand= lers, you can simply remove +`PrmSsdtInstallDxe` from `PrmPkg.dsc`. + ## How to Build PrmPkg As noted earlier, resources in `PrmPkg` are intended to be referenced by= a platform firmware so it can adopt support for PRM. In that case, the platform firmware should add the `PrmConfigDx= e` and `PrmLoaderDxe` drivers to its DSC and @@ -60,6 +68,21 @@ To build `PrmPkg` as a standalone package: > __*Note*__: Due to the way PRM modules are compiled with exports, *= *only building on Visual Studio compiler tool chains is currently supported**. =20 +In the future, each new terminal session can start at step #4. Within a = terminal session, start at step #8. + +> __*Note*__: \ +> This package has been used without modification in several environment= s including client, server, +> and virtual systems. +> +> A functional example of how to integrate this code into a platform is = available here: +> https://github.com/makubacki/edk2/tree/sample_ovmfpkg_prmpkg_integrati= on +> +> That build will load the drivers and PRM sample modules provided in th= is package in the open source emulator +> [QEMU](https://www.qemu.org/) by including it in the [`OvmfPkg`](https= ://github.com/tianocore/edk2/tree/master/OvmfPkg) build. +> +> You can add your own PRM modules into the build and check them with th= e `PrmInfo` UEFI application described +> later in this document and dump the PRMT table in the OS to check if y= our PRM module is represented as expected. + ### Build Flags As PRM is a new feature at a proof-of-concept (POC) level of maturity, t= here's some changes to the normal build available as build flags. By default, if no flags are specified, the bui= ld is done with the currently expected plan of --=20 2.28.0.windows.1