From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oded Gabbay Subject: [PATCH 09/11] drm/amdkfd: Implement address watch debugger IOCTL Date: Thu, 21 May 2015 00:29:06 +0300 Message-ID: <1432157348-26686-10-git-send-email-oded.gabbay@gmail.com> References: <1432157348-26686-1-git-send-email-oded.gabbay@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wg0-f50.google.com (mail-wg0-f50.google.com [74.125.82.50]) by gabe.freedesktop.org (Postfix) with ESMTP id 19DE16E7A7 for ; Wed, 20 May 2015 14:29:33 -0700 (PDT) Received: by wghq2 with SMTP id q2so66217359wgh.1 for ; Wed, 20 May 2015 14:29:32 -0700 (PDT) In-Reply-To: <1432157348-26686-1-git-send-email-oded.gabbay@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, alexdeucher@gmail.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogWWFpciBTaGFjaGFyIDx5YWlyLnNoYWNoYXJAYW1kLmNvbT4KClNpZ25lZC1vZmYtYnk6 IFlhaXIgU2hhY2hhciA8eWFpci5zaGFjaGFyQGFtZC5jb20+ClNpZ25lZC1vZmYtYnk6IE9kZWQg R2FiYmF5IDxvZGVkLmdhYmJheUBnbWFpbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRrZmQva2ZkX2NoYXJkZXYuYyB8IDEwNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst CiAxIGZpbGUgY2hhbmdlZCwgMTAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfY2hhcmRldi5jIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX2NoYXJkZXYuYwppbmRleCA2Mjg4MDg0Li5mYTNmM2Q2 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGtmZC9rZmRfY2hhcmRldi5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9jaGFyZGV2LmMKQEAgLTUyOCw3ICs1 MjgsMTA5IEBAIHN0YXRpYyBpbnQga2ZkX2lvY3RsX2RiZ191bnJnZXNpdGVyKHN0cnVjdCBmaWxl ICpmaWxlcCwKIHN0YXRpYyBpbnQga2ZkX2lvY3RsX2RiZ19hZGRyZXNzX3dhdGNoKHN0cnVjdCBm aWxlICpmaWxlcCwKIAkJCQkJc3RydWN0IGtmZF9wcm9jZXNzICpwLCB2b2lkICpkYXRhKQogewot CWxvbmcgc3RhdHVzID0gLUVGQVVMVDsKKwlzdHJ1Y3Qga2ZkX2lvY3RsX2RiZ19hZGRyZXNzX3dh dGNoX2FyZ3MgKmFyZ3MgPSBkYXRhOworCXN0cnVjdCBrZmRfZGV2ICpkZXY7CisJc3RydWN0IGRi Z19hZGRyZXNzX3dhdGNoX2luZm8gYXdfaW5mbzsKKwl1bnNpZ25lZCBjaGFyICphcmdzX2J1ZmY7 CisJdW5zaWduZWQgaW50IGFyZ3NfaWR4ID0gMDsKKwl1aW50NjRfdCB3YXRjaF9tYXNrX3ZhbHVl ID0gMDsKKwlsb25nIHN0YXR1czsKKworCW1lbXNldCgodm9pZCAqKSAmYXdfaW5mbywgMCwgc2l6 ZW9mKHN0cnVjdCBkYmdfYWRkcmVzc193YXRjaF9pbmZvKSk7CisKKwlkZXYgPSBrZmRfZGV2aWNl X2J5X2lkKGFyZ3MtPmdwdV9pZCk7CisJaWYgKGRldiA9PSBOVUxMKQorCQlyZXR1cm4gLUVJTlZB TDsKKworCWlmIChkZXYtPmRldmljZV9pbmZvLT5hc2ljX2ZhbWlseSA9PSBDSElQX0NBUlJJWk8p IHsKKwkJcHJfZGVidWcoImtmZF9pb2N0bF9kYmdfd2F2ZV9jb250cm9sIG5vdCBzdXBwb3J0ZWQg b24gQ1pcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlpZiAoYXJncy0+YnVmX3NpemVf aW5fYnl0ZXMgPiBNQVhfQUxMT1dFRF9BV19CVUZGX1NJWkUpCisJCXJldHVybiAtRUlOVkFMOwor CisJaWYgKGFyZ3MtPmJ1Zl9zaXplX2luX2J5dGVzIDw9IHNpemVvZigqYXJncykpCisJCXJldHVy biAtRUlOVkFMOworCisJLyogdGhpcyBpcyB0aGUgYWN0dWFsIGJ1ZmZlciB0byB3b3JrIHdpdGgg Ki8KKworCWFyZ3NfYnVmZiA9IGt6YWxsb2MoYXJncy0+YnVmX3NpemVfaW5fYnl0ZXMgLQorCQkJ CQlzaXplb2YoKmFyZ3MpLCBHRlBfS0VSTkVMKTsKKwlpZiAoYXJnc19idWZmID09IE5VTEwpCisJ CXJldHVybiAtRU5PTUVNOworCisJaWYgKGFyZ3MtPmNvbnRlbnRfcHRyID09IE5VTEwpIHsKKwkJ a2ZyZWUoYXJnc19idWZmKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJc3RhdHVzID0gY29w eV9mcm9tX3VzZXIoYXJnc19idWZmLAorCQkJCSh2b2lkIF9fdXNlciAqKSBhcmdzLT5jb250ZW50 X3B0ciwKKwkJCQlhcmdzLT5idWZfc2l6ZV9pbl9ieXRlcyAtIHNpemVvZigqYXJncykpOworCisJ aWYgKHN0YXR1cyAhPSAwKSB7CisJCXByX2RlYnVnKCJGYWlsZWQgdG8gY29weSBhZGRyZXNzIHdh dGNoIHVzZXIgZGF0YVxuIik7CisJCWtmcmVlKGFyZ3NfYnVmZik7CisJCXJldHVybiAtRUlOVkFM OworCX0KKworCWF3X2luZm8ucHJvY2VzcyA9IHA7CisKKwlhd19pbmZvLm51bV93YXRjaF9wb2lu dHMgPSAqKCh1aW50MzJfdCAqKSgmYXJnc19idWZmW2FyZ3NfaWR4XSkpOworCWFyZ3NfaWR4ICs9 IHNpemVvZihhd19pbmZvLm51bV93YXRjaF9wb2ludHMpOworCisJYXdfaW5mby53YXRjaF9tb2Rl ID0gKGVudW0gSFNBX0RCR19XQVRDSF9NT0RFICopICZhcmdzX2J1ZmZbYXJnc19pZHhdOworCWFy Z3NfaWR4ICs9IHNpemVvZihlbnVtIEhTQV9EQkdfV0FUQ0hfTU9ERSkgKiBhd19pbmZvLm51bV93 YXRjaF9wb2ludHM7CisKKwkvKgorCSAqIHNldCB3YXRjaCBhZGRyZXNzIGJhc2UgcG9pbnRlciB0 byBwb2ludCBvbiB0aGUgYXJyYXkgYmFzZQorCSAqIHdpdGhpbiBhcmdzX2J1ZmYKKwkgKi8KKwlh d19pbmZvLndhdGNoX2FkZHJlc3MgPSAodWludDY0X3QgKikgJmFyZ3NfYnVmZlthcmdzX2lkeF07 CisKKwkvKiBza2lwIG92ZXIgdGhlIGFkZHJlc3NlcyBidWZmZXIgKi8KKwlhcmdzX2lkeCArPSBz aXplb2YoYXdfaW5mby53YXRjaF9hZGRyZXNzKSAqIGF3X2luZm8ubnVtX3dhdGNoX3BvaW50czsK KworCWlmIChhcmdzX2lkeCA+PSBhcmdzLT5idWZfc2l6ZV9pbl9ieXRlcykgeworCQlrZnJlZShh cmdzX2J1ZmYpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwl3YXRjaF9tYXNrX3ZhbHVlID0g KHVpbnQ2NF90KSBhcmdzX2J1ZmZbYXJnc19pZHhdOworCisJaWYgKHdhdGNoX21hc2tfdmFsdWUg PiAwKSB7CisJCS8qCisJCSAqIFRoZXJlIGlzIGFuIGFycmF5IG9mIG1hc2tzLgorCQkgKiBzZXQg d2F0Y2ggbWFzayBiYXNlIHBvaW50ZXIgdG8gcG9pbnQgb24gdGhlIGFycmF5IGJhc2UKKwkJICog d2l0aGluIGFyZ3NfYnVmZgorCQkgKi8KKwkJYXdfaW5mby53YXRjaF9tYXNrID0gKHVpbnQ2NF90 ICopICZhcmdzX2J1ZmZbYXJnc19pZHhdOworCisJCS8qIHNraXAgb3ZlciB0aGUgbWFza3MgYnVm ZmVyICovCisJCWFyZ3NfaWR4ICs9IHNpemVvZihhd19pbmZvLndhdGNoX21hc2spICoKKwkJCQlh d19pbmZvLm51bV93YXRjaF9wb2ludHM7CisJfSBlbHNlIHsKKwkJLyoganVzdCB0aGUgTlVMTCBt YXNrLCBzZXQgdG8gTlVMTCBhbmQgc2tpcCBvdmVyIGl0ICovCisJCWF3X2luZm8ud2F0Y2hfbWFz ayA9IE5VTEw7CisJCWFyZ3NfaWR4ICs9IHNpemVvZihhd19pbmZvLndhdGNoX21hc2spOworCX0K KworCWlmIChhcmdzX2lkeCA+IGFyZ3MtPmJ1Zl9zaXplX2luX2J5dGVzKSB7CisJCWtmcmVlKGFy Z3NfYnVmZik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qIEN1cnJlbnRseSBIU0EgRXZl bnQgaXMgbm90IHN1cHBvcnRlZCBmb3IgREJHICovCisJYXdfaW5mby53YXRjaF9ldmVudCA9IE5V TEw7CisKKwltdXRleF9sb2NrKGdldF9kYmdtZ3JfbXV0ZXgoKSk7CisKKwlzdGF0dXMgPSBrZmRf ZGJnbWdyX2FkZHJlc3Nfd2F0Y2goZGV2LT5kYmdtZ3IsICZhd19pbmZvKTsKKworCW11dGV4X3Vu bG9jayhnZXRfZGJnbWdyX211dGV4KCkpOworCisJa2ZyZWUoYXJnc19idWZmKTsKIAogCXJldHVy biBzdGF0dXM7CiB9Ci0tIAoyLjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWwK