€•]ZŒ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”ŒM/translations/zh_CN/driver-api/cxl/linux/example-configurations/single-device”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒM/translations/zh_TW/driver-api/cxl/linux/example-configurations/single-device”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒM/translations/it_IT/driver-api/cxl/linux/example-configurations/single-device”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒM/translations/ja_JP/driver-api/cxl/linux/example-configurations/single-device”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒM/translations/ko_KR/driver-api/cxl/linux/example-configurations/single-device”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒM/translations/pt_BR/driver-api/cxl/linux/example-configurations/single-device”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒM/translations/sp_SP/driver-api/cxl/linux/example-configurations/single-device”Œ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³Œg/var/lib/git/docbuild/linux/Documentation/driver-api/cxl/linux/example-configurations/single-device.rst”h´KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ Single Device”h]”hŒ Single Device”…””}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhŒ paragraph”“”)”}”(hŒGThis cxl-cli configuration dump shows the following host configuration:”h]”hŒGThis cxl-cli configuration dump shows the following host configuration:”…””}”(hhßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KhhÊh²hubhŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒ(A single socket system with one CXL root”h]”hÞ)”}”(hhöh]”hŒ(A single socket system with one CXL root”…””}”(hhøh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´Khhôubah}”(h]”h ]”h"]”h$]”h&]”uh1hòhhïh²hh³hÇh´Nubhó)”}”(hŒ&CXL Root has Four (4) CXL Host Bridges”h]”hÞ)”}”(hj h]”hŒ&CXL Root has Four (4) CXL Host Bridges”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1hòhhïh²hh³hÇh´Nubhó)”}”(hŒ>One CXL Host Bridges has a single CXL Memory Expander Attached”h]”hÞ)”}”(hj$h]”hŒ>One CXL Host Bridges has a single CXL Memory Expander Attached”…””}”(hj&h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K hj"ubah}”(h]”h ]”h"]”h$]”h&]”uh1hòhhïh²hh³hÇh´Nubhó)”}”(hŒNo interleave is present. ”h]”hÞ)”}”(hŒNo interleave is present.”h]”hŒNo interleave is present.”…””}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K hj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1hòhhïh²hh³hÇh´Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ*”uh1híh³hÇh´KhhÊh²hubhÞ)”}”(hŒ‰This output is generated by :code:`cxl list -v` and describes the relationships between objects exposed in :code:`/sys/bus/cxl/devices/`.”h]”(hŒThis output is generated by ”…””}”(hjYh²hh³Nh´NubhŒliteral”“”)”}”(hŒ:code:`cxl list -v`”h]”hŒ cxl list -v”…””}”(hjch²hh³Nh´Nubah}”(h]”h ]”Œcode”ah"]”h$]”h&]”Œlanguage”huh1jahjYubhŒ< and describes the relationships between objects exposed in ”…””}”(hjYh²hh³Nh´Nubjb)”}”(hŒ:code:`/sys/bus/cxl/devices/`”h]”hŒ/sys/bus/cxl/devices/”…””}”(hjwh²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjYubhŒ.”…””}”(hjYh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K hhÊh²hubhŒ literal_block”“”)”}”(hXA[ { "bus":"root0", "provider":"ACPI.CXL", "nr_dports":4, "dports":[ { "dport":"pci0000:00", "alias":"ACPI0016:01", "id":0 }, { "dport":"pci0000:a8", "alias":"ACPI0016:02", "id":4 }, { "dport":"pci0000:2a", "alias":"ACPI0016:03", "id":1 }, { "dport":"pci0000:d2", "alias":"ACPI0016:00", "id":5 } ],”h]”hXA[ { "bus":"root0", "provider":"ACPI.CXL", "nr_dports":4, "dports":[ { "dport":"pci0000:00", "alias":"ACPI0016:01", "id":0 }, { "dport":"pci0000:a8", "alias":"ACPI0016:02", "id":4 }, { "dport":"pci0000:2a", "alias":"ACPI0016:03", "id":1 }, { "dport":"pci0000:d2", "alias":"ACPI0016:00", "id":5 } ],”…””}”hj’sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jh³hÇh´KhhÊh²hubhÞ)”}”(hŒçThis chunk shows the CXL "bus" (root0) has 4 downstream ports attached to CXL Host Bridges. The `Root` can be considered the singular upstream port attached to the platform's memory controller - which routes memory requests to it.”h]”(hŒeThis chunk shows the CXL “bus†(root0) has 4 downstream ports attached to CXL Host Bridges. The ”…””}”(hj h²hh³Nh´NubhŒtitle_reference”“”)”}”(hŒ`Root`”h]”hŒRoot”…””}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hj ubhŒ‚ can be considered the singular upstream port attached to the platform’s memory controller - which routes memory requests to it.”…””}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K.hhÊh²hubhÞ)”}”(hŒ˜The `ports:root0` section lays out how each of these downstream ports are configured. If a port is not configured (id's 0, 1, and 4), they are omitted.”h]”(hŒThe ”…””}”(hjÂh²hh³Nh´Nubj©)”}”(hŒ `ports:root0`”h]”hŒ ports:root0”…””}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÂubhŒ‰ section lays out how each of these downstream ports are configured. If a port is not configured (id’s 0, 1, and 4), they are omitted.”…””}”(hjÂh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K2hhÊh²hubj‘)”}”(hX"ports:root0":[ { "port":"port1", "host":"pci0000:d2", "depth":1, "nr_dports":3, "dports":[ { "dport":"0000:d2:01.1", "alias":"device:02", "id":0 }, { "dport":"0000:d2:01.3", "alias":"device:05", "id":2 }, { "dport":"0000:d2:07.1", "alias":"device:0d", "id":113 } ],”h]”hX"ports:root0":[ { "port":"port1", "host":"pci0000:d2", "depth":1, "nr_dports":3, "dports":[ { "dport":"0000:d2:01.1", "alias":"device:02", "id":0 }, { "dport":"0000:d2:01.3", "alias":"device:05", "id":2 }, { "dport":"0000:d2:07.1", "alias":"device:0d", "id":113 } ],”…””}”hjâsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jh³hÇh´K7hhÊh²hubhÞ)”}”(hŒØThis chunk shows the available downstream ports associated with the CXL Host Bridge :code:`port1`. In this case, :code:`port1` has 3 available downstream ports: :code:`dport1`, :code:`dport2`, and :code:`dport113`..”h]”(hŒTThis chunk shows the available downstream ports associated with the CXL Host Bridge ”…””}”(hjðh²hh³Nh´Nubjb)”}”(hŒ :code:`port1`”h]”hŒport1”…””}”(hjøh²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjðubhŒ. In this case, ”…””}”(hjðh²hh³Nh´Nubjb)”}”(hŒ :code:`port1`”h]”hŒport1”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjðubhŒ# has 3 available downstream ports: ”…””}”(hjðh²hh³Nh´Nubjb)”}”(hŒ:code:`dport1`”h]”hŒdport1”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjðubhŒ, ”…””}”(hjðh²hh³Nh´Nubjb)”}”(hŒ:code:`dport2`”h]”hŒdport2”…””}”(hj1h²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjðubhŒ, and ”…””}”(hjðh²hh³Nh´Nubjb)”}”(hŒ:code:`dport113`”h]”hŒdport113”…””}”(hjDh²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjðubhŒ..”…””}”(hjðh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KOhhÊh²hubj‘)”}”(hX´"endpoints:port1":[ { "endpoint":"endpoint5", "host":"mem0", "parent_dport":"0000:d2:01.1", "depth":2, "memdev":{ "memdev":"mem0", "ram_size":137438953472, "serial":0, "numa_node":0, "host":"0000:d3:00.0" }, "decoders:endpoint5":[ { "decoder":"decoder5.0", "resource":825975898112, "size":137438953472, "interleave_ways":1, "region":"region0", "dpa_resource":0, "dpa_size":137438953472, "mode":"ram" } ] } ],”h]”hX´"endpoints:port1":[ { "endpoint":"endpoint5", "host":"mem0", "parent_dport":"0000:d2:01.1", "depth":2, "memdev":{ "memdev":"mem0", "ram_size":137438953472, "serial":0, "numa_node":0, "host":"0000:d3:00.0" }, "decoders:endpoint5":[ { "decoder":"decoder5.0", "resource":825975898112, "size":137438953472, "interleave_ways":1, "region":"region0", "dpa_resource":0, "dpa_size":137438953472, "mode":"ram" } ] } ],”…””}”hj]sbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jh³hÇh´KUhhÊh²hubhÞ)”}”(hŒIThis chunk shows the endpoints attached to the host bridge :code:`port1`.”h]”(hŒ;This chunk shows the endpoints attached to the host bridge ”…””}”(hjkh²hh³Nh´Nubjb)”}”(hŒ :code:`port1`”h]”hŒport1”…””}”(hjsh²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjkubhŒ.”…””}”(hjkh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KqhhÊh²hubhÞ)”}”(hŒ—:code:`endpoint5` contains a single configured decoder :code:`decoder5.0` which has the same interleave configuration as :code:`region0` (shown later).”h]”(jb)”}”(hŒ:code:`endpoint5`”h]”hŒ endpoint5”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjŒubhŒ& contains a single configured decoder ”…””}”(hjŒh²hh³Nh´Nubjb)”}”(hŒ:code:`decoder5.0`”h]”hŒ decoder5.0”…””}”(hj£h²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjŒubhŒ0 which has the same interleave configuration as ”…””}”(hjŒh²hh³Nh´Nubjb)”}”(hŒ:code:`region0`”h]”hŒregion0”…””}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjŒubhŒ (shown later).”…””}”(hjŒh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KshhÊh²hubhÞ)”}”(hŒ7Next we have the decoders belonging to the host bridge:”h]”hŒ7Next we have the decoders belonging to the host bridge:”…””}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KvhhÊh²hubj‘)”}”(hX× "decoders:port1":[ { "decoder":"decoder1.0", "resource":825975898112, "size":137438953472, "interleave_ways":1, "region":"region0", "nr_targets":1, "targets":[ { "target":"0000:d2:01.1", "alias":"device:02", "position":0, "id":0 } ] } ] },”h]”hX× "decoders:port1":[ { "decoder":"decoder1.0", "resource":825975898112, "size":137438953472, "interleave_ways":1, "region":"region0", "nr_targets":1, "targets":[ { "target":"0000:d2:01.1", "alias":"device:02", "position":0, "id":0 } ] } ] },”…””}”hjÝsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jh³hÇh´KzhhÊh²hubhÞ)”}”(hŒ’Host Bridge :code:`port1` has a single decoder (:code:`decoder1.0`), whose only target is :code:`dport1` - which is attached to :code:`endpoint5`.”h]”(hŒ Host Bridge ”…””}”(hjëh²hh³Nh´Nubjb)”}”(hŒ :code:`port1`”h]”hŒport1”…””}”(hjóh²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjëubhŒ has a single decoder (”…””}”(hjëh²hh³Nh´Nubjb)”}”(hŒ:code:`decoder1.0`”h]”hŒ decoder1.0”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjëubhŒ), whose only target is ”…””}”(hjëh²hh³Nh´Nubjb)”}”(hŒ:code:`dport1`”h]”hŒdport1”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjëubhŒ - which is attached to ”…””}”(hjëh²hh³Nh´Nubjb)”}”(hŒ:code:`endpoint5`”h]”hŒ endpoint5”…””}”(hj,h²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjëubhŒ.”…””}”(hjëh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KŽhhÊh²hubhÞ)”}”(hŒKThe next chunk shows the three CXL host bridges without attached endpoints.”h]”hŒKThe next chunk shows the three CXL host bridges without attached endpoints.”…””}”(hjEh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´K‘hhÊh²hubj‘)”}”(hXŸ { "port":"port2", "host":"pci0000:00", "depth":1, "nr_dports":2, "dports":[ { "dport":"0000:00:01.3", "alias":"device:55", "id":2 }, { "dport":"0000:00:07.1", "alias":"device:5d", "id":113 } ] }, { "port":"port3", "host":"pci0000:a8", "depth":1, "nr_dports":1, "dports":[ { "dport":"0000:a8:01.1", "alias":"device:c3", "id":0 } ] }, { "port":"port4", "host":"pci0000:2a", "depth":1, "nr_dports":1, "dports":[ { "dport":"0000:2a:01.1", "alias":"device:d0", "id":0 } ] } ],”h]”hXŸ { "port":"port2", "host":"pci0000:00", "depth":1, "nr_dports":2, "dports":[ { "dport":"0000:00:01.3", "alias":"device:55", "id":2 }, { "dport":"0000:00:07.1", "alias":"device:5d", "id":113 } ] }, { "port":"port3", "host":"pci0000:a8", "depth":1, "nr_dports":1, "dports":[ { "dport":"0000:a8:01.1", "alias":"device:c3", "id":0 } ] }, { "port":"port4", "host":"pci0000:2a", "depth":1, "nr_dports":1, "dports":[ { "dport":"0000:2a:01.1", "alias":"device:d0", "id":0 } ] } ],”…””}”hjSsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jh³hÇh´K•hhÊh²hubhÞ)”}”(hŒžNext we have the `Root Decoders` belonging to :code:`root0`. This root decoder is a pass-through decoder because :code:`interleave_ways` is set to :code:`1`.”h]”(hŒNext we have the ”…””}”(hjah²hh³Nh´Nubj©)”}”(hŒ`Root Decoders`”h]”hŒ Root Decoders”…””}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjaubhŒ belonging to ”…””}”(hjah²hh³Nh´Nubjb)”}”(hŒ :code:`root0`”h]”hŒroot0”…””}”(hj{h²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjaubhŒ7. This root decoder is a pass-through decoder because ”…””}”(hjah²hh³Nh´Nubjb)”}”(hŒ:code:`interleave_ways`”h]”hŒinterleave_ways”…””}”(hjŽh²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjaubhŒ is set to ”…””}”(hjah²hh³Nh´Nubjb)”}”(hŒ :code:`1`”h]”hŒ1”…””}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjaubhŒ.”…””}”(hjah²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KÃhhÊh²hubhÞ)”}”(hŒLThis information is generated by the CXL driver reading the ACPI CEDT CMFWS.”h]”hŒLThis information is generated by the CXL driver reading the ACPI CEDT CMFWS.”…””}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KÆhhÊh²hubj‘)”}”(hX¬"decoders:root0":[ { "decoder":"decoder0.0", "resource":825975898112, "size":137438953472, "interleave_ways":1, "max_available_extent":0, "volatile_capable":true, "nr_targets":1, "targets":[ { "target":"pci0000:d2", "alias":"ACPI0016:00", "position":0, "id":5 } ],”h]”hX¬"decoders:root0":[ { "decoder":"decoder0.0", "resource":825975898112, "size":137438953472, "interleave_ways":1, "max_available_extent":0, "volatile_capable":true, "nr_targets":1, "targets":[ { "target":"pci0000:d2", "alias":"ACPI0016:00", "position":0, "id":5 } ],”…””}”hjÈsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jh³hÇh´KÊhhÊh²hubhÞ)”}”(hŒ¦Finally we have the `Memory Region` associated with the `Root Decoder` :code:`decoder0.0`. This region describes the discrete region associated with the lone device.”h]”(hŒFinally we have the ”…””}”(hjÖh²hh³Nh´Nubj©)”}”(hŒ`Memory Region`”h]”hŒ Memory Region”…””}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÖubhŒ associated with the ”…””}”(hjÖh²hh³Nh´Nubj©)”}”(hŒ`Root Decoder`”h]”hŒ Root Decoder”…””}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¨hjÖubhŒ ”…””}”(hjÖh²hh³Nh´Nubjb)”}”(hŒ:code:`decoder0.0`”h]”hŒ decoder0.0”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”jnah"]”h$]”h&]”Œlanguage”huh1jahjÖubhŒM. This region describes the discrete region associated with the lone device.”…””}”(hjÖh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÝh³hÇh´KÜhhÊh²hubj‘)”}”(hX{ "regions:decoder0.0":[ { "region":"region0", "resource":825975898112, "size":137438953472, "type":"ram", "interleave_ways":1, "decode_state":"commit", "mappings":[ { "position":0, "memdev":"mem0", "decoder":"decoder5.0" } ] } ] } ] } ]”h]”hX{ "regions:decoder0.0":[ { "region":"region0", "resource":825975898112, "size":137438953472, "type":"ram", "interleave_ways":1, "decode_state":"commit", "mappings":[ { "position":0, "memdev":"mem0", "decoder":"decoder5.0" } ] } ] } ] } ]”…””}”hjsbah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1jh³hÇh´KâhhÊh²hubeh}”(h]”Œ single-device”ah ]”h"]”Œ single device”ah$]”h&]”uh1hÈhhh²hh³hÇh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hÍNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jTŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”j.j+sŒ nametypes”}”j.‰sh}”j+hÊsŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.