From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9B342E98DE0 for ; Mon, 23 Feb 2026 05:34:32 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 00D0810E223; Mon, 23 Feb 2026 05:34:32 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="M1As7xTC"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.16]) by gabe.freedesktop.org (Postfix) with ESMTPS id 31A2B10E227; Mon, 23 Feb 2026 05:34:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1771824871; x=1803360871; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Jdxsn+I2GHLaqKwKaZNfgFGh5u+ddEXwyDh6mu3rabs=; b=M1As7xTC/pbw3+nCfg8CB2imwvRmLZWVnn0SfCZ0mfD3iOalSU0WyRNQ 4OKDFATitGK//EliycYTQ8p7bJ0va178E7ilfRiOGdiCclA+6tfeaeKyV c7qDpP2kQa+y8QRDGAolfIBL+UOOlqb91JU230HwGC1qiKEej3MmqSj9Q +e28Wayp66Qay8z1z+rVnlMeaIyI47qfaQaKJvm9n1wApGnEFRFu7P57j +0QDn/qOr6x+GQUjXhbP0bgGPTB25pK7x/14taSaZ7ixEixOr1V51l+Yi VD8l+8jkVyKWkJDQIePsLD7DesF59aY9pfImg7AWYn31kc8rk1YXOl4UK A==; X-CSE-ConnectionGUID: OxN7DyD/RGyH30zjl2vQ8g== X-CSE-MsgGUID: kFBT+JUjTP2lj/9fOOcE4g== X-IronPort-AV: E=McAfee;i="6800,10657,11709"; a="72991516" X-IronPort-AV: E=Sophos;i="6.21,306,1763452800"; d="scan'208";a="72991516" Received: from orviesa001.jf.intel.com ([10.64.159.141]) by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Feb 2026 21:34:31 -0800 X-CSE-ConnectionGUID: AL3ljQU3SUqMjBP9ImI/VQ== X-CSE-MsgGUID: hM2FVPjTT+eP7quSQuWKhQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,306,1763452800"; d="scan'208";a="253175157" Received: from rtauro-desk.iind.intel.com ([10.190.238.50]) by smtpauth.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Feb 2026 21:34:27 -0800 From: Riana Tauro To: intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: aravind.iddamsetty@linux.intel.com, anshuman.gupta@intel.com, rodrigo.vivi@intel.com, joonas.lahtinen@linux.intel.com, simona.vetter@ffwll.ch, airlied@gmail.com, pratik.bari@intel.com, joshua.santosh.ranjan@intel.com, ashwin.kumar.kulkarni@intel.com, shubham.kumar@intel.com, ravi.kishore.koppuravuri@intel.com, raag.jadav@intel.com, anvesh.bakwad@intel.com, Riana Tauro , Himal Prasad Ghimiray Subject: [PATCH v8 4/5] drm/xe/xe_hw_error: Add support for Core-Compute errors Date: Mon, 23 Feb 2026 11:35:44 +0530 Message-ID: <20260223060541.526397-11-riana.tauro@intel.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20260223060541.526397-7-riana.tauro@intel.com> References: <20260223060541.526397-7-riana.tauro@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" UFZDIHN1cHBvcnRzIEdUIGVycm9yIHJlcG9ydGluZyB2aWEgdmVjdG9yIHJlZ2lzdGVycyBhbG9u ZyB3aXRoCmVycm9yIHN0YXR1cyByZWdpc3Rlci4gQWRkIHN1cHBvcnQgdG8gcmVwb3J0IHRoZXNl IGVycm9ycyBhbmQKdXBkYXRlIHJlc3BlY3RpdmUgY291bnRlcnMuIEluY2FzZSBvZiBTdWJzbGlj ZSBlcnJvciByZXBvcnRlZApieSB2ZWN0b3IgcmVnaXN0ZXIsIHByb2Nlc3MgdGhlIGVycm9yIHN0 YXR1cyByZWdpc3Rlcgpmb3IgYXBwbGljYWJsZSBiaXRzLgoKVGhlIGNvdW50ZXIgaXMgZW1iZWRk ZWQgaW4gdGhlIHhlIGRybSByYXMgc3RydWN0dXJlIGFuZCBpcwpleHBvc2VkIHRvIHRoZSB1c2Vy c3BhY2UgdXNpbmcgdGhlIGRybV9yYXMgZ2VuZXJpYyBuZXRsaW5rCmludGVyZmFjZS4KCiQgc3Vk byB5bmwgLS1mYW1pbHkgZHJtX3JhcyAtLWRvIGdldC1lcnJvci1jb3VudGVyIFwKLS1qc29uICd7 Im5vZGUtaWQiOjAsICJlcnJvci1pZCI6MX0nCnsnZXJyb3ItaWQnOiAxLCAnZXJyb3ItbmFtZSc6 ICdjb3JlLWNvbXB1dGUnLCAnZXJyb3ItdmFsdWUnOiAwfQoKQ28tZGV2ZWxvcGVkLWJ5OiBIaW1h bCBQcmFzYWQgR2hpbWlyYXkgPGhpbWFsLnByYXNhZC5naGltaXJheUBpbnRlbC5jb20+ClNpZ25l ZC1vZmYtYnk6IEhpbWFsIFByYXNhZCBHaGltaXJheSA8aGltYWwucHJhc2FkLmdoaW1pcmF5QGlu dGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogUmlhbmEgVGF1cm8gPHJpYW5hLnRhdXJvQGludGVsLmNv bT4KUmV2aWV3ZWQtYnk6IFJhYWcgSmFkYXYgPHJhYWcuamFkYXZAaW50ZWwuY29tPgotLS0KdjI6 IEFkZCBJRCdzIGFuZCBuYW1lcyBhcyB1QVBJIChSb2RyaWdvKQogICAgQWRkIGRvY3VtZW50YXRp b24KICAgIE1vZGlmeSBjb21taXQgbWVzc2FnZQoKdjM6IHJlbW92ZSAnZXJyb3InIGZyb20gY291 bnRlcnMKICAgIHVzZSBkcm1tX2tjYWxsb2MKICAgIGFkZCBhIGZvcl9lYWNoIGZvciBzZXZlcml0 eQogICAgZGlmZmVyZW50aXRhdGUgZXJyb3IgY2xhc3NlcyBhbmQgc2V2ZXJpdHkgaW4gVUFQSShS YWFnKQogICAgVXNlIGNvcnJlY3RhYmxlIGFuZCB1bmNvcnJlY3RhYmxlIGluIHVhcGkgKFByYXRp ayAvIEFyYXZpbmQpCgp2NDogbW9kaWZ5IGVudW1zIGluIFVBUEkKICAgIGltcHJvdmUgY29tbWVu dHMKICAgIGFkZCBib3VuZHMgY2hlY2sgaW4gaGFuZGxlcgogICAgYWRkIGVycm9yIG1hc2sgbWFj cm8gKFJhYWcpCiAgICB1c2UgYXRvbWljX3QKICAgIGFkZCBudWxsIHBvaW50ZXIgY2hlY2tzCgp2 NTogZml4IGFsaWdubWVudAogICAgcmVtb3ZlIGluZm8gY2hlY2sKICAgIGZpeCBjc2MgYml0IGNo ZWNrIChSYWFnKQoKdjY6IGFkZCBtYWNybyBmb3IgZ3QgdmVjdG9yIGxlbiAoUmFhZykKLS0tCiBk cml2ZXJzL2dwdS9kcm0veGUvcmVncy94ZV9od19lcnJvcl9yZWdzLmggfCAgNjEgKysrKysrLQog ZHJpdmVycy9ncHUvZHJtL3hlL3hlX2h3X2Vycm9yLmMgICAgICAgICAgIHwgMTk1ICsrKysrKysr KysrKysrKysrKystLQogMiBmaWxlcyBjaGFuZ2VkLCAyMzYgaW5zZXJ0aW9ucygrKSwgMjAgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3hlL3JlZ3MveGVfaHdfZXJy b3JfcmVncy5oIGIvZHJpdmVycy9ncHUvZHJtL3hlL3JlZ3MveGVfaHdfZXJyb3JfcmVncy5oCmlu ZGV4IGMxNDZiOWVmNDRlYi4uY2QxN2Q3ZDczNzJjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0veGUvcmVncy94ZV9od19lcnJvcl9yZWdzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3hlL3Jl Z3MveGVfaHdfZXJyb3JfcmVncy5oCkBAIC02LDE1ICs2LDU4IEBACiAjaWZuZGVmIF9YRV9IV19F UlJPUl9SRUdTX0hfCiAjZGVmaW5lIF9YRV9IV19FUlJPUl9SRUdTX0hfCiAKLSNkZWZpbmUgSEVD X1VOQ09SUl9FUlJfU1RBVFVTKGJhc2UpICAgICAgICAgICAgICAgICAgICBYRV9SRUcoKGJhc2Up ICsgMHgxMTgpCi0jZGVmaW5lICAgIFVOQ09SUl9GV19SRVBPUlRFRF9FUlIgICAgICAgICAgICAg ICAgICAgICAgQklUKDYpCisjZGVmaW5lIEhFQ19VTkNPUlJfRVJSX1NUQVRVUyhiYXNlKQkJCVhF X1JFRygoYmFzZSkgKyAweDExOCkKKyNkZWZpbmUgICBVTkNPUlJfRldfUkVQT1JURURfRVJSCQkJ UkVHX0JJVCg2KQogCi0jZGVmaW5lIEhFQ19VTkNPUlJfRldfRVJSX0RXMChiYXNlKSAgICAgICAg ICAgICAgICAgICAgWEVfUkVHKChiYXNlKSArIDB4MTI0KQorI2RlZmluZSBIRUNfVU5DT1JSX0ZX X0VSUl9EVzAoYmFzZSkJCQlYRV9SRUcoKGJhc2UpICsgMHgxMjQpCiAKLSNkZWZpbmUgREVWX0VS Ul9TVEFUX05PTkZBVEFMCQkJMHgxMDAxNzgKLSNkZWZpbmUgREVWX0VSUl9TVEFUX0NPUlJFQ1RB QkxFCQkweDEwMDE3YwotI2RlZmluZSBERVZfRVJSX1NUQVRfUkVHKHgpCQkJWEVfUkVHKF9QSUNL X0VWRU4oKHgpLCBcCi0JCQkJCQkJCSAgREVWX0VSUl9TVEFUX0NPUlJFQ1RBQkxFLCBcCi0JCQkJ CQkJCSAgREVWX0VSUl9TVEFUX05PTkZBVEFMKSkKLSNkZWZpbmUgICBYRV9DU0NfRVJST1IJCQkJ QklUKDE3KQorI2RlZmluZSBFUlJfU1RBVF9HVF9DT1IJCQkJCTB4MTAwMTYwCisjZGVmaW5lICAg RVVfR1JGX0NPUl9FUlIJCQkJUkVHX0JJVCgxNSkKKyNkZWZpbmUgICBFVV9JQ19DT1JfRVJSCQkJ CQlSRUdfQklUKDE0KQorI2RlZmluZSAgIFNMTV9DT1JfRVJSCQkJCQlSRUdfQklUKDEzKQorI2Rl ZmluZSAgIEdVQ19DT1JfRVJSCQkJCQlSRUdfQklUKDEpCisKKyNkZWZpbmUgRVJSX1NUQVRfR1Rf Tk9ORkFUQUwJCQkJMHgxMDAxNjQKKyNkZWZpbmUgRVJSX1NUQVRfR1RfRkFUQUwJCQkJMHgxMDAx NjgKKyNkZWZpbmUgICBFVV9HUkZfRkFUX0VSUgkJCQlSRUdfQklUKDE1KQorI2RlZmluZSAgIFNM TV9GQVRfRVJSCQkJCQlSRUdfQklUKDEzKQorI2RlZmluZSAgIEdVQ19GQVRfRVJSCQkJCQlSRUdf QklUKDYpCisjZGVmaW5lICAgRlBVX0ZBVF9FUlIJCQkJCVJFR19CSVQoMykKKworI2RlZmluZSBF UlJfU1RBVF9HVF9SRUcoeCkJCQkJWEVfUkVHKF9QSUNLX0VWRU4oKHgpLCBcCisJCQkJCQkJCQkg IEVSUl9TVEFUX0dUX0NPUiwgXAorCQkJCQkJCQkJICBFUlJfU1RBVF9HVF9OT05GQVRBTCkpCisK KyNkZWZpbmUgUFZDX0NPUl9FUlJfTUFTSwkJCQkoR1VDX0NPUl9FUlIgfCBTTE1fQ09SX0VSUiB8 IFwKKwkJCQkJCQkgRVVfSUNfQ09SX0VSUiB8IEVVX0dSRl9DT1JfRVJSKQorCisjZGVmaW5lIFBW Q19GQVRfRVJSX01BU0sJCQkJKEZQVV9GQVRfRVJSIHwgR1VDX0ZBVF9FUlIgfCBcCisJCQkJCQkJ IEVVX0dSRl9GQVRfRVJSIHwgU0xNX0ZBVF9FUlIpCisKKyNkZWZpbmUgREVWX0VSUl9TVEFUX05P TkZBVEFMCQkJCTB4MTAwMTc4CisjZGVmaW5lIERFVl9FUlJfU1RBVF9DT1JSRUNUQUJMRQkJCTB4 MTAwMTdjCisjZGVmaW5lIERFVl9FUlJfU1RBVF9SRUcoeCkJCQkJWEVfUkVHKF9QSUNLX0VWRU4o KHgpLCBcCisJCQkJCQkJCQkgIERFVl9FUlJfU1RBVF9DT1JSRUNUQUJMRSwgXAorCQkJCQkJCQkJ ICBERVZfRVJSX1NUQVRfTk9ORkFUQUwpKQorCisjZGVmaW5lICAgWEVfQ1NDX0VSUk9SCQkJCQkx NworI2RlZmluZSAgIFhFX0dUX0VSUk9SCQkJCQkwCisKKyNkZWZpbmUgRVJSX1NUQVRfR1RfRkFU QUxfVkVDVE9SXzAJCQkweDEwMDI2MAorI2RlZmluZSBFUlJfU1RBVF9HVF9GQVRBTF9WRUNUT1Jf MQkJCTB4MTAwMjY0CisKKyNkZWZpbmUgRVJSX1NUQVRfR1RfRkFUQUxfVkVDVE9SX1JFRyh4KQkJ CVhFX1JFRyhfUElDS19FVkVOKCh4KSwgXAorCQkJCQkJCQkJICBFUlJfU1RBVF9HVF9GQVRBTF9W RUNUT1JfMCwgXAorCQkJCQkJCQkJICBFUlJfU1RBVF9HVF9GQVRBTF9WRUNUT1JfMSkpCisKKyNk ZWZpbmUgRVJSX1NUQVRfR1RfQ09SX1ZFQ1RPUl8wCQkJMHgxMDAyYTAKKyNkZWZpbmUgRVJSX1NU QVRfR1RfQ09SX1ZFQ1RPUl8xCQkJMHgxMDAyYTQKKworI2RlZmluZSBFUlJfU1RBVF9HVF9DT1Jf VkVDVE9SX1JFRyh4KQkJCVhFX1JFRyhfUElDS19FVkVOKCh4KSwgXAorCQkJCQkJCQkJICBFUlJf U1RBVF9HVF9DT1JfVkVDVE9SXzAsIFwKKwkJCQkJCQkJCSAgRVJSX1NUQVRfR1RfQ09SX1ZFQ1RP Ul8xKSkKKworI2RlZmluZSBFUlJfU1RBVF9HVF9WRUNUT1JfUkVHKGh3X2VyciwgeCkJCShod19l cnIgPT0gSEFSRFdBUkVfRVJST1JfQ09SUkVDVEFCTEUgPyBcCisJCQkJCQkJIEVSUl9TVEFUX0dU X0NPUl9WRUNUT1JfUkVHKHgpIDogXAorCQkJCQkJCSBFUlJfU1RBVF9HVF9GQVRBTF9WRUNUT1Jf UkVHKHgpKQogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZXJy b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS94ZS94ZV9od19lcnJvci5jCmluZGV4IGJhYWUwNTAxNjNk Zi4uODA2MmE2ZmY5OGE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZXJy b3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0veGUveGVfaHdfZXJyb3IuYwpAQCAtMyw2ICszLDcg QEAKICAqIENvcHlyaWdodCDCqSAyMDI1IEludGVsIENvcnBvcmF0aW9uCiAgKi8KIAorI2luY2x1 ZGUgPGxpbnV4L2JpdG1hcC5oPgogI2luY2x1ZGUgPGxpbnV4L2ZhdWx0LWluamVjdC5oPgogCiAj aW5jbHVkZSAicmVncy94ZV9nc2NfcmVncy5oIgpAQCAtMTUsNyArMTYsMTMgQEAKICNpbmNsdWRl ICJ4ZV9tbWlvLmgiCiAjaW5jbHVkZSAieGVfc3Vydml2YWJpbGl0eV9tb2RlLmgiCiAKLSNkZWZp bmUgIEhFQ19VTkNPUlJfRldfRVJSX0JJVFMgNAorI2RlZmluZSBHVF9IV19FUlJPUl9NQVhfRVJS X0JJVFMJCTE2CisjZGVmaW5lIEhFQ19VTkNPUlJfRldfRVJSX0JJVFMJCQk0CisjZGVmaW5lIFhF X1JBU19SRUdfU0laRQkJCQkzMgorCisjZGVmaW5lIFBWQ19FUlJPUl9NQVNLX1NFVChod19lcnIs IGVycl9iaXQpCSgoaHdfZXJyID09IEhBUkRXQVJFX0VSUk9SX0NPUlJFQ1RBQkxFKSA/IFwKKwkJ CQkJCSAoUFZDX0NPUl9FUlJfTUFTSyAmIFJFR19CSVQoZXJyX2JpdCkpIDogXAorCQkJCQkJIChQ VkNfRkFUX0VSUl9NQVNLICYgUkVHX0JJVChlcnJfYml0KSkpCiAKIGV4dGVybiBzdHJ1Y3QgZmF1 bHRfYXR0ciBpbmplY3RfY3NjX2h3X2Vycm9yOwogCkBAIC0yOCwxMCArMzUsMjQgQEAgc3RhdGlj IGNvbnN0IGNoYXIgKiBjb25zdCBoZWNfdW5jb3JyZWN0ZWRfZndfZXJyb3JzW10gPSB7CiAJIkRh dGEgQ29ycnVwdGlvbiIKIH07CiAKLXN0YXRpYyBib29sIGZhdWx0X2luamVjdF9jc2NfaHdfZXJy b3Iodm9pZCkKLXsKLQlyZXR1cm4gSVNfRU5BQkxFRChDT05GSUdfREVCVUdfRlMpICYmIHNob3Vs ZF9mYWlsKCZpbmplY3RfY3NjX2h3X2Vycm9yLCAxKTsKLX0KK3N0YXRpYyBjb25zdCB1bnNpZ25l ZCBsb25nIHhlX2h3X2Vycm9yX21hcFtdID0geworCVtYRV9HVF9FUlJPUl0JPSBEUk1fWEVfUkFT X0VSUl9DT01QX0NPUkVfQ09NUFVURSwKK307CisKK2VudW0gZ3RfdmVjdG9yX3JlZ3MgeworCUVS Ul9TVEFUX0dUX1ZFQ1RPUjAgPSAwLAorCUVSUl9TVEFUX0dUX1ZFQ1RPUjEsCisJRVJSX1NUQVRf R1RfVkVDVE9SMiwKKwlFUlJfU1RBVF9HVF9WRUNUT1IzLAorCUVSUl9TVEFUX0dUX1ZFQ1RPUjQs CisJRVJSX1NUQVRfR1RfVkVDVE9SNSwKKwlFUlJfU1RBVF9HVF9WRUNUT1I2LAorCUVSUl9TVEFU X0dUX1ZFQ1RPUjcsCisJRVJSX1NUQVRfR1RfVkVDVE9SX01BWAorfTsKKworI2RlZmluZSBQVkNf R1RfVkVDVE9SX0xFTihod19lcnIpCSgoaHdfZXJyID09IEhBUkRXQVJFX0VSUk9SX0NPUlJFQ1RB QkxFKSA/IFwKKwkJCQkJIEVSUl9TVEFUX0dUX1ZFQ1RPUjQgOiBFUlJfU1RBVF9HVF9WRUNUT1Jf TUFYKQogCiBzdGF0aWMgZW51bSBkcm1feGVfcmFzX2Vycm9yX3NldmVyaXR5IGh3X2Vycl90b19z ZXZlcml0eShjb25zdCBlbnVtIGhhcmR3YXJlX2Vycm9yIGh3X2VycikKIHsKQEAgLTQyLDYgKzYz LDExIEBAIHN0YXRpYyBlbnVtIGRybV94ZV9yYXNfZXJyb3Jfc2V2ZXJpdHkgaHdfZXJyX3RvX3Nl dmVyaXR5KGNvbnN0IGVudW0gaGFyZHdhcmVfZXJyCiAJcmV0dXJuIERSTV9YRV9SQVNfRVJSX1NF Vl9VTkNPUlJFQ1RBQkxFOwogfQogCitzdGF0aWMgYm9vbCBmYXVsdF9pbmplY3RfY3NjX2h3X2Vy cm9yKHZvaWQpCit7CisJcmV0dXJuIElTX0VOQUJMRUQoQ09ORklHX0RFQlVHX0ZTKSAmJiBzaG91 bGRfZmFpbCgmaW5qZWN0X2NzY19od19lcnJvciwgMSk7Cit9CisKIHN0YXRpYyB2b2lkIGNzY19o d19lcnJvcl93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIHsKIAlzdHJ1Y3QgeGVfdGls ZSAqdGlsZSA9IGNvbnRhaW5lcl9vZih3b3JrLCB0eXBlb2YoKnRpbGUpLCBjc2NfaHdfZXJyb3Jf d29yayk7CkBAIC04OSwxNSArMTE1LDExOSBAQCBzdGF0aWMgdm9pZCBjc2NfaHdfZXJyb3JfaGFu ZGxlcihzdHJ1Y3QgeGVfdGlsZSAqdGlsZSwgY29uc3QgZW51bSBoYXJkd2FyZV9lcnJvcgogCXhl X21taW9fd3JpdGUzMihtbWlvLCBIRUNfVU5DT1JSX0VSUl9TVEFUVVMoYmFzZSksIGVycl9zcmMp OwogfQogCitzdGF0aWMgdm9pZCBsb2dfaHdfZXJyb3Ioc3RydWN0IHhlX3RpbGUgKnRpbGUsIGNv bnN0IGNoYXIgKm5hbWUsCisJCQkgY29uc3QgZW51bSBkcm1feGVfcmFzX2Vycm9yX3NldmVyaXR5 IHNldmVyaXR5KQoreworCWNvbnN0IGNoYXIgKnNldmVyaXR5X3N0ciA9IGVycm9yX3NldmVyaXR5 W3NldmVyaXR5XTsKKwlzdHJ1Y3QgeGVfZGV2aWNlICp4ZSA9IHRpbGVfdG9feGUodGlsZSk7CisK KwlpZiAoc2V2ZXJpdHkgPT0gRFJNX1hFX1JBU19FUlJfU0VWX0NPUlJFQ1RBQkxFKQorCQlkcm1f d2FybigmeGUtPmRybSwgIiVzICVzIGRldGVjdGVkXG4iLCBuYW1lLCBzZXZlcml0eV9zdHIpOwor CWVsc2UKKwkJZHJtX2Vycl9yYXRlbGltaXRlZCgmeGUtPmRybSwgIiVzICVzIGRldGVjdGVkXG4i LCBuYW1lLCBzZXZlcml0eV9zdHIpOworfQorCitzdGF0aWMgdm9pZCBsb2dfZ3RfZXJyKHN0cnVj dCB4ZV90aWxlICp0aWxlLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgaSwgdTMyIGVyciwKKwkJICAg ICAgIGNvbnN0IGVudW0gZHJtX3hlX3Jhc19lcnJvcl9zZXZlcml0eSBzZXZlcml0eSkKK3sKKwlj b25zdCBjaGFyICpzZXZlcml0eV9zdHIgPSBlcnJvcl9zZXZlcml0eVtzZXZlcml0eV07CisJc3Ry dWN0IHhlX2RldmljZSAqeGUgPSB0aWxlX3RvX3hlKHRpbGUpOworCisJaWYgKHNldmVyaXR5ID09 IERSTV9YRV9SQVNfRVJSX1NFVl9DT1JSRUNUQUJMRSkKKwkJZHJtX3dhcm4oJnhlLT5kcm0sICIl cyAlcyBkZXRlY3RlZCwgRVJST1JfU1RBVF9HVF9WRUNUT1IlZDoweCUwOHhcbiIsCisJCQkgbmFt ZSwgc2V2ZXJpdHlfc3RyLCBpLCBlcnIpOworCWVsc2UKKwkJZHJtX2Vycl9yYXRlbGltaXRlZCgm eGUtPmRybSwgIiVzICVzIGRldGVjdGVkLCBFUlJPUl9TVEFUX0dUX1ZFQ1RPUiVkOjB4JTA4eFxu IiwKKwkJCQkgICAgbmFtZSwgc2V2ZXJpdHlfc3RyLCBpLCBlcnIpOworfQorCitzdGF0aWMgdm9p ZCBndF9od19lcnJvcl9oYW5kbGVyKHN0cnVjdCB4ZV90aWxlICp0aWxlLCBjb25zdCBlbnVtIGhh cmR3YXJlX2Vycm9yIGh3X2VyciwKKwkJCQl1MzIgZXJyb3JfaWQpCit7CisJY29uc3QgZW51bSBk cm1feGVfcmFzX2Vycm9yX3NldmVyaXR5IHNldmVyaXR5ID0gaHdfZXJyX3RvX3NldmVyaXR5KGh3 X2Vycik7CisJc3RydWN0IHhlX2RldmljZSAqeGUgPSB0aWxlX3RvX3hlKHRpbGUpOworCXN0cnVj dCB4ZV9kcm1fcmFzICpyYXMgPSAmeGUtPnJhczsKKwlzdHJ1Y3QgeGVfZHJtX3Jhc19jb3VudGVy ICppbmZvID0gcmFzLT5pbmZvW3NldmVyaXR5XTsKKwlzdHJ1Y3QgeGVfbW1pbyAqbW1pbyA9ICZ0 aWxlLT5tbWlvOworCXVuc2lnbmVkIGxvbmcgZXJyX3N0YXQgPSAwOworCWludCBpOworCisJaWYg KHhlLT5pbmZvLnBsYXRmb3JtICE9IFhFX1BWQykKKwkJcmV0dXJuOworCisJaWYgKGh3X2VyciA9 PSBIQVJEV0FSRV9FUlJPUl9OT05GQVRBTCkgeworCQlhdG9taWNfaW5jKCZpbmZvW2Vycm9yX2lk XS5jb3VudGVyKTsKKwkJbG9nX2h3X2Vycm9yKHRpbGUsIGluZm9bZXJyb3JfaWRdLm5hbWUsIHNl dmVyaXR5KTsKKwkJcmV0dXJuOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBQVkNfR1RfVkVDVE9S X0xFTihod19lcnIpOyBpKyspIHsKKwkJdTMyIHZlY3RvciwgdmFsOworCisJCXZlY3RvciA9IHhl X21taW9fcmVhZDMyKG1taW8sIEVSUl9TVEFUX0dUX1ZFQ1RPUl9SRUcoaHdfZXJyLCBpKSk7CisJ CWlmICghdmVjdG9yKQorCQkJY29udGludWU7CisKKwkJc3dpdGNoIChpKSB7CisJCWNhc2UgRVJS X1NUQVRfR1RfVkVDVE9SMDoKKwkJY2FzZSBFUlJfU1RBVF9HVF9WRUNUT1IxOiB7CisJCQl1MzIg ZXJyYml0OworCisJCQl2YWwgPSBod2VpZ2h0MzIodmVjdG9yKTsKKwkJCWF0b21pY19hZGQodmFs LCAmaW5mb1tlcnJvcl9pZF0uY291bnRlcik7CisJCQlsb2dfZ3RfZXJyKHRpbGUsICJTdWJzbGlj ZSIsIGksIHZlY3Rvciwgc2V2ZXJpdHkpOworCisJCQkvKgorCQkJICogRXJyb3Igc3RhdHVzIHJl Z2lzdGVyIGlzIG9ubHkgcG9wdWxhdGVkIG9uY2UgcGVyIGVycm9yLgorCQkJICogUmVhZCB0aGUg cmVnaXN0ZXIgYW5kIGNsZWFyIG9uY2UuCisJCQkgKi8KKwkJCWlmIChlcnJfc3RhdCkKKwkJCQli cmVhazsKKworCQkJZXJyX3N0YXQgPSB4ZV9tbWlvX3JlYWQzMihtbWlvLCBFUlJfU1RBVF9HVF9S RUcoaHdfZXJyKSk7CisJCQlmb3JfZWFjaF9zZXRfYml0KGVycmJpdCwgJmVycl9zdGF0LCBHVF9I V19FUlJPUl9NQVhfRVJSX0JJVFMpIHsKKwkJCQlpZiAoUFZDX0VSUk9SX01BU0tfU0VUKGh3X2Vy ciwgZXJyYml0KSkKKwkJCQkJYXRvbWljX2luYygmaW5mb1tlcnJvcl9pZF0uY291bnRlcik7CisJ CQl9CisJCQlpZiAoZXJyX3N0YXQpCisJCQkJeGVfbW1pb193cml0ZTMyKG1taW8sIEVSUl9TVEFU X0dUX1JFRyhod19lcnIpLCBlcnJfc3RhdCk7CisJCQlicmVhazsKKwkJfQorCQljYXNlIEVSUl9T VEFUX0dUX1ZFQ1RPUjI6CisJCWNhc2UgRVJSX1NUQVRfR1RfVkVDVE9SMzoKKwkJCXZhbCA9IGh3 ZWlnaHQzMih2ZWN0b3IpOworCQkJYXRvbWljX2FkZCh2YWwsICZpbmZvW2Vycm9yX2lkXS5jb3Vu dGVyKTsKKwkJCWxvZ19ndF9lcnIodGlsZSwgIkwzIEJBTksiLCBpLCB2ZWN0b3IsIHNldmVyaXR5 KTsKKwkJCWJyZWFrOworCQljYXNlIEVSUl9TVEFUX0dUX1ZFQ1RPUjY6CisJCQl2YWwgPSBod2Vp Z2h0MzIodmVjdG9yKTsKKwkJCWF0b21pY19hZGQodmFsLCAmaW5mb1tlcnJvcl9pZF0uY291bnRl cik7CisJCQlsb2dfZ3RfZXJyKHRpbGUsICJUTEIiLCBpLCB2ZWN0b3IsIHNldmVyaXR5KTsKKwkJ CWJyZWFrOworCQljYXNlIEVSUl9TVEFUX0dUX1ZFQ1RPUjc6CisJCQl2YWwgPSBod2VpZ2h0MzIo dmVjdG9yKTsKKwkJCWF0b21pY19hZGQodmFsLCAmaW5mb1tlcnJvcl9pZF0uY291bnRlcik7CisJ CQlsb2dfZ3RfZXJyKHRpbGUsICJMMyBGYWJyaWMiLCBpLCB2ZWN0b3IsIHNldmVyaXR5KTsKKwkJ CWJyZWFrOworCQlkZWZhdWx0OgorCQkJbG9nX2d0X2Vycih0aWxlLCAiVW5kZWZpbmVkIiwgaSwg dmVjdG9yLCBzZXZlcml0eSk7CisJCX0KKworCQl4ZV9tbWlvX3dyaXRlMzIobW1pbywgRVJSX1NU QVRfR1RfVkVDVE9SX1JFRyhod19lcnIsIGkpLCB2ZWN0b3IpOworCX0KK30KKwogc3RhdGljIHZv aWQgaHdfZXJyb3Jfc291cmNlX2hhbmRsZXIoc3RydWN0IHhlX3RpbGUgKnRpbGUsIGNvbnN0IGVu dW0gaGFyZHdhcmVfZXJyb3IgaHdfZXJyKQogewogCWNvbnN0IGVudW0gZHJtX3hlX3Jhc19lcnJv cl9zZXZlcml0eSBzZXZlcml0eSA9IGh3X2Vycl90b19zZXZlcml0eShod19lcnIpOwogCWNvbnN0 IGNoYXIgKnNldmVyaXR5X3N0ciA9IGVycm9yX3NldmVyaXR5W3NldmVyaXR5XTsKIAlzdHJ1Y3Qg eGVfZGV2aWNlICp4ZSA9IHRpbGVfdG9feGUodGlsZSk7Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsK LQl1MzIgZXJyX3NyYzsKKwlzdHJ1Y3QgeGVfZHJtX3JhcyAqcmFzID0gJnhlLT5yYXM7CisJc3Ry dWN0IHhlX2RybV9yYXNfY291bnRlciAqaW5mbyA9IHJhcy0+aW5mb1tzZXZlcml0eV07CisJdW5z aWduZWQgbG9uZyBmbGFncywgZXJyX3NyYzsKKwl1MzIgZXJyX2JpdDsKIAotCWlmICh4ZS0+aW5m by5wbGF0Zm9ybSAhPSBYRV9CQVRUTEVNQUdFKQorCWlmICghSVNfREdGWCh4ZSkpCiAJCXJldHVy bjsKIAogCXNwaW5fbG9ja19pcnFzYXZlKCZ4ZS0+aXJxLmxvY2ssIGZsYWdzKTsKQEAgLTEwOCwx MSArMjM4LDUzIEBAIHN0YXRpYyB2b2lkIGh3X2Vycm9yX3NvdXJjZV9oYW5kbGVyKHN0cnVjdCB4 ZV90aWxlICp0aWxlLCBjb25zdCBlbnVtIGhhcmR3YXJlX2VyCiAJCWdvdG8gdW5sb2NrOwogCX0K IAotCWlmIChlcnJfc3JjICYgWEVfQ1NDX0VSUk9SKQorCS8qCisJICogT24gZW5jb3VudGVyaW5n IENTQyBmaXJtd2FyZSBlcnJvcnMsIHRoZSBncmFwaGljcyBkZXZpY2UgYmVjb21lcyB1bnJlY292 ZXJhYmxlCisJICogc28gcmV0dXJuIGltbWVkaWF0ZWx5IG9uIGVycm9yLiBUaGUgb25seSB3YXkg dG8gcmVjb3ZlciBmcm9tIHRoZXNlIGVycm9ycyBpcworCSAqIGZpcm13YXJlIGZsYXNoLiBUaGUg ZGV2aWNlIHdpbGwgZW50ZXIgUnVudGltZSBTdXJ2aXZhYmlsaXR5IG1vZGUgd2hlbiBzdWNoCisJ ICogZXJyb3JzIGFyZSBkZXRlY3RlZC4KKwkgKi8KKwlpZiAoZXJyX3NyYyAmIFJFR19CSVQoWEVf Q1NDX0VSUk9SKSkgewogCQljc2NfaHdfZXJyb3JfaGFuZGxlcih0aWxlLCBod19lcnIpOworCQln b3RvIGNsZWFyX3JlZzsKKwl9CiAKLQl4ZV9tbWlvX3dyaXRlMzIoJnRpbGUtPm1taW8sIERFVl9F UlJfU1RBVF9SRUcoaHdfZXJyKSwgZXJyX3NyYyk7CisJaWYgKCFpbmZvKQorCQlnb3RvIGNsZWFy X3JlZzsKKworCWZvcl9lYWNoX3NldF9iaXQoZXJyX2JpdCwgJmVycl9zcmMsIFhFX1JBU19SRUdf U0laRSkgeworCQljb25zdCBjaGFyICpuYW1lOworCQl1MzIgZXJyb3JfaWQ7CisKKwkJLyogQ2hl Y2sgZXJyb3IgYml0IGlzIHdpdGhpbiBib3VuZHMgKi8KKwkJaWYgKGVycl9iaXQgPj0gQVJSQVlf U0laRSh4ZV9od19lcnJvcl9tYXApKQorCQkJYnJlYWs7CisKKwkJZXJyb3JfaWQgPSB4ZV9od19l cnJvcl9tYXBbZXJyX2JpdF07CisKKwkJLyogQ2hlY2sgZXJyb3IgY29tcG9uZW50IGlzIHdpdGhp biBtYXggKi8KKwkJaWYgKCFlcnJvcl9pZCB8fCBlcnJvcl9pZCA+PSBEUk1fWEVfUkFTX0VSUl9D T01QX01BWCkKKwkJCWNvbnRpbnVlOwogCisJCW5hbWUgPSBpbmZvW2Vycm9yX2lkXS5uYW1lOwor CQlpZiAoIW5hbWUpCisJCQljb250aW51ZTsKKworCQlpZiAoc2V2ZXJpdHkgPT0gRFJNX1hFX1JB U19FUlJfU0VWX0NPUlJFQ1RBQkxFKSB7CisJCQlkcm1fd2FybigmeGUtPmRybSwgSFdfRVJSCisJ CQkJICJUSUxFJWQgcmVwb3J0ZWQgJXMgJXMsIGJpdFslZF0gaXMgc2V0XG4iLAorCQkJCSB0aWxl LT5pZCwgbmFtZSwgc2V2ZXJpdHlfc3RyLCBlcnJfYml0KTsKKwkJfSBlbHNlIHsKKwkJCWRybV9l cnJfcmF0ZWxpbWl0ZWQoJnhlLT5kcm0sIEhXX0VSUgorCQkJCQkgICAgIlRJTEUlZCByZXBvcnRl ZCAlcyAlcywgYml0WyVkXSBpcyBzZXRcbiIsCisJCQkJCSAgICB0aWxlLT5pZCwgbmFtZSwgc2V2 ZXJpdHlfc3RyLCBlcnJfYml0KTsKKwkJfQorCQlpZiAoZXJyX2JpdCA9PSBYRV9HVF9FUlJPUikK KwkJCWd0X2h3X2Vycm9yX2hhbmRsZXIodGlsZSwgaHdfZXJyLCBlcnJvcl9pZCk7CisJfQorCitj bGVhcl9yZWc6CisJeGVfbW1pb193cml0ZTMyKCZ0aWxlLT5tbWlvLCBERVZfRVJSX1NUQVRfUkVH KGh3X2VyciksIGVycl9zcmMpOwogdW5sb2NrOgogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnhl LT5pcnEubG9jaywgZmxhZ3MpOwogfQpAQCAtMTM0LDkgKzMwNiwxMCBAQCB2b2lkIHhlX2h3X2Vy cm9yX2lycV9oYW5kbGVyKHN0cnVjdCB4ZV90aWxlICp0aWxlLCBjb25zdCB1MzIgbWFzdGVyX2N0 bCkKIAlpZiAoZmF1bHRfaW5qZWN0X2NzY19od19lcnJvcigpKQogCQlzY2hlZHVsZV93b3JrKCZ0 aWxlLT5jc2NfaHdfZXJyb3Jfd29yayk7CiAKLQlmb3IgKGh3X2VyciA9IDA7IGh3X2VyciA8IEhB UkRXQVJFX0VSUk9SX01BWDsgaHdfZXJyKyspCisJZm9yIChod19lcnIgPSAwOyBod19lcnIgPCBI QVJEV0FSRV9FUlJPUl9NQVg7IGh3X2VycisrKSB7CiAJCWlmIChtYXN0ZXJfY3RsICYgRVJST1Jf SVJRKGh3X2VycikpCiAJCQlod19lcnJvcl9zb3VyY2VfaGFuZGxlcih0aWxlLCBod19lcnIpOwor CX0KIH0KIAogc3RhdGljIGludCBod19lcnJvcl9pbmZvX2luaXQoc3RydWN0IHhlX2RldmljZSAq eGUpCi0tIAoyLjQ3LjEKCg==