'\" t .\" Title: cxl-list .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-06-30 .\" Manual: cxl Manual .\" Source: cxl .\" Language: English .\" .TH "CXL\-LIST" "1" "2026-06-30" "cxl" "cxl Manual" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "نام (NAME)" cxl-list \- فهرست کردن اشیاء CXL پلتفرم و ویژگی‌های آن‌ها در قالب json .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fIcxl list\fP [] .fi .br .sp پیمایش سلسله‌مراتب دستگاه‌های با قابلیت CXL در سیستم و فهرست کردن تمام نمونه‌های دستگاه به همراه برخی از ویژگی‌های اصلی آن‌ها. .sp می‌توان با مشخص کردن گزینه‌ها، خروجی را به اشیاء خاصی محدود کرد. هنگامی که یک نوع شیء منفرد مشخص شود، شیء json بازگشتی آرایه‌ای از همان اشیاء است؛ هنگامی که چند نوع شیء مشخص شوند، شیء بازگشتی ممکن است آرایه‌ای از آرایه‌ها باشد که آرایه درونی با نوع شیء داده‌شده نام‌گذاری شده است. آرایه‌های سطح بالا زمانی که اشیاء بتوانند در سلسله‌مراتب ذیل یک نوع شیء بالاتر قرار گیرند (آشیانه‌سازی شوند)، حذف می‌شوند. نام‌های بالقوه آرایه‌های سطح بالا و ویژگی‌های آشیانه‌سازی آن‌ها عبارتند از: .sp "anon memdevs" .RS 4 (دستگاه‌های حافظه غیرفعال) آشیانه‌سازی نمی‌شوند .RE .sp "buses" .RS 4 آشیانه‌سازی نمی‌شوند .RE .sp "ports" .RS 4 ذیل buses آشیانه‌سازی می‌شوند .RE .sp "endpoints" .RS 4 ذیل ports یا buses (در صورتی که پورت‌ها نمایش داده نشوند) آشیانه‌سازی می‌شوند .RE .sp "memdevs" .RS 4 ذیل endpoints یا ports (اگر endpoints نمایش داده نشوند) یا buses (اگر endpoints و ports نمایش داده نشوند) آشیانه‌سازی می‌شوند .RE .sp "root decoders" .RS 4 ذیل buses آشیانه‌سازی می‌شوند .RE .sp "port decoders" .RS 4 ذیل ports، یا buses (در صورتی که پورت‌ها نمایش داده نشوند) آشیانه‌سازی می‌شوند .RE .sp "endpoint decoders" .RS 4 ذیل endpoints، یا ports (اگر endpoints نمایش داده نشوند) یا buses (اگر endpoints و ports نمایش داده نشوند) آشیانه‌سازی می‌شوند .RE .sp فیلترها را می‌توان به عنوان یک شناسه منفرد، یک رشته داخل گیومه با فاصله، یا یک فهرست جداشده با کاما مشخص کرد. هنگامی که چندین شناسه فیلتر درون یک رشته فیلتر مشخص شوند (مانند "\-m mem0,mem1,mem2")، به عنوان فیلتر \fIOR\fP با یکدیگر ترکیب می‌شوند. هنگامی که چندین نوع رشته فیلتر مشخص شوند (مانند "\-m mem0,mem1,mem2 \-p port10")، به عنوان فیلتر \fIAND\fP ترکیب می‌گردند. بنابراین، "\-m mem0,mem1,mem2 \-p port10" تنها اشیائی را فهرست می‌کند که زیر port10 هستند و mem0، mem1 یا mem2 را نگاشت می‌کنند. .sp با توجه به اینکه بسیاری از پرس‌وجوهای توپولوژی به دنبال پاسخ به سؤالات مرتبط با یک memdev خاص هستند، می‌توان گذرگاه‌ها، پورت‌ها، اندپوینت‌ها و رمزگشاها را بر اساس یک یا چند memdev فیلتر کرد. به عنوان مثال: .sp .if n .RS 4 .nf .fam C # cxl list \-P \-p switch,endpoint \-m mem0 [ { "port":"port1", "host":"ACPI0016:00", "endpoints:port1":[ { "endpoint":"endpoint2", "host":"mem0" } ] } ] .fam .fi .if n .RE .sp علاوه بر این، هنگام فراهم‌سازی پیکربندی‌های جدید interleave، دانستن اینکه کدام memdevها می‌توانند توسط یک رمزگشای خاص مانند یک root decoder مورد ارجاع قرار گیرند، یا در صورت پیکربندی نشدن رمزگشاها توسط یک پورت خاص نگاشت شوند، سودمند است. .sp .if n .RS 4 .nf .fam C # cxl list \-Mu \-d decoder0.0 { "memdev":"mem0", "pmem_size":"256.00 MiB (268.44 MB)", "serial":"0", "host":"0000:35:00.0" } .fam .fi .if n .RE .sp توجه داشته باشید که برای فیلترهای \-m/\-\-memdev=، \-p/\-\-port= و \-e/\-\-endpoint= می‌توان نام دستگاه میزبان را جایگزین شناسه شیء CXL کرد. برای \-m/\-\-memdev= این نام یک دستگاه PCI از نوع اندپوینت به فرم "DDDD:bb:dd.f" است (D: دامنه، b: گذرگاه، d: دستگاه، f: تابع) (به /sys/bus/pci/devices مراجعه کنید)، برای \-p/\-\-port= این نام یک دستگاه PCI پورت سوئیچ بالادستی به فرم "DDDD:bb:dd.f"، یا نام گذرگاه PCI به فرم "pciDDDD:bb" است، و برای \-e/\-\-endpoint= دستگاه میزبان یک شیء دستگاه حافظه CXL به فرم "memX" می‌باشد. .sp گزینه \-\-human علاوه بر قالب‌بندی مجدد برخی فیلدها به رشته‌های خواناتر برای انسان، آرایه را نیز باز می‌کند (unwrap) تا تعداد خطوط خروجی کاهش یابد. .SH "مثال (EXAMPLE)" .sp .if n .RS 4 .nf .fam C # cxl list \-\-memdevs [ { "memdev":"mem0", "pmem_size":268435456, "serial":0, "host":"0000:35:00.0" } ] # cxl list \-BMu [ { "anon memdevs":[ { "memdev":"mem0", "pmem_size":"256.00 MiB (268.44 MB)", "serial":"0" } ] }, { "buses":[ { "bus":"root0", "provider":"ACPI.CXL" } ] } ] .fam .fi .if n .RE .SH "گزینه‌ها (OPTIONS)" .sp \-m, \-\-memdev= .RS 4 مشخص کردن نام(های) دستگاه حافظه CXL ("mem0")، شناسه(های) دستگاه ("0")، و/یا نام(های) دستگاه میزبان ("0000:35:00.0") برای فیلتر کردن فهرست خروجی. برای مثال: .RE .sp .if n .RS 4 .nf .fam C # cxl list \-M \-\-memdev="0 mem3 5" [ { "memdev":"mem0", "pmem_size":268435456, "serial":0 }, { "memdev":"mem3", "pmem_size":268435456, "ram_size":268435456, "serial":2 }, { "memdev":"mem5", "pmem_size":268435456, "ram_size":268435456, "serial":4 } ] .fam .fi .if n .RE .sp \-s, \-\-serial= .RS 4 مشخص کردن شماره(های) سریال دستگاه حافظه CXL برای فیلتر کردن فهرست خروجی. .RE .sp \-M, \-\-memdevs .RS 4 گنجاندن دستگاه‌های حافظه CXL در فهرست خروجی. .RE .sp \-i, \-\-idle .RS 4 گنجاندن دستگاه‌های بیکار (غیرفعال / با اندازه صفر) در فهرست خروجی. .RE .sp \-H, \-\-health .RS 4 گنجاندن اطلاعات سلامت در فهرست memdev. نمونه فهرست: .RE .sp .if n .RS 4 .nf .fam C # cxl list \-m mem0 \-H [ { "memdev":"mem0", "pmem_size":268435456, "ram_size":268435456, "health":{ "maintenance_needed":true, "performance_degraded":true, "hw_replacement_needed":true, "media_normal":false, "media_not_ready":false, "media_persistence_lost":false, "media_data_lost":true, "media_powerloss_persistence_loss":false, "media_shutdown_persistence_loss":false, "media_persistence_loss_imminent":false, "media_powerloss_data_loss":false, "media_shutdown_data_loss":false, "media_data_loss_imminent":false, "ext_life_used":"normal", "ext_temperature":"critical", "ext_corrected_volatile":"warning", "ext_corrected_persistent":"normal", "life_used_percent":15, "temperature":25, "dirty_shutdowns":10, "volatile_errors":20, "pmem_errors":30 } } ] .fam .fi .if n .RE .sp \-I, \-\-partition .RS 4 گنجاندن اطلاعات پارتیشن در فهرست memdev. نمونه فهرست: .RE .sp .if n .RS 4 .nf .fam C # cxl list \-m mem0 \-I [ { "memdev":"mem0", "ram_size":273535729664, "partition_info":{ "total_size":273535729664, "volatile_only_size":0, "persistent_only_size":0, "partition_alignment_size":268435456 "active_volatile_size":273535729664, "active_persistent_size":0, "next_volatile_size":0, "next_persistent_size":0, } } ] .fam .fi .if n .RE .sp \-A, \-\-alert\-config .RS 4 گنجاندن پیکربندی هشدار در فهرست memdev. نمونه فهرست: .RE .sp .if n .RS 4 .nf .fam C # cxl list \-m mem0 \-A [ { "memdev":"mem0", "pmem_size":0, "ram_size":273535729664, "alert_config":{ "life_used_prog_warn_threshold_valid":false, "dev_over_temperature_prog_warn_threshold_valid":false, "dev_under_temperature_prog_warn_threshold_valid":false, "corrected_volatile_mem_err_prog_warn_threshold_valid":true, "corrected_pmem_err_prog_warn_threshold_valid":false, "life_used_prog_warn_threshold_writable":false, "dev_over_temperature_prog_warn_threshold_writable":false, "dev_under_temperature_prog_warn_threshold_writable":false, "corrected_volatile_mem_err_prog_warn_threshold_writable":true, "corrected_pmem_err_prog_warn_threshold_writable":false, "life_used_crit_alert_threshold":0, "life_used_prog_warn_threshold":0, "dev_over_temperature_crit_alert_threshold":0, "dev_under_temperature_crit_alert_threshold":0, "dev_over_temperature_prog_warn_threshold":0, "dev_under_temperature_prog_warn_threshold":0, "corrected_volatile_mem_err_prog_warn_threshold":0, "corrected_pmem_err_prog_warn_threshold":0 }, } ] .fam .fi .if n .RE .sp \-B, \-\-buses .RS 4 گنجاندن شیء(های) \fIbus\fP / ریشه CXL در فهرست خروجی. معمولاً در سیستم‌های ACPI شیء گذرگاه یک تک‌نمونه (singleton) مرتبط با دستگاه ACPI0017 است، اما سناریوهای آزمایشی وجود دارند که در آن‌ها ممکن است چندین سلسله‌مراتب حافظه CXL موجود باشد. .RE .sp .if n .RS 4 .nf .fam C # cxl list \-B [ { "bus":"root3", "provider":"cxl_test" }, { "bus":"root0", "provider":"ACPI.CXL" } ] .fam .fi .if n .RE .sp \-b, \-\-bus= .RS 4 مشخص کردن نام(های) دستگاه ریشه CXL، شناسه(های) دستگاه، و/یا نام‌های ارائه‌دهنده گذرگاه CXL برای فیلتر کردن فهرست خروجی. نام‌های ارائه‌دهنده پشتیبانی‌شده "ACPI.CXL" و "cxl_test" هستند. .RE .sp \-P, \-\-ports .RS 4 گنجاندن اشیاء پورت (پورت‌های ریشه CXL / PCIe + پورت‌های بالادستی سوئیچ) در فهرست خروجی. .RE .sp \-p, \-\-port= .RS 4 مشخص کردن نام(های) دستگاه پورت CXL ("port2")، شناسه(های) دستگاه ("2")، نام(های) دستگاه میزبان ("pci0000:34")، و/یا نام(های) نوع پورت برای فیلتر کردن فهرست خروجی. نام‌های نوع پورت پشتیبانی‌شده "root" و "switch" هستند. توجه داشته باشید که یک شیء گذرگاه نیز خود یک پورت است، بنابراین دو نحو زیر معادل یکدیگرند: .RE .sp .if n .RS 4 .nf .fam C # cxl list \-B # cxl list \-P \-p root \-S .fam .fi .if n .RE .sp .if n .RS 4 .nf .fam C \&... که در آن \*(Aq\-S/\-\-single\*(Aq لازم است زیرا پورت‌های نواده همیشه در فهرست پورت گنجانده می‌شوند و \*(Aq\-S/\-\-single\*(Aq پس از فهرست کردن گذرگاه متوقف می‌شود. علاوه بر این، اشیاء اندپوینت نیز پورت هستند، بنابراین دستورات زیر معادل یکدیگرند و نیازی به \*(Aq\-S/\-\-single\*(Aq نیست زیرا پورت‌های اندپوینت پایانی هستند: .fam .fi .if n .RE .sp .if n .RS 4 .nf .fam C # cxl list \-E # cxl list \-P \-p endpoint .fam .fi .if n .RE .sp .if n .RS 4 .nf .fam C به‌طور پیش‌فرض، فقط پورت‌های \*(Aqswitch\*(Aq فهرست می‌شوند، یعنی .fam .fi .if n .RE .sp .if n .RS 4 .nf .fam C # cxl list \-P # cxl list \-P \-p switch .fam .fi .if n .RE .sp .if n .RS 4 .nf .fam C \&... معادل یکدیگرند. .fam .fi .if n .RE .sp \-S, \-\-single .RS 4 مشخص می‌کند که آیا فهرست خروجی باید تمامی اشیاء نواده پورتی که با فیلتر پورت مطابقت دارد را نمایش دهد، یا فقط نوادگان مستقیم تک‌تک پورت‌هایی که با فیلتر مطابقت دارند. به‌طور پیش‌فرض تمام اشیاء نواده فهرست می‌شوند. .RE .sp \-E, \-\-endpoints .RS 4 گنجاندن اشیاء اندپوینت (رمزگشاهای دستگاه حافظه CXL) در فهرست خروجی. .RE .sp .if n .RS 4 .nf .fam C # cxl list \-E [ { "endpoint":"endpoint2", "host":"mem0" } ] .fam .fi .if n .RE .sp \-e, \-\-endpoint .RS 4 مشخص کردن نام(های) دستگاه اندپوینت CXL، یا شناسه(های) دستگاه برای فیلتر کردن اندپوینت(های) خروجی. .RE .sp \-D, \-\-decoders .RS 4 گنجاندن اشیاء رمزگشا (نمونه‌های قابلیت رمزگشایی حافظه CXL در گذرگاه‌ها، پورت‌ها و اندپوینت‌ها) در فهرست خروجی. .RE .sp \-d, \-\-decoder .RS 4 مشخص کردن نام(های) دستگاه رمزگشای CXL، شناسه(های) دستگاه، یا نام‌های نوع رمزگشا برای فیلتر کردن رمزگشا(های) خروجی. قالب نام یک رمزگشا به صورت "decoder." است. نام‌های نوع رمزگشای ممکن عبارتند از "root"، "switch" یا "endpoint"، مشابه با نحو فیلتر پورت. .RE .sp \-T, \-\-targets .RS 4 گسترش فهرست‌های رمزگشا با اطلاعات هدف پورت پایین‌دستی، فهرست‌های پورت و گذرگاه با اطلاعات پورت پایین‌دستی، و/یا نواحی با اطلاعات نگاشت. .RE .sp .if n .RS 4 .nf .fam C # cxl list \-BTu \-b ACPI.CXL { "bus":"root0", "provider":"ACPI.CXL", "nr_dports":1, "dports":[ { "dport":"ACPI0016:00", "alias":"pci0000:34", "id":"0" } ] } .fam .fi .if n .RE .sp \-R, \-\-regions .RS 4 گنجاندن اشیاء ناحیه (region) در فهرست خروجی. .RE .sp .if n .RS 4 .nf .fam C # cxl list \-R { "region":"region0", "resource":277025390592, "size":549755813888, "extended_linear_cache_size":274877906944, "type":"ram", "interleave_ways":2, "interleave_granularity":256, "decode_state":"commit", "qos_class_mismatch":true } .fam .fi .if n .RE .sp \-X, \-\-dax .RS 4 افزودن اطلاعات DAX به فهرست‌های ناحیه. .RE .sp .if n .RS 4 .nf .fam C # cxl list \-RXu { "region":"region4", "resource":"0xf010000000", "size":"512.00 MiB (536.87 MB)", "interleave_ways":2, "interleave_granularity":4096, "decode_state":"commit", "daxregion":{ "id":4, "size":"512.00 MiB (536.87 MB)", "align":2097152, "devices":[ { "chardev":"dax4.0", "size":"512.00 MiB (536.87 MB)", "target_node":0, "align":2097152, "mode":"system\-ram", "online_memblocks":0, "total_memblocks":4 } ] } } .fam .fi .if n .RE .sp \-r, \-\-region .RS 4 مشخص کردن نام(های) دستگاه ناحیه CXL، یا شناسه(های) دستگاه، برای فیلتر کردن فهرست خروجی. .RE .sp \-L, \-\-media\-errors .RS 4 گنجاندن اطلاعات خطای رسانه (media\-error). فهرست poison از دستگاه(ها) دریافت شده و رکوردهای media_error به فهرست اضافه می‌شوند. این گزینه را برای memdevها و نواحی اعمال کنید که در آن‌ها دستگاه‌ها از قابلیت فهرست poison پشتیبانی می‌کنند. مقدار "offset:" هنگام فهرست کردن بر اساس ناحیه نسبت به منبع ناحیه سنجیده می‌شود و هنگام فهرست کردن بر اساس memdev، مقدار مطلق DPA دستگاه است. مقدار "source:" یکی از موارد زیر است: External، Internal، Injected، Vendor Specific، یا Unknown، همان‌طور که در جدول 8\-140 مشخصات CXL نسخه 3.1 تعریف شده است. .RE .sp گزینه media\-errors تنها با \fI\-Dlibtracefs=enabled\fP در دسترس است. .sp .if n .RS 4 .nf .fam C # cxl list \-m mem9 \-\-media\-errors \-u { "memdev":"mem9", "pmem_size":"1024.00 MiB (1073.74 MB)", "pmem_qos_class":42, "ram_size":"1024.00 MiB (1073.74 MB)", "ram_qos_class":42, "serial":"0x5", "numa_node":1, "host":"cxl_mem.5", "media_errors":[ { "offset":"0x40000000", "length":64, "source":"Injected" } ] } # cxl list \-r region5 \-\-media\-errors \-u { "region":"region5", "resource":"0xf110000000", "size":"2.00 GiB (2.15 GB)", "type":"pmem", "interleave_ways":2, "interleave_granularity":4096, "decode_state":"commit", "media_errors":[ { "offset":"0x1000", "length":64, "source":"Injected" }, { "offset":"0x2000", "length":64, "source":"Injected" } ] } .fam .fi .if n .RE .sp \-v, \-\-verbose .RS 4 افزایش سطح جزئیات خروجی. این گزینه را می‌توان چندین بار مشخص کرد تا خروجی اطلاعاتی و متفرقه با جزئیات بیشتری نمایش داده شود، و می‌تواند برای لغو فلگ‌های حذف‌شده جهت نمایش اطلاعات خاص استفاده شود. توجه داشته باشید که cxl list \-\-verbose \-\-verbose معادل cxl list \-vv است. .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fB\-v\fP فعال‌سازی \-\-memdevs، \-\-regions، \-\-buses، \-\-ports، \-\-decoders و \-\-targets. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fB\-vv\fP تمام آنچه \fB\-v\fP ارائه می‌دهد، به علاوه گنجاندن دستگاه‌های غیرفعال با \-\-idle. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fB\-vvv\fP تمام آنچه \fB\-vv\fP ارائه می‌دهد، به علاوه فعال‌سازی \-\-health، \-\-partition و \-\-media\-errors. .RE .RE .sp \-\-debug .RS 4 اگر ابزار cxl با قابلیت اشکال‌زدایی فعال ساخته شده باشد، پیام‌های اشکال‌زدایی را روشن می‌کند. .RE .sp \-u, \-\-human .RS 4 به‌طور پیش‌فرض این دستور داده‌ها را به صورت اعداد صحیح خام و مناسب ماشین نمایش می‌دهد. در مقابل، با این فلگ، اعداد نشان‌دهنده اندازه فضای ذخیره‌سازی به صورت رشته‌های خوانا برای انسان به همراه یکاها قالب‌بندی می‌شوند و سایر فیلدها به رشته‌های هگزادسیمال تبدیل می‌گردند. .RE .SH "حق نشر (COPYRIGHT)" .sp حق نشر \(co 2016 \- 2022، شرکت اینتل (Intel Corporation). مجوز GPLv2: گنو GPL نسخه ۲ \c .URL "http://gnu.org/licenses/gpl.html" "" "." این نرم‌افزار آزاد است: شما مجاز به تغییر و توزیع مجدد آن هستید. هیچ ضمانتی وجود ندارد، تا حدی که قانون مجاز دانسته است. .SH "همچنین ببینید (SEE ALSO)" .sp ndctl\-list(1)