From: Dan Williams <dan.j.williams@intel.com>
To: <alison.schofield@intel.com>,
Robert Moore <robert.moore@intel.com>,
"Dan Williams" <dan.j.williams@intel.com>,
Ira Weiny <ira.weiny@intel.com>,
Vishal Verma <vishal.l.verma@intel.com>,
Ben Widawsky <bwidawsk@kernel.org>,
Dave Jiang <dave.jiang@intel.com>
Cc: Alison Schofield <alison.schofield@intel.com>,
<linux-cxl@vger.kernel.org>
Subject: RE: [ACPICA PATCH] Add CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table
Date: Fri, 16 Sep 2022 16:35:59 -0700 [thread overview]
Message-ID: <6325085fd0b23_2a6ded29441@dwillia2-xfh.jf.intel.com.notmuch> (raw)
In-Reply-To: <20220916232102.673102-1-alison.schofield@intel.com>
alison.schofield@ wrote:
> From: Alison Schofield <alison.schofield@intel.com>
>
> Prologue: The CXIMS addition to ACPICA was reverted, so, while I was
> at it, decided to collect both CEDT changes in one patch for ACPICA.
> Please review here, or on ACPICA github:
> https://github.com/acpica/acpica/pull/795
> Thanks,
> Alison
>
>
> The CXL 3.0 Specification[1] adds two new structures to
> the CXL Early Discovery Table (CEDT). The CEDT may include
> zero or more entries of these types:
>
> CXIMS: CXL XOR Interleave Math Structure
> Enables the host to find a targets position in an
> Interleave Target List when XOR Math is used.
>
> RDPAS: RCEC Downstream Post Association Structure
> Enables the host to locate the Downstream Port(s)
> that report errors to a given Root Complex Event
> Collector (RCEC).
>
> [1]https://www.computeexpresslink.org/spec-landing
>
> Signed-off-by: Alison Schofield <alison.schofield@intel.com>
> ---
> source/include/actbl1.h | 34 +++++++++++++++++++++++++++++++++-
> 1 file changed, 33 insertions(+), 1 deletion(-)
>
> diff --git a/source/include/actbl1.h b/source/include/actbl1.h
> index 3de78b0d8f01..6041e8f4c289 100644
> --- a/source/include/actbl1.h
> +++ b/source/include/actbl1.h
> @@ -525,7 +525,9 @@ enum AcpiCedtType
> {
> ACPI_CEDT_TYPE_CHBS = 0,
> ACPI_CEDT_TYPE_CFMWS = 1,
> - ACPI_CEDT_TYPE_RESERVED = 2,
> + ACPI_CEDT_TYPE_CXIMS = 2,
> + ACPI_CEDT_TYPE_RDPAS = 3,
> + ACPI_CEDT_TYPE_RESERVED = 4,
> };
>
> /* Values for version field above */
> @@ -583,6 +585,7 @@ typedef struct acpi_cedt_cfmws_target_element
> /* Values for Interleave Arithmetic field above */
>
> #define ACPI_CEDT_CFMWS_ARITHMETIC_MODULO (0)
> +#define ACPI_CEDT_CFMWS_ARITHMETIC_XOR (1)
>
> /* Values for Restrictions field above */
>
> @@ -592,6 +595,35 @@ typedef struct acpi_cedt_cfmws_target_element
> #define ACPI_CEDT_CFMWS_RESTRICT_PMEM (1<<3)
> #define ACPI_CEDT_CFMWS_RESTRICT_FIXED (1<<4)
>
> +/* 2: CXL XOR Interleave Math Structure */
> +
> +struct acpi_cedt_cxims {
> + ACPI_CEDT_HEADER Header;
> + UINT16 Reserved1;
> + UINT8 Hbig;
> + UINT8 NrXormaps;
> + UINT64 XormapList[];
This might be the source of the build trouble. I thought ACPICA builds
in constrained environments with simple compilers that do not support
variable-length arrays.
For example:
typedef struct acpi_table_slit
{
ACPI_TABLE_HEADER Header; /* Common ACPI table header */
UINT64 LocalityCount;
UINT8 Entry[1]; /* Real size = localities^2 */
} ACPI_TABLE_SLIT;
https://github.com/acpica/acpica/blob/master/source/include/actbl3.h#L234
However, if this is the breakage then I don't understand why:
typedef struct acpi_cedt_cfmws
{
ACPI_CEDT_HEADER Header;
UINT32 Reserved1;
UINT64 BaseHpa;
UINT64 WindowSize;
UINT8 InterleaveWays;
UINT8 InterleaveArithmetic;
UINT16 Reserved2;
UINT32 Granularity;
UINT16 Restrictions;
UINT16 QtgId;
UINT32 InterleaveTargets[];
} ACPI_CEDT_CFMWS;
https://github.com/acpica/acpica/blob/master/source/include/actbl1.h#L561
Gets by without complaint?
Otherwise that's all I can see as the reason why the first attempt
reported build issues.
Bob, is there a place where someone can reproduce the ACPICA build
environment to check these issues themselves going forward?
prev parent reply other threads:[~2022-09-16 23:36 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-16 23:21 [ACPICA PATCH] Add CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table alison.schofield
2022-09-16 23:35 ` Dan Williams [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6325085fd0b23_2a6ded29441@dwillia2-xfh.jf.intel.com.notmuch \
--to=dan.j.williams@intel.com \
--cc=alison.schofield@intel.com \
--cc=bwidawsk@kernel.org \
--cc=dave.jiang@intel.com \
--cc=ira.weiny@intel.com \
--cc=linux-cxl@vger.kernel.org \
--cc=robert.moore@intel.com \
--cc=vishal.l.verma@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.