'\" t .\" Title: cxl-inject-protocol-error .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-06-30 .\" Manual: cxl Manual .\" Source: cxl .\" Language: English .\" .TH "CXL\-INJECT\-PROTOCOL\-ERROR" "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-inject-protocol-error \- تزریق خطاهای پروتکل CXL به درگاه‌های پایین‌دست CXL .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fIcxl inject\-protocol\-error\fP [] .fi .br .if n .sp .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 .B هشدار .ps -1 .br .sp تزریق خطا می‌تواند موجب ناپایداری سیستم شود و تنها باید برای اشکال‌زدایی جریان‌های بازیابی خطای سخت‌افزاری و نرم‌افزاری به کار رود. با مسئولیت خودتان استفاده کنید! .sp .5v .RE .sp یک خطای پروتکل CXL را به یک درگاه پایین‌دست (dport) CXL تزریق می‌کند. درگاه‌های پایین‌دستی که از تزریق خطا پشتیبانی می‌کنند، مقدار ویژگی \fIprotocol_injectable\fP آن‌ها در \fIcxl\-list\fP بر روی true تنظیم شده است. .sp گزینه‌های \fI\-p\fP/\fI\-\-protocol\fP و \fI\-s\fP/\fI\-\-severity\fP برای تزریق خطا الزامی هستند. گزینهٔ \fI\-p\fP برای مشخص کردن پروتکل CXL جهت تزریق خطا استفاده می‌شود؛ یعنی "mem" (CXL.mem) یا "cache" (CXL.cache). گزینهٔ \fI\-s\fP شدت خطا را مشخص می‌کند و می‌تواند یکی از این مقادیر باشد: "correctable"، "uncorrectable" یا "fatal". .sp انواع خطاها (و شدت‌های آن‌ها) که در دسترس هستند به پلتفرم بستگی دارد. برای یافتن انواع خطای قابل تزریق، ویژگی "injectable_protocol_errors" را در زیر شیء گذرگاه CXL مربوطه در خروجی \fIcxl\-list\fP بررسی کنید. برای مثال: .sp .if n .RS 4 .nf .fam C # cxl list \-B [ { "bus":"root0", "provider":"ACPI.CXL", "injectable_protocol_errors":[ "mem\-correctable", "mem\-fatal", ] } ] .fam .fi .if n .RE .sp درگاه پایین‌دست (dport) برای تزریق خطا توسط نام میزبان مشخص می‌شود (مثلاً "0000:0e:01.1"). در اینجا نمونه‌ای از تزریق با استفاده از فهرست گذرگاه در مثال بالا آمده است: .sp .if n .RS 4 .nf .fam C # cxl list \-TP [ { "port":"port1", "host":"pci0000:e0", "depth":1, "decoders_committed":1, "nr_dports":1, "dports":[ { "dport":"0000:e0:01.1", "alias":"device:02", "id":0, "protocol_injectable":true } ] } ] # cxl inject\-protocol\-error "0000:e0:01.1" \-p mem \-s correctable cxl inject\-protocol\-error: inject_proto_err: injected mem\-correctable protocol error. .fam .fi .if n .RE .sp تزریق خطای پروتکل CXL (CXL.cache/mem) مستلزم پشتیبانی پلتفرم از تزریق خطای ACPI نسخهٔ 6.5 به بالا (EINJ) است. علاوه‌بر پشتیبانی پلتفرم، گزینه‌های پیکربندی هسته CONFIG_ACPI_APEI_EINJ و CONFIG_ACPI_APEI_EINJ_CXL نیز باید فعال باشند. برای اطلاعات بیشتر، مستندات هستهٔ لینوکس را دربارهٔ EINJ مشاهده کنید. .sp این دستور برای تزریق خطاهای پروتکل به فایل‌سیستم اشکال‌زدایی CXL (که به‌طور معمول در "/sys/kernel/debug/cxl" سوار می‌شود) وابسته است. اگر debugfs مربوط به CXL قابل دسترس نباشد، ویژگی "protocol_injectable" درگاه‌های پایین‌دست همیشه بر روی false تنظیم خواهد شد، و ویژگی "injectable_protocol_errors" گذرگاه‌های CXL همیشه خالی خواهد بود. .SH "گزینه‌ها (OPTIONS)" .sp \-p, \-\-protocol .RS 4 پروتکل CXL مورد نظر برای تزریق خطا را مشخص می‌کند. می‌تواند "mem" (CXL.mem) یا "cache" (CXL.cache) باشد. .RE .sp \-s, \-\-severity .RS 4 سطح شدت خطای تزریقی. می‌تواند یکی از موارد زیر باشد: "correctable"، "uncorrectable" یا "fatal". .RE .sp \-\-debug .RS 4 فعال‌سازی خروجی اشکال‌زدایی. .RE .SH "همچنین ببینید (SEE ALSO)" .sp cxl\-list(1)