€•Ñ;Œ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ŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ0/translations/pt_BR/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”]”(j"j$j&j(j*eŒmaxdepth”KŒcaption”NŒglob”‰Œhidden”‰Œ includehidden”‰Œnumbered”KŒ titlesonly”‰Œ rawentries”]”uh1jh³hÇh´Khjubah}”(h]”h ]”Œtoctree-wrapper”ah"]”h$]”h&]”uh1jhhÊ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:”…””}”(hjLh²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Þ)”}”(hjch]”hŒ NUMA nodes”…””}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K hjaubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hj\h²hh³hÇh´Nubj`)”}”(hŒ Memory Tiers”h]”hÞ)”}”(hjzh]”hŒ Memory Tiers”…””}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K!hjxubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hj\h²hh³hÇh´Nubj`)”}”(hŒNUMA Abstract Distances”h]”hÞ)”}”(hj‘h]”hŒNUMA Abstract Distances”…””}”(hj“h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K"hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hj\h²hh³hÇh´Nubj`)”}”(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&]”uh1j_hj\h²hh³hÇh´Nubj`)”}”(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&]”uh1j_hj\h²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1jZh³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 ”…””}”(hjh²hh³Nh´Nubj÷)”}”(hŒ:code:`iasl -d`”h]”hŒiasl -d”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”Œlanguage”huh1jöhjubhŒ; command disassembles the files into human readable format.”…””}”(hjh²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 ”…””}”(hj3h²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 ]”jah"]”h$]”h&]”Œlanguage”huh1jöhj3ubeh}”(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]”…””}”hjRsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jPh³hÇh´K/hjÝh²hubhÉ)”}”(hhh]”(hÎ)”}”(hŒ Common Issues”h]”hŒ Common Issues”…””}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhj`h²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.”…””}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K3hj`h²hubj[)”}”(hhh]”(j`)”}”(hŒ9CEDT CFMWS targets list UIDs do not match CEDT CHBS UIDs.”h]”hÞ)”}”(hj„h]”hŒ9CEDT CFMWS targets list UIDs do not match CEDT CHBS UIDs.”…””}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K6hj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjh²hh³hÇh´Nubj`)”}”(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.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K7hj™ubah}”(h]”h ]”h"]”h$]”h&]”uh1j_hjh²hh³hÇh´Nubj`)”}”(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&]”uh1j_hjh²hh³hÇh´Nubj`)”}”(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&]”uh1j_hjh²hh³hÇh´Nubj`)”}”(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&]”uh1j_hjh²hh³hÇh´Nubj`)”}”(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&]”uh1j_hjh²hh³hÇh´Nubj`)”}”(hŒ-CEDT CHBS Specification version is incorrect.”h]”hÞ)”}”(hjh]”hŒ-CEDT CHBS Specification version is incorrect.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K