From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com [64.147.123.25]) by mx.groups.io with SMTP id smtpd.web11.25387.1677261838683112011 for ; Fri, 24 Feb 2023 10:03:58 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="signature has expired" header.i=@bsdio.com header.s=fm2 header.b=T4U9j7fA; spf=pass (domain: bsdio.com, ip: 64.147.123.25, mailfrom: rebecca@bsdio.com) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 7C835320030E; Fri, 24 Feb 2023 13:03:57 -0500 (EST) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Fri, 24 Feb 2023 13:03:57 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdio.com; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm2; t=1677261837; x= 1677348237; bh=/FodtaQmJH78MsOsav+H+DjdtB+Orr0Wrfqla6G3Y3E=; b=T 4U9j7fA81JG3nO5ZfcrIY8FfexZYmy+cIClotgB8EU/NMK5AcpbsVGH0BSbcPmxD 2Yc5wYw0Ed7wkUpA/YU3RtWVLCc9q0uILueGE29zdvXwY6YYGlCTFr8DsWtpwpQm T/ucUWABWmTncvvE3xLGFtNp0p36fmOZHt1KrDxRUs9CwkvZ4I55BVSN4UBRd8OU 6iO0n0JLxt7/4sLtLQGozuQEu8nVJi21TFmiX4mg+VCWSS28bYOHX2dwpetihBG9 VDZF5Frwj4IwAyhJW4Smj4FgYCtWIBL/pdgrxoUan5/oJV4vYen7qXicpO+9kOk1 vZgVhtbaLCrO3NlLB5ZkQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1677261837; x= 1677348237; bh=/FodtaQmJH78MsOsav+H+DjdtB+Orr0Wrfqla6G3Y3E=; b=p /fhBxmZunUn61Ci288s09G4N3RE995e0H5ejtAf99Znw2svnAVC4ZtrAHIi8k+hP m4HN0WqbXIU94c566xdu1kkG89o64M8Jazu9pb9+pcwBRSKMIwtL//RdgoGQlmzd YSTV85ZeiPaKDJRm9+wnzpylHrSx9MGE1XSvIoQX9evN3D18rlam9BLonbdATwjV 9vDpxayHTCZ/eGOsY8xYn7GseQS3hk7RVEOz4z87aE8XXDOclhXU60lqTidoxLgt d01mXuDFtS+O2KnFz+IbMoLWKCeZYJxochg2r1LBTwz44SjrwJUt7hVU+t6pb/aE Pw0s+LAft72i41gPqWShw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudekfedguddtfecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefkffggfgfuvfevfhfhjggtgfesthejredttdefjeenucfhrhhomheptfgv sggvtggtrgcuvehrrghnuceorhgvsggvtggtrgessghsughiohdrtghomheqnecuggftrf grthhtvghrnhepjeejheehtddtueejffdtueejjeefgeetieevvefgiefghfevfeehjeev ffeluddvnecuffhomhgrihhnpegrtghpihgtrgdrohhrghenucevlhhushhtvghrufhiii gvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehrvggsvggttggrsegsshguihhordgt ohhm X-ME-Proxy: Feedback-ID: i5b994698:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 24 Feb 2023 13:03:55 -0500 (EST) Message-ID: <020944d4-a565-e083-0228-b7b1cfc8531e@bsdio.com> Date: Fri, 24 Feb 2023 11:03:54 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [edk2-devel] [edk2-platforms][PATCH 2/2] JadePkg: ACPI: Support ACPI tables for Ampere Altra Max To: devel@edk2.groups.io, nhi@os.amperecomputing.com Cc: patches@amperecomputing.com, quic_llindhol@quicinc.com, ardb+tianocore@kernel.org, Tinh Nguyen References: <20230113042517.3107802-1-nhi@os.amperecomputing.com> <20230113042517.3107802-3-nhi@os.amperecomputing.com> From: "Rebecca Cran" In-Reply-To: <20230113042517.3107802-3-nhi@os.amperecomputing.com> Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit It's not a problem, but the syntax used here is technically 'legacy' vs the newer ASL 2.0 syntax. >>From https://acpica.org/sites/acpica/files/ASL2.0Overview.pdf Version 6.0 of the Advanced Configuration and Power interface (ACPI) specification introduced support for standard symbolic operators and expressions in the ACPI Source Language (ASL). These changes are known as ASL 2.0 and are detailed in chapter 19 of the ACPI specification. This document intends to increase visibility and further explain the benefits and implementation of these changes. Legacy ASL As more developers begin working with ACPI, the limitations of the ASL language itself have become more apparent. The main mathematical and logical operators of ASL are expressed in Polish notation, which places operators to the left of operands, as shown in the examples below: Add (X, Y, Z) LEqual (X, Y) Building complex expressions with this notation can make ASL code practically unreadable by humans. Even experienced BIOS engineers can find ASL expressions difficult to parse, while developers new to the language might find ASL to be inaccessible compared to languages that use a more common notation. ASL 2.0 Fortunately version 6.0 of the ACPI specification has introduced standard symbolic operators and infix expressions for ASL that are similar to those used in C and other common algebraic languages. The following examples show how the legacy ASL syntax above is expressed in ASL 2.0: Z = X + Y If (X == Y) The ASL 2.0 operator precedence and associativity rules are identical to the C language.These new symbolic operators are backwards compatible with existing legacy ASL operators, and are implemented with only minor changes to the ASL compiler and AML disassembler. These changes to the ASL language are significant enough to warrant changing the name of the language to ASL 2.0, as compared to legacy ASL. -- Rebecca Cran On 1/12/23 9:25 PM, Nhi Pham via groups.io wrote: > + Method (_OSC, 4) { > + > + // > + // Look for the PCI Host Bridge Interface UUID. > + // Section 6.2.10.3 > + // > + > + // > + // Create DWord-adressable fields from the Capabilities Buffer > + // Create CDW1 outside the test as it's used in the else clause. > + // > + > + CreateDWordField (Arg3, 0, CDW1) > + If (LEqual (Arg0, ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) { > + > + CreateDWordField (Arg3, 4, CDW2) > + CreateDWordField (Arg3, 8, CDW3) > + > + // > + // Save Capabilities DWord 2 & 3 > + // > + > + Store (CDW2, SUPP) > + Store (CDW3, CTRL) > + > + // > + // Only allow native hot plug control if OS supports: > + // ASPM > + // Clock PM > + // MSI/MSI-X > + // > + > + If (LNotEqual (And (SUPP, 0x16), 0x16)) { > + > + // > + // Mask bit 0 (and undefined bits) > + // > + > + And (CTRL, 0x1E, CTRL) > + } > +