xsphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget1/translations/zh_CN/driver-api/cxl/linux/overviewmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget1/translations/zh_TW/driver-api/cxl/linux/overviewmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget1/translations/it_IT/driver-api/cxl/linux/overviewmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget1/translations/ja_JP/driver-api/cxl/linux/overviewmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget1/translations/ko_KR/driver-api/cxl/linux/overviewmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget1/translations/sp_SP/driver-api/cxl/linux/overviewmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhK/var/lib/git/docbuild/linux/Documentation/driver-api/cxl/linux/overview.rsthKubhsection)}(hhh](htitle)}(hOverviewh]hOverview}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hThis section presents the configuration process of a CXL Type-3 memory device, and how it is ultimately exposed to users as either a :code:`DAX` device or normal memory pages via the kernel's page allocator.h](hThis section presents the configuration process of a CXL Type-3 memory device, and how it is ultimately exposed to users as either a }(hhhhhNhNubhliteral)}(h :code:`DAX`h]hDAX}(hhhhhNhNubah}(h]h ]codeah"]h$]h&]languagehuh1hhhubhA device or normal memory pages via the kernel’s page allocator.}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hWPortions marked with a bullet are points at which certain kernel objects are generated.h]hWPortions marked with a bullet are points at which certain kernel objects are generated.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubhenumerated_list)}(hhh]h list_item)}(h Early Boot h]h)}(h Early Booth]h Early Boot}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhhhhhhhNubah}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix)uh1hhhhhhhhKubh block_quote)}(hXa) BIOS, Build, and Boot Parameters i) EFI_MEMORY_SP ii) CONFIG_EFI_SOFT_RESERVE iii) CONFIG_MHP_DEFAULT_ONLINE_TYPE iv) nosoftreserve b) Memory Map Creation i) EFI Memory Map / E820 Consulted for Soft-Reserved * CXL Memory is set aside to be handled by the CXL driver * Soft-Reserved IO Resource created for CFMWS entry c) NUMA Node Creation * Nodes created from ACPI CEDT CFMWS and SRAT Proximity domains (PXM) d) Memory Tier Creation * A default memory_tier is created with all nodes. e) Contiguous Memory Allocation * Any requested CMA is allocated from Online nodes f) Init Finishes, Drivers start probing h](h)}(hhh]j)}(h!BIOS, Build, and Boot Parameters h]h)}(h BIOS, Build, and Boot Parametersh]h BIOS, Build, and Boot Parameters}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj0ubah}(h]h ]h"]h$]h&]uh1jhj-ubah}(h]h ]h"]h$]h&]j" loweralphaj$hj%j&uh1hhj)ubj()}(hci) EFI_MEMORY_SP ii) CONFIG_EFI_SOFT_RESERVE iii) CONFIG_MHP_DEFAULT_ONLINE_TYPE iv) nosoftreserve h]h)}(hhh](j)}(h EFI_MEMORY_SPh]h)}(hjXh]h EFI_MEMORY_SP}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjVubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hCONFIG_EFI_SOFT_RESERVEh]h)}(hjoh]hCONFIG_EFI_SOFT_RESERVE}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjmubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hCONFIG_MHP_DEFAULT_ONLINE_TYPEh]h)}(hjh]hCONFIG_MHP_DEFAULT_ONLINE_TYPE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjSubj)}(hnosoftreserve h]h)}(h nosoftreserveh]h nosoftreserve}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjSubeh}(h]h ]h"]h$]h&]j" lowerromanj$hj%j&uh1hhjOubah}(h]h ]h"]h$]h&]uh1j'hhhKhj)ubh)}(hhh]j)}(hMemory Map Creation h]h)}(hMemory Map Creationh]hMemory Map Creation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j"jNj$hj%j&startKuh1hhj)ubj()}(hi) EFI Memory Map / E820 Consulted for Soft-Reserved * CXL Memory is set aside to be handled by the CXL driver * Soft-Reserved IO Resource created for CFMWS entry h](h)}(hhh]j)}(h2EFI Memory Map / E820 Consulted for Soft-Reserved h]h)}(h1EFI Memory Map / E820 Consulted for Soft-Reservedh]h1EFI Memory Map / E820 Consulted for Soft-Reserved}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j"jj$hj%j&uh1hhjubj()}(ho* CXL Memory is set aside to be handled by the CXL driver * Soft-Reserved IO Resource created for CFMWS entry h]h bullet_list)}(hhh](j)}(h8CXL Memory is set aside to be handled by the CXL driver h]h)}(h7CXL Memory is set aside to be handled by the CXL driverh]h7CXL Memory is set aside to be handled by the CXL driver}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(h2Soft-Reserved IO Resource created for CFMWS entry h]h)}(h1Soft-Reserved IO Resource created for CFMWS entryh]h1Soft-Reserved IO Resource created for CFMWS entry}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj(ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]bullet*uh1j hhhKhjubah}(h]h ]h"]h$]h&]uh1j'hhhKhjubeh}(h]h ]h"]h$]h&]uh1j'hhhKhj)ubh)}(hhh]j)}(hNUMA Node Creation h]h)}(hNUMA Node Creationh]hNUMA Node Creation}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjWubah}(h]h ]h"]h$]h&]uh1jhjTubah}(h]h ]h"]h$]h&]j"jNj$hj%j&jKuh1hhj)ubj()}(hF* Nodes created from ACPI CEDT CFMWS and SRAT Proximity domains (PXM) h]j )}(hhh]j)}(hDNodes created from ACPI CEDT CFMWS and SRAT Proximity domains (PXM) h]h)}(hCNodes created from ACPI CEDT CFMWS and SRAT Proximity domains (PXM)h]hCNodes created from ACPI CEDT CFMWS and SRAT Proximity domains (PXM)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hj|ubah}(h]h ]h"]h$]h&]uh1jhjyubah}(h]h ]h"]h$]h&]jFjGuh1j hhhK!hjuubah}(h]h ]h"]h$]h&]uh1j'hhhK!hj)ubh)}(hhh]j)}(hMemory Tier Creation h]h)}(hMemory Tier Creationh]hMemory Tier Creation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK#hjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j"jNj$hj%j&jKuh1hhj)ubj()}(h3* A default memory_tier is created with all nodes. h]j )}(hhh]j)}(h1A default memory_tier is created with all nodes. h]h)}(h0A default memory_tier is created with all nodes.h]h0A default memory_tier is created with all nodes.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]jFjGuh1j hhhK%hjubah}(h]h ]h"]h$]h&]uh1j'hhhK%hj)ubh)}(hhh]j)}(hContiguous Memory Allocation h]h)}(hContiguous Memory Allocationh]hContiguous Memory Allocation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK'hjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j"jNj$hj%j&jKuh1hhj)ubj()}(h3* Any requested CMA is allocated from Online nodes h]j )}(hhh]j)}(h1Any requested CMA is allocated from Online nodes h]h)}(h0Any requested CMA is allocated from Online nodesh]h0Any requested CMA is allocated from Online nodes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]jFjGuh1j hhhK)hj ubah}(h]h ]h"]h$]h&]uh1j'hhhK)hj)ubh)}(hhh]j)}(h%Init Finishes, Drivers start probing h]h)}(h$Init Finishes, Drivers start probingh]h$Init Finishes, Drivers start probing}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK+hj;ubah}(h]h ]h"]h$]h&]uh1jhj8ubah}(h]h ]h"]h$]h&]j"jNj$hj%j&jKuh1hhj)ubeh}(h]h ]h"]h$]h&]uh1j'hhhKhhhhubh)}(hhh]j)}(hACPI and PCI Drivers h]h)}(hACPI and PCI Driversh]hACPI and PCI Drivers}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK-hjbubah}(h]h ]h"]h$]h&]uh1jhj_hhhhhNubah}(h]h ]h"]h$]h&]j"j#j$hj%j&jKuh1hhhhhhhhK-ubj()}(hAa) Detects PCI device is CXL, marking it for probe by CXL driver h]h)}(hhh]j)}(h>Detects PCI device is CXL, marking it for probe by CXL driver h]h)}(h=Detects PCI device is CXL, marking it for probe by CXL driverh]h=Detects PCI device is CXL, marking it for probe by CXL driver}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j"jNj$hj%j&uh1hhjubah}(h]h ]h"]h$]h&]uh1j'hhhK/hhhhubh)}(hhh]j)}(hCXL Driver Operation h]h)}(hCXL Driver Operationh]hCXL Driver Operation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK1hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubah}(h]h ]h"]h$]h&]j"j#j$hj%j&jKuh1hhhhhhhhK1ubj()}(hXna) Base device creation * root, port, and memdev devices created * CEDT CFMWS IO Resource creation b) Decoder creation * root, switch, and endpoint decoders created c) Logical device creation * memory_region and endpoint devices created d) Devices are associated with each other * If auto-decoder (BIOS-programmed decoders), driver validates configurations, builds associations, and locks configs at probe time. * If user-configured, validation and associations are built at decoder-commit time. e) Regions surfaced as DAX region * dax_region created * DAX device created via DAX driver h](h)}(hhh]j)}(hBase device creation h]h)}(hBase device creationh]hBase device creation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK3hjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j"jNj$hj%j&uh1hhjubj()}(hK* root, port, and memdev devices created * CEDT CFMWS IO Resource creation h]j )}(hhh](j)}(h&root, port, and memdev devices createdh]h)}(hjh]h&root, port, and memdev devices created}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK5hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h CEDT CFMWS IO Resource creation h]h)}(hCEDT CFMWS IO Resource creationh]hCEDT CFMWS IO Resource creation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK6hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]jFjGuh1j hhhK5hjubah}(h]h ]h"]h$]h&]uh1j'hhhK5hjubh)}(hhh]j)}(hDecoder creation h]h)}(hDecoder creationh]hDecoder creation}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK8hj6ubah}(h]h ]h"]h$]h&]uh1jhj3ubah}(h]h ]h"]h$]h&]j"jNj$hj%j&jKuh1hhjubj()}(h.* root, switch, and endpoint decoders created h]j )}(hhh]j)}(h,root, switch, and endpoint decoders created h]h)}(h+root, switch, and endpoint decoders createdh]h+root, switch, and endpoint decoders created}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hj[ubah}(h]h ]h"]h$]h&]uh1jhjXubah}(h]h ]h"]h$]h&]jFjGuh1j hhhK:hjTubah}(h]h ]h"]h$]h&]uh1j'hhhK:hjubh)}(hhh]j)}(hLogical device creation h]h)}(hLogical device creationh]hLogical device creation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]jFjGuh1j hhhK>hjubah}(h]h ]h"]h$]h&]uh1j'hhhK>hjubh)}(hhh]j)}(h'Devices are associated with each other h]h)}(h&Devices are associated with each otherh]h&Devices are associated with each other}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j"jNj$hj%j&jKuh1hhjubj()}(h* If auto-decoder (BIOS-programmed decoders), driver validates configurations, builds associations, and locks configs at probe time. * If user-configured, validation and associations are built at decoder-commit time. h]j )}(hhh](j)}(hIf auto-decoder (BIOS-programmed decoders), driver validates configurations, builds associations, and locks configs at probe time. h]h)}(hIf auto-decoder (BIOS-programmed decoders), driver validates configurations, builds associations, and locks configs at probe time.h]hIf auto-decoder (BIOS-programmed decoders), driver validates configurations, builds associations, and locks configs at probe time.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hRIf user-configured, validation and associations are built at decoder-commit time. h]h)}(hQIf user-configured, validation and associations are built at decoder-commit time.h]hQIf user-configured, validation and associations are built at decoder-commit time.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]jFjGuh1j hhhKBhjubah}(h]h ]h"]h$]h&]uh1j'hhhKBhjubh)}(hhh]j)}(hRegions surfaced as DAX region h]h)}(hRegions surfaced as DAX regionh]hRegions surfaced as DAX region}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKHhj2ubah}(h]h ]h"]h$]h&]uh1jhj/ubah}(h]h ]h"]h$]h&]j"jNj$hj%j&jKuh1hhjubj()}(h:* dax_region created * DAX device created via DAX driver h]j )}(hhh](j)}(hdax_region created h]h)}(hdax_region createdh]hdax_region created}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhjWubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(h"DAX device created via DAX driver h]h)}(h!DAX device created via DAX driverh]h!DAX device created via DAX driver}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKLhjoubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]jFjGuh1j hhhKJhjPubah}(h]h ]h"]h$]h&]uh1j'hhhKJhjubeh}(h]h ]h"]h$]h&]uh1j'hhhK3hhhhubh)}(hhh]j)}(hDAX Driver Operation h]h)}(hDAX Driver Operationh]hDAX Driver Operation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubah}(h]h ]h"]h$]h&]j"j#j$hj%j&jKuh1hhhhhhhhKNubj()}(hXva) DAX driver surfaces DAX region as one of two dax device modes * kmem - dax device is converted to hotplug memory blocks * DAX kmem IO Resource creation * hmem - dax device is left as daxdev to be accessed as a file. * If hmem, journey ends here. b) DAX kmem surfaces memory region to Memory Hotplug to add to page allocator as "driver managed memory" h](h)}(hhh]j)}(h>DAX driver surfaces DAX region as one of two dax device modes h]h)}(h=DAX driver surfaces DAX region as one of two dax device modesh]h=DAX driver surfaces DAX region as one of two dax device modes}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j"jNj$hj%j&uh1hhjubj()}(h* kmem - dax device is converted to hotplug memory blocks * DAX kmem IO Resource creation * hmem - dax device is left as daxdev to be accessed as a file. * If hmem, journey ends here. h]j )}(hhh](j)}(hYkmem - dax device is converted to hotplug memory blocks * DAX kmem IO Resource creation h](h)}(h7kmem - dax device is converted to hotplug memory blocksh]h7kmem - dax device is converted to hotplug memory blocks}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjubj )}(hhh]j)}(hDAX kmem IO Resource creation h]h)}(hDAX kmem IO Resource creationh]hDAX kmem IO Resource creation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]jFjGuh1j hhhKThjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(h]hmem - dax device is left as daxdev to be accessed as a file. * If hmem, journey ends here. h](h)}(h=hmem - dax device is left as daxdev to be accessed as a file.h]h=hmem - dax device is left as daxdev to be accessed as a file.}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhjubj )}(hhh]j)}(hIf hmem, journey ends here. h]h)}(hIf hmem, journey ends here.h]hIf hmem, journey ends here.}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhj4ubah}(h]h ]h"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]jFjGuh1j hhhKXhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]jFjGuh1j hhhKRhjubah}(h]h ]h"]h$]h&]uh1j'hhhKRhjubh)}(hhh]j)}(hfDAX kmem surfaces memory region to Memory Hotplug to add to page allocator as "driver managed memory" h]h)}(heDAX kmem surfaces memory region to Memory Hotplug to add to page allocator as "driver managed memory"h]hiDAX kmem surfaces memory region to Memory Hotplug to add to page allocator as “driver managed memory”}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjgubah}(h]h ]h"]h$]h&]uh1jhjdubah}(h]h ]h"]h$]h&]j"jNj$hj%j&jKuh1hhjubeh}(h]h ]h"]h$]h&]uh1j'hhhKPhhhhubh)}(hhh]j)}(hMemory Hotplug h]h)}(hMemory Hotplugh]hMemory Hotplug}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK]hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubah}(h]h ]h"]h$]h&]j"j#j$hj%j&jKuh1hhhhhhhhK]ubj()}(hX_a) mhp component surfaces a dax device memory region as multiple memory blocks to the page allocator * blocks appear in :code:`/sys/bus/memory/devices` and linked to a NUMA node b) blocks are onlined into the requested zone (NORMAL or MOVABLE) * Memory is marked "Driver Managed" to avoid kexec from using it as region for kernel updatesh](h)}(hhh]j)}(hbmhp component surfaces a dax device memory region as multiple memory blocks to the page allocator h]h)}(hamhp component surfaces a dax device memory region as multiple memory blocks to the page allocatorh]hamhp component surfaces a dax device memory region as multiple memory blocks to the page allocator}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j"jNj$hj%j&uh1hhjubj()}(hM* blocks appear in :code:`/sys/bus/memory/devices` and linked to a NUMA node h]j )}(hhh]j)}(hKblocks appear in :code:`/sys/bus/memory/devices` and linked to a NUMA node h]h)}(hJblocks appear in :code:`/sys/bus/memory/devices` and linked to a NUMA nodeh](hblocks appear in }(hjhhhNhNubh)}(h:code:`/sys/bus/memory/devices`h]h/sys/bus/memory/devices}(hjhhhNhNubah}(h]h ]hah"]h$]h&]languagehuh1hhjubh and linked to a NUMA node}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKbhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]jFjGuh1j hhhKbhjubah}(h]h ]h"]h$]h&]uh1j'hhhKbhjubh)}(hhh]j)}(h?blocks are onlined into the requested zone (NORMAL or MOVABLE) h]h)}(h>blocks are onlined into the requested zone (NORMAL or MOVABLE)h]h>blocks are onlined into the requested zone (NORMAL or MOVABLE)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKdhjubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]j"jNj$hj%j&jKuh1hhjubj()}(h_* Memory is marked "Driver Managed" to avoid kexec from using it as region for kernel updatesh]j )}(hhh]j)}(h[Memory is marked "Driver Managed" to avoid kexec from using it as region for kernel updatesh]h)}(h[Memory is marked "Driver Managed" to avoid kexec from using it as region for kernel updatesh]h_Memory is marked “Driver Managed” to avoid kexec from using it as region for kernel updates}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKfhj7ubah}(h]h ]h"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]jFjGuh1j hhhKfhj0ubah}(h]h ]h"]h$]h&]uh1j'hhhKfhjubeh}(h]h ]h"]h$]h&]uh1j'hhhK_hhhhubeh}(h]overviewah ]h"]overviewah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}jfjcs nametypes}jfsh}jchs footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages](hsystem_message)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "b" (ordinal 2)h]h>Enumerated list start value not ordinal-1: “b” (ordinal 2)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1jhj)ubj)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "c" (ordinal 3)h]h>Enumerated list start value not ordinal-1: “c” (ordinal 3)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1jhj)ubj)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "d" (ordinal 4)h]h>Enumerated list start value not ordinal-1: “d” (ordinal 4)}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj'ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1jhj)ubj)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "e" (ordinal 5)h]h>Enumerated list start value not ordinal-1: “e” (ordinal 5)}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjBubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1jhj)ubj)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "f" (ordinal 6)h]h>Enumerated list start value not ordinal-1: “f” (ordinal 6)}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj]ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1jhj)ubj)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "2" (ordinal 2)h]h>Enumerated list start value not ordinal-1: “2” (ordinal 2)}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjxubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1jhhhhhhhK-ubj)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "3" (ordinal 3)h]h>Enumerated list start value not ordinal-1: “3” (ordinal 3)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1jhhhhhhhK1ubj)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "b" (ordinal 2)h]h>Enumerated list start value not ordinal-1: “b” (ordinal 2)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1jhjubj)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "c" (ordinal 3)h]h>Enumerated list start value not ordinal-1: “c” (ordinal 3)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1jhjubj)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "d" (ordinal 4)h]h>Enumerated list start value not ordinal-1: “d” (ordinal 4)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1jhjubj)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "e" (ordinal 5)h]h>Enumerated list start value not ordinal-1: “e” (ordinal 5)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1jhjubj)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "4" (ordinal 4)h]h>Enumerated list start value not ordinal-1: “4” (ordinal 4)}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1jhhhhhhhKNubj)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "b" (ordinal 2)h]h>Enumerated list start value not ordinal-1: “b” (ordinal 2)}(hj8 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5 ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1jhjubj)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "5" (ordinal 5)h]h>Enumerated list start value not ordinal-1: “5” (ordinal 5)}(hjS hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjP ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1jhhhhhhhK]ubj)}(hhh]h)}(h:Enumerated list start value not ordinal-1: "b" (ordinal 2)h]h>Enumerated list start value not ordinal-1: “b” (ordinal 2)}(hjn hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjk ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKuh1jhjubetransform_messages] transformerN include_log] decorationNhhub.