€•ï:Œsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ0/translations/zh_CN/driver-api/cxl/platform/acpi”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ0/translations/zh_TW/driver-api/cxl/platform/acpi”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ0/translations/it_IT/driver-api/cxl/platform/acpi”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ0/translations/ja_JP/driver-api/cxl/platform/acpi”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ0/translations/ko_KR/driver-api/cxl/platform/acpi”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ0/translations/sp_SP/driver-api/cxl/platform/acpi”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…””}”hh£sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1h¡hhhžhhŸŒJ/var/lib/git/docbuild/linux/Documentation/driver-api/cxl/platform/acpi.rst”h KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ ACPI Tables”h]”hŒ ACPI Tables”…””}”(hh»hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hh¶hžhhŸh³h KubhŒ paragraph”“”)”}”(hX{ACPI is the "Advanced Configuration and Power Interface", which is a standard that defines how platforms and OS manage power and configure computer hardware. For the purpose of this theory of operation, when referring to "ACPI" we will usually refer to "ACPI Tables" - which are the way a platform (BIOS/EFI) communicates static configuration information to the operation system.”h]”hX‡ACPI is the “Advanced Configuration and Power Interfaceâ€, which is a standard that defines how platforms and OS manage power and configure computer hardware. For the purpose of this theory of operation, when referring to “ACPI†we will usually refer to “ACPI Tables†- which are the way a platform (BIOS/EFI) communicates static configuration information to the operation system.”…””}”(hhËhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khh¶hžhubhÊ)”}”(hŒ`The Following ACPI tables contain *static* configuration and performance data about CXL devices.”h]”(hŒ"The Following ACPI tables contain ”…””}”(hhÙhžhhŸNh NubhŒemphasis”“”)”}”(hŒ*static*”h]”hŒstatic”…””}”(hhãhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1háhhÙubhŒ6 configuration and performance data about CXL devices.”…””}”(hhÙhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K hh¶hžhubhŒcompound”“”)”}”(hhh]”hŒtoctree”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”hŒdriver-api/cxl/platform/acpi”Œentries”]”(NŒ!driver-api/cxl/platform/acpi/cedt”†”NŒ!driver-api/cxl/platform/acpi/srat”†”NŒ!driver-api/cxl/platform/acpi/hmat”†”NŒ!driver-api/cxl/platform/acpi/slit”†”NŒ!driver-api/cxl/platform/acpi/dsdt”†”eŒ includefiles”]”(jjjjjeŒmaxdepth”KŒcaption”NŒglob”‰Œhidden”‰Œ includehidden”‰Œnumbered”KŒ titlesonly”‰Œ rawentries”]”uh1jhŸh³h Khhýubah}”(h]”h ]”Œtoctree-wrapper”ah"]”h$]”h&]”uh1hûhh¶hžhhŸh³h NubhÊ)”}”(hŒ­The SRAT table may also contain generic port/initiator content that is intended to describe the generic port, but not information about the rest of the path to the endpoint.”h]”hŒ­The SRAT table may also contain generic port/initiator content that is intended to describe the generic port, but not information about the rest of the path to the endpoint.”…””}”(hj*hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khh¶hžhubhÊ)”}”(hŒsLinux uses these tables to configure kernel resources for statically configured (by BIOS/EFI) CXL devices, such as:”h]”hŒsLinux uses these tables to configure kernel resources for statically configured (by BIOS/EFI) CXL devices, such as:”…””}”(hj8hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khh¶hžhubhŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒ NUMA nodes”h]”hÊ)”}”(hjOh]”hŒ NUMA nodes”…””}”(hjQhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K hjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjHhžhhŸh³h NubjL)”}”(hŒ Memory Tiers”h]”hÊ)”}”(hjfh]”hŒ Memory Tiers”…””}”(hjhhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K!hjdubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjHhžhhŸh³h NubjL)”}”(hŒNUMA Abstract Distances”h]”hÊ)”}”(hj}h]”hŒNUMA Abstract Distances”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K"hj{ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjHhžhhŸh³h NubjL)”}”(hŒSystemRAM Memory Regions”h]”hÊ)”}”(hj”h]”hŒSystemRAM Memory Regions”…””}”(hj–hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K#hj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjHhžhhŸh³h NubjL)”}”(hŒ!Weighted Interleave Node Weights ”h]”hÊ)”}”(hŒ Weighted Interleave Node Weights”h]”hŒ Weighted Interleave Node Weights”…””}”(hj­hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K$hj©ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjHhžhhŸh³h Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1jFhŸh³h K hh¶hžhubhµ)”}”(hhh]”(hº)”}”(hŒACPI Debugging”h]”hŒACPI Debugging”…””}”(hjÌhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjÉhžhhŸh³h K'ubhÊ)”}”(hŒIThe :code:`acpidump -b` command dumps the ACPI tables into binary format.”h]”(hŒThe ”…””}”(hjÚhžhhŸNh NubhŒliteral”“”)”}”(hŒ:code:`acpidump -b`”h]”hŒ acpidump -b”…””}”(hjähžhhŸNh Nubah}”(h]”h ]”Œcode”ah"]”h$]”h&]”Œlanguage”huh1jâhjÚubhŒ2 command dumps the ACPI tables into binary format.”…””}”(hjÚhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K)hjÉhžhubhÊ)”}”(hŒNThe :code:`iasl -d` command disassembles the files into human readable format.”h]”(hŒThe ”…””}”(hjþhžhhŸNh Nubjã)”}”(hŒ:code:`iasl -d`”h]”hŒiasl -d”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”jïah"]”h$]”h&]”Œlanguage”huh1jâhjþubhŒ; command disassembles the files into human readable format.”…””}”(hjþhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K+hjÉhžhubhÊ)”}”(hŒ2Example :code:`acpidump -b && iasl -d cedt.dat` ::”h]”(hŒExample ”…””}”(hjhžhhŸNh Nubjã)”}”(hŒ':code:`acpidump -b && iasl -d cedt.dat`”h]”hŒacpidump -b && iasl -d cedt.dat”…””}”(hj'hžhhŸNh Nubah}”(h]”h ]”jïah"]”h$]”h&]”Œlanguage”huh1jâhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K-hjÉhžhubhŒ literal_block”“”)”}”(hŒC[000h 0000 4] Signature : "CEDT" [CXL Early Discovery Table]”h]”hŒC[000h 0000 4] Signature : "CEDT" [CXL Early Discovery Table]”…””}”hj>sbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1j<hŸh³h K/hjÉhžhubhµ)”}”(hhh]”(hº)”}”(hŒ Common Issues”h]”hŒ Common Issues”…””}”(hjOhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjLhžhhŸh³h K2ubhÊ)”}”(hŒmMost failures described here result in a failure of the driver to surface memory as a DAX device and/or kmem.”h]”hŒmMost failures described here result in a failure of the driver to surface memory as a DAX device and/or kmem.”…””}”(hj]hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K3hjLhžhubjG)”}”(hhh]”(jL)”}”(hŒ9CEDT CFMWS targets list UIDs do not match CEDT CHBS UIDs.”h]”hÊ)”}”(hjph]”hŒ9CEDT CFMWS targets list UIDs do not match CEDT CHBS UIDs.”…””}”(hjrhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K6hjnubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjkhžhhŸh³h NubjL)”}”(hŒDCEDT CFMWS targets list UIDs do not match DSDT CXL Host Bridge UIDs.”h]”hÊ)”}”(hj‡h]”hŒDCEDT CFMWS targets list UIDs do not match DSDT CXL Host Bridge UIDs.”…””}”(hj‰hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K7hj…ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjkhžhhŸh³h NubjL)”}”(hŒ,CEDT CFMWS Restriction Bits are not correct.”h]”hÊ)”}”(hjžh]”hŒ,CEDT CFMWS Restriction Bits are not correct.”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K8hjœubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjkhžhhŸh³h NubjL)”}”(hŒ-CEDT CFMWS Memory regions are poorly aligned.”h]”hÊ)”}”(hjµh]”hŒ-CEDT CFMWS Memory regions are poorly aligned.”…””}”(hj·hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K9hj³ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjkhžhhŸh³h NubjL)”}”(hŒ7CEDT CFMWS Memory regions spans a platform memory hole.”h]”hÊ)”}”(hjÌh]”hŒ7CEDT CFMWS Memory regions spans a platform memory hole.”…””}”(hjÎhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K:hjÊubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjkhžhhŸh³h NubjL)”}”(hŒ6CEDT CHBS UIDs do not match DSDT CXL Host Bridge UIDs.”h]”hÊ)”}”(hjãh]”hŒ6CEDT CHBS UIDs do not match DSDT CXL Host Bridge UIDs.”…””}”(hjåhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K;hjáubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjkhžhhŸh³h NubjL)”}”(hŒ-CEDT CHBS Specification version is incorrect.”h]”hÊ)”}”(hjúh]”hŒ-CEDT CHBS Specification version is incorrect.”…””}”(hjühžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K